به جرأت میشه گفت FreePBX رابج ترین ابزار در برنامه نویسی dialplan ها در asterisk است که چه در نصب سیستم تلفنی asterisk از پایه در لینوکس و چه در سیستم هایی تلفنی آماده به نصب که برپایه استریسک هستند از جمله AstreiskNow ،elastix ، TrixBox یا ... معمولا برای تنظیم dialplan ها استفاده میشه . اگرچه تنظیم dialplan ها با استفاده از این ابزار و ماژول های اضافی ساده تر از تنظیم آنها به صورت دستی است ولی گاهی برای تنظیم dialplan های خاص نیاز میشه تا به تنظیم دستی در کنار تنظیم از طریق FreePBX اقدام کرد ولی آیا این کار به سادگی امکان پذیر است ؟
ابتدا بد نیست در مورد dialplan ها در Asterisk یاد آوری کنم که
هر dialplan در asterisk از چهار بخش تشکیل شده است .Context ، Extension ، Priority و application
برای مثال :
در این مثال وقتی با Extension شماره 66 تماس می گیریم ، فایل persiannetworks شروع به پخش شدن میکند . علاوه بر این asterisk همچنین قابلیت به کار گیری یک یا چندین context را به صورت تو در تو با استفاده از دستور include را نیز دارا است .
اینجا persianadmins نام یک context دیگس که خودش می تونه شامل dialplan های متفاوت یا حتی include های دیگر باشه .
FreePBX از این دستور include برای تمیز و ساده نگه داشتن dialplan هایی که تولید می کنه استفاده می کنه .
Context ای که FreePBX برای مسیردهی تماس ها )Call routing ) استفاده می کنه from-internal است . اگر به این Context ( که حتما می دونید در فایل extension.conf است ( توجه کنید می بینید که شبیه یک context خالی است که فقط دو تا context دیگر را شامل شده .
include => from-intrenal-xfer
اگر به from-internal-xfer برید می بینید که شامل context های from-internal-additional، from-internal-custom هستش . from-internal-custom همیشه وجود داره و البته همیشه خالیه . بنابراین می توانید از آن برای نوشتن dialplan های خودتون استفاده کنید .
برای نوشتن dialplan های سنتی خودتون درFreePBX به سادگی یک context در etc/asterisk/extensions_custom.conf ایجاد کنید و dialplan مورد نظرتون را آنجا وارد کنید .
بنابراین برای اضافه کردن dialplan مثال ما میشه به راحتی در فایل extensions_custom.conf خطوط زیر را اضافه کرد.
include => persiannetworks
exten => 66,1,Playback(persiannetworks)
برای اعمال تغییرات dialplan را reload کنید ( asterisk –rx “dialplan reload” یا asterisk –rx “extension reload”)
omid mohajerani
موضوعات مشابه: