ویپ ایران

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

DialPlan چیست؟

asteriskdial

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

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

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

Context چیست؟

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

مثلا...

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

اجرای یک Dialplan

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

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

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

Extension چیست؟

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

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

Extension چیست؟

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

exten => extension_name, priority, application

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

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

مثال 1 Extension

مثال 1:

exten => 123,1,Answer()

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

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

مثال 2 Extension

مثال2:

exten => 123,1,Answer()

exten => 123,2,Hangup()

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

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

مثال 3 Extension

مثال3:

exten => 123,1,Answer()

exten => 123,2,App1()

exten => 123,3,App2()

exten => 123,4,App2()

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

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

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

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

متغییر کانال

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

مثال:

File: extension_custom.conf

include => variable-channel

[variable-channel]

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

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

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

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

کالر آی...

خواندن را ادامه دهيد.
  بازدیدها 217
  نظرات 0
بازدیدها 217
نظرات 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)

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

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

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