ویپ ایران

به بلاگ ویپ ایران خوش آمدید.

DialPlan چیست؟

asteriskdial

وارد قلب استریسک می شویم، یکی از جذاب ترین قسمت های استریسک جایی که جریان تماس ساخته می شود، هر تماسی که بر قرار می شود و به هر قسمتی که می خواهد برود باید در DialPlan دارای مسیر تعیین شده باشد. DialPlan ساختاری گام به گام دارد که در ادامه با آن آشنا خواهیم شد.

یادگیری ساختار DialPlan برای شما که می خواهید الستیکس...

خواندن را ادامه دهيد.
  بازدیدها 1928
  نظرات 0
بازدیدها 1928
نظرات 0

Context چیست؟

فایل extension.conf به بخش هایی به نام context تقسیم بندی می شود و در دل این contextها است که کدهای DialPlan ما نوشته می شود. مهمترین خصوصیت contextها این است که کامل ایزوله هستند و به همدیگر دسترسی ندارند مگر آنکه خودمان لینک ارتباطی را بین آنها برقرار کنیم، برای درک بهتر context می توانیم بگوییم که آنها برای گروه بندی ساخته می شوند.

مثلا...

خواندن را ادامه دهيد.
  بازدیدها 1519
  نظرات 0
بازدیدها 1519
نظرات 0

اجرای یک Dialplan

وقتی بر روی Elastix می خواهید Dialplan نویسی کنید باید یکسری نکات را بدانیم، ما در این بخش یاد خواهیم گرفت که کجا وچگونه Dialplan نویسی کنیم.

همانطور که در بخش های قبلی عرض کردم برنامه Freepbx اجازه اعمال تغییر در فایل extension.conf را نمی دهد، اما برای نوشتن Dialplan یک فایل دیگری برای دیگران در نظر گرفته به نام extension_custom.conf که از این به...

خواندن را ادامه دهيد.
  بازدیدها 1541
  نظر 1
بازدیدها 1541
نظر 1

Extension چیست؟

Dialplan خط به خط اجرا می شود و در هر خط یک کاری انجام می پذیرد، به هر یک یا چند خط از Dialplan که دارای نام یکسان هستند extension گفته می شود، یک context می تواند شامل یک یا چند extension باشد. همانطور که می بینید مفهوم extension در asterisk بسیار جامع تر از آن چیزی است که قبلا در منوی PBX Configuration دیده...

خواندن را ادامه دهيد.
  بازدیدها 1670
  نظرات 0
بازدیدها 1670
نظرات 0

Extension چیست؟

چگونه یک Extension بنویسیم، در ابتدا با ساختار نوشتن آن آشنا می شویم.

exten => extension_name, priority, application

خوب در ابتدای خط exten => را می بینیم که همیشه به همین شکل تکرار می شود ! خوب پس یعنی خیلی نکته مهمی در خصوص این بخش نداریم البته در قسمت های بعمی میبینیم می توانید همین را هم یکم خلاصه تر کنیم،  اما می رسیم به...

خواندن را ادامه دهيد.
  بازدیدها 1355
  نظرات 0
بازدیدها 1355
نظرات 0

مثال 1 Extension

مثال 1:

exten => 123,1,Answer()

ساده ترین مثال، در اینجا یک Extension یک خطی داریم و همانطور که می بینید شماره آن یا بهتر است بگویم نام آن 123 است، همانطور که قبلا گفتم priority نیز با عدد 1 شروع می شود که البته اینجا یک خط بیشتر نداریم، همچنین Application به کار رفته Answer() نام دارد که وظیفه پاسخگویی به کانال را دارد.

...
  بازدیدها 1134
  نظرات 0
بازدیدها 1134
نظرات 0

مثال 2 Extension

مثال2:

exten => 123,1,Answer()

exten => 123,2,Hangup()

در اینجا یک Extension 2 خطی داریم، همانطور که می بینید priority خط دوم تبدیل به عدد 2 شد و همچنین نام Extension در خط بعدی نیز تکرار شده است.

...
  بازدیدها 1071
  نظرات 0
بازدیدها 1071
نظرات 0

مثال 3 Extension

مثال3:

exten => 123,1,Answer()

exten => 123,2,App1()

exten => 123,3,App2()

exten => 123,4,App2()

...
خواندن را ادامه دهيد.
  بازدیدها 930
  نظرات 0
بازدیدها 930
نظرات 0

متغییر سراسری

این نوع متغییر ها یکجا تعریف و مقدار دهی می شوند و در هر کجا از Dialplan قابل دسترس هستند، می توان از آنها به عنوان یک متغییر اشتراکی و قابل دسترس در تمامی نقاط Dialplan استفاده نمود، این متغییر ها در 2 جا ممکن است تعریف شوند اول در فایل globals_custom.conf که برای تعریف همین متغییر ها ساخته شده و یا در فایل Dialplan...

خواندن را ادامه دهيد.
  بازدیدها 901
  نظرات 0
بازدیدها 901
نظرات 0

متغییر کانال

این متغییر ها در بین کد های ما تعریف می شوند و فقط در همان Contexی که تعریف شده اند قابل دسترس و استفاده هستند پس امنیت پایداری بالاتری نسبت به global دارند ولی دسترسی به آنها محدود تر است، برای تعریف آنها از دستور Set() استفاده می شود.

مثال:

File: extension_custom.conf

include => variable-channel

[variable-channel]

...
خواندن را ادامه دهيد.
  بازدیدها 367
  نظرات 0
بازدیدها 367
نظرات 0

متغییر سیستمی

این نوع متغییر ها به طور پیش فرض تعریف شده اند و وقتی شما یک کانال را در اختیار می گیرید برخی از این متغییر ها دارای مقدار و برخی دیگر خالی هستند، مقادیر برخی از این متغییر ها توسط شما نیز قابل تغییر است. برخی از مهمترین این متغییر ها عبارت اند از:

    ${CALLERID(all)}: The current Caller ID name and  number .

کالر آی...

خواندن را ادامه دهيد.
  بازدیدها 348
  نظرات 0
بازدیدها 348
نظرات 0

متغییر های سیستمی پرکاربرد

برخی از متغییر های سیستمی پر کاربرد:

${CDR(accountcode)} * - Account code (if specified)

${BLINDTRANSFER} - The name of the channel on the other side of a blind transfer

${BRIDGEPEER} - Bridged peer

${BRIDGEPVTCALLID} - Bridged peer PVT call ID (SIP Call ID if a SIP call)${CALLERID(ani)} * - Caller ANI (PRI channels)

...
خواندن را ادامه دهيد.
  بازدیدها 347
  نظرات 0
بازدیدها 347
نظرات 0

محبوب ترین مقالات

10 قابلیتی که در مورد استریسک نمی دانید.استریسک (Asterisk) یک موتور تلفنی بسیار قدرتمند و بی رقیب اس...
وارد قلب استریسک می شویم، یکی از جذاب ترین قسمت های استریسک جایی که جریان تماس ساخته می شود، هر تماس...
Dialplan خط به خط اجرا می شود و در هر خط یک کاری انجام می پذیرد، به هر یک یا چند خط از Dialplan که د...
همانطور که می دانید لاگ فایل استریسک در مسیر /var/log/asterisk و به نام full قرار دارد، به ظور پیش ف...
وقتی بر روی Elastix می خواهید Dialplan نویسی کنید باید یکسری نکات را بدانیم، ما در این بخش یاد خواهی...
فایل extension.conf به بخش هایی به نام context تقسیم بندی می شود و در دل این contextها است که کدهای ...
استریسک سیستم پیچیده و بزرگی است، هر زیر قسمت از این سیستم بزرگ با برخی فایل ها سرو کار دارد، این فا...

آخرین خبرها

خبرنامه

در لیست کاربران ما ثبت نام نمایید تا از آخرین اخبار دانشنامه و دوره های آموزشی با خبر باشید.