بلاگ ویپ ایران

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

DialPlan چیست؟

asteriskdial

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

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

خواندن را ادامه دهيد
  2777 Hits
2777 Hits

Context چیست؟

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

خواندن را ادامه دهيد
  2349 Hits
2349 Hits

اجرای یک Dialplan

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

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

خواندن را ادامه دهيد
  2149 Hits
2149 Hits

Extension چیست؟

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

خواندن را ادامه دهيد
  2305 Hits
2305 Hits

Extension چیست؟

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

exten => extension_name, priority, application

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

خواندن را ادامه دهيد
  1814 Hits
1814 Hits

مثال 1 Extension

مثال 1:

exten => 123,1,Answer()

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

...
  1426 Hits
1426 Hits

مثال 2 Extension

مثال2:

exten => 123,1,Answer()

exten => 123,2,Hangup()

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

...
  1333 Hits
1333 Hits

مثال 3 Extension

مثال3:

exten => 123,1,Answer()

exten => 123,2,App1()

exten => 123,3,App2()

exten => 123,4,App2()

...
خواندن را ادامه دهيد
  1262 Hits
1262 Hits

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

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

خواندن را ادامه دهيد
  1191 Hits
1191 Hits

متغییر کانال

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

مثال:

File: extension_custom.conf

include => variable-channel

[variable-channel]

...
خواندن را ادامه دهيد
  594 Hits
594 Hits

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

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

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

کالر...

خواندن را ادامه دهيد
  601 Hits
601 Hits

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

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

${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)

...
خواندن را ادامه دهيد
  638 Hits
638 Hits

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

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