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

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

DialPlan چیست؟

asteriskdial

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

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

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

Context چیست؟

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

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

اجرای یک Dialplan

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

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

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

Extension چیست؟

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

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

Extension چیست؟

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

exten => extension_name, priority, application

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

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

مثال 1 Extension

مثال 1:

exten => 123,1,Answer()

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

...
  2021 Hits
2021 Hits

مثال 2 Extension

مثال2:

exten => 123,1,Answer()

exten => 123,2,Hangup()

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

...
  1976 Hits
1976 Hits

مثال 3 Extension

مثال3:

exten => 123,1,Answer()

exten => 123,2,App1()

exten => 123,3,App2()

exten => 123,4,App2()

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

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

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

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

متغییر کانال

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

مثال:

File: extension_custom.conf

include => variable-channel

[variable-channel]

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

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

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

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

کالر...

خواندن را ادامه دهيد
  1183 Hits
1183 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)

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

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

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