دانشنامه ویپ ایران

بزرگترین دانشنامه ویپ فارسی زبان

Arrow
Arrow
Slider
5 minutes reading time (1036 words)

برنامه Dial

ارتباط کانال جاری به یک یا چند کانال دیگر

Dial(technology/resource,timeout,options,URL)

Dial(technology1/resource1[&tech2/resource2[&...]],timeout,options,URL)

به نظر من این دستور و دستور بعدی (original) را چندین بار بخوانید. این 2 از دستورات مهم Dialplan می باشد که با آنها کار های جالب و بسیار پر کاربردی می توانید انجام بدهید. دستور Dial برای اتصال کانال جاری به یک یا چند کانال دیگر استفاده می شود مثلا وقتی می خواهید تماس جاری را به یک داخلی دیگر، برنامه دیگر و یا هر بخش دیگری متصل نمایید. دستور Dial هر نوع کانالی را قبول می کند کانال هایی همانند SIP, IAX2, H323, MGCP, DAHDI, ZAP, LOCAL

پارامتر ها:

Technology نوع کانال شما ست و resource نام کانال شما، timeout مدت زمانی که Asterisk از زمان سعی برای برقراری تماس در نظر می گیرد و اگر در این بازه زمانی تماس برقرار نشود برنامه را متوقف خواهد کرد، options یکسری امکانات که Asterisk برای تماس در اختیار شما قرار می دهد که در ادامه با برخی از آنها آشنا خواهیم شد. URL رو هم توضیح نمی دم ! چون بسیار به ندرت مورد استفاده قرار می گیرد فقط بدانید می توانید یک URL را به Endpoint ارسال نمایید، برخی Endpoint ها این امکان را دارند که ار این URL ها استفاده کنند.

$1v     مثال1:

انتقال تماس جاری  به داخلی 101 از نوع SIP

[dial-test1]

exten => 123,1,Dial(SIP/101)

$1v     مثال2:

انتقال تماس جاری به داخلی 201 از نوع IAX

[dial-test2]

exten => 123,1,Dial(IAX2/201)

$1v     مثال3:

انتقال تماس جاری به کارت شهری و گرفتن شماره 9912210

[dial-test3]

exten => 123,1,Dial(DAHDI/g0/9912210)

$1v     مثال4:

انتقال تماس جاری به پورت یک کارت ، این مورد در حالتی استفاده می شود که کارت شما دارای پورت های FXS باشد.

[dial-test4]

exten => 123,1,Dial(DAHDI/1)

 نکته: لازم بذکرست با استفاده از علامت & می توانید همزمان با مقاصد مختلف تماس حاصل کنید. در مثال زیر با شماره گیری 100 تمامی Destination به طور همزمان وبا استراتژی ringallشروع به زنگ خوردن می کنند، در این حالت تماس ورودی با اولین مقصدی  channel را answer کرده است bridgeمی شود وفورا زنگ خوردن بقیه داخلی ها متوقف می گردد.

$1v     مثال5:

[dial-test5]

exten => 100,1,Dial(DAHDI/1&SIP/4004$DAHDI/g0/97677777)

اما استفاده از پارامتر شوم یعنی Dial Option می تواند کار با این دستور را جذاب تر نماید در ادامه به بررسی برخی Option های پر کاربرد اشاره می کنیم.

        m[class] با استفاده از این پارامتر تماس گیرنده از ابتدای شماره گیری به جای شنیدن صدای بوق، music on hold  را می شنود. شما می توانید با تعریف کلاس در musiconhold.conf نوع موزیکی که پخش می شود را نیز تعیین نمایید اما اگر نام کلاسی را جلوی m ننویسید از کلاس پیش فرض Elastix برای پخش موزیک استفاده  می کند.

[dial-test5]

exten => 201,1,Dial(SIP/201,10,m)

same => n,Playback(vm-nobodyavail)

same => n,Hangup()

      L(x[:y][:z])   برای محدود کردن مدت زمان مکالمه تماس گیرنده از این پارامتر استفاده می شود.

 X مدت زمان مجاز برای مکالمه است و بعد از گذشت این مدت زمان تماس قطع می گردد. واحد آن برحسب میلی ثانیه، Y مدت زمان باقی مانده به پایان مکالمه است که به منظور اعلام هشدار قطع از آن استفاده می گردد. واحد آن نیز برحسب میلی ثانیه است و Z نیز پیغام هشدار قطع هر Z میلی ثانیه قبل از قطع نماس تکرار می شود .

[dial-test6]

exten => 123,1,Answer

exten => 123,n,Dial(sip/201,30,L(30000[:10000][:4000]))

exten => 123,n,Hangup

اما جالب تر اینجاست بدانید امکانات پارامتر L فقط همین نیست ! با یکسری متغییر ها می توانید در آن تغییرات ایجاد نمایید. نحوه قرار دادن مقادیر در متغییر را در بخش بعدی توضیح خواهم داد ولی به طور کلی بدانید با دستور set می توان یک متغییر را مقدار دهی کرد، اما در زیر بست متغییر هایی را می بینید که بر روی پارامتر L تاثیر می گزارند.

LIMIT_PLAYAUDIO_CALLER=yes|no

آیا کسی که دریافت کننده تماس است (Calling Party) پیام اخطار را بشنود یا خیر.

LIMIT_PLAYAUDIO_CALLEE=yes|no

آیا کسی که تماس گیرنده است (called party) پیام اخطار را بشنود یا خیر.

LIMIT_TIMEOUT_FILE=filename

نام فایل پیامی که پس از اتمام مدت زمان مکالمه باید پخش گردد.

LIMIT_CONNECT_FILE=filename

نام فایل پیامی که هنگام برقراری مکالمه باید پخش گردد.

LIMIT_WARNING_FILE=filename

نام فایل پیامی که به عنوان اخطار باید پخش گردد، البته در صورتی که پارمتر y تعیین شده باشد.

      t  این امکان را به کسی که تماس را دریافت کرده  (Called Party) می دهد تا با زدن کلید # بتواند انتقال  (Blind Transfer) انجام دهد. وقتی شما # را در Dial options قرار می دهید Asterisk موظف می شود تا هنگام مکالمه منتظر در یافت # بماند و در صورت ارسال عکس العمل نشان دهد.

$1ü      T این امکان را به کسی که تماس را برقرار کرده  (Calling Party) می دهد تا با زدن کلید # بتواند انتقال  (Blind Transfer) انجام دهد. وقتی شما # را در Dial options قرار می دهید Asterisk موظف می شود تا هنگام مکالمه منتظر در یافت # بماند و در صورت ارسال عکس العمل نشان دهد.

      h  این امکان را به کسی که تماس را دریافت کرده  (Called Party) می دهد تا با زدن کلید * بتواند تماس را قطع کند.

      H  این امکان را به کسی که تماس را برقرار کرده  (Calling Party) می دهد تا با زدن کلید * بتواند تماس را قطع کند.

     D([called][:calling])   با استفاده از این Option می توان پس از برقراری تماس یک DTMF  را به سمت دریافت کننده تماس (called party) و یا برقرار کننده تماس (calling party) ویا هر دو آنها ارسال نمود.

نکته: پس از انجام دستور Dial و با توجه به نتیجه آن در متغییر {DIALSTATUS}$  قرار خواهد گرفت نتیجه تماس می تواند یکی از موارد زیر باشد.

CHANUNAVAIL : Channel unavailable

کانال مقصد در دسترس نیست.

BUSY : Returned busy

کانال مقصد مشغول می باشد.

NOANSWER : No Answer (i.e SIP 480 or 604 response)

کانال مقصد پاسخگو نیست.

ANSWER : Call was answered

تماس پاسخ داده شده است.

CANCEL : Call attempt cancelled

انصراف از برقرار تماس، این برای وقتی است که در حال برقرار تماس، تماس گیرنده گوشی را بگذارد.

DONTCALL : Privacy manager don't call

ممکن است بر اساس دسترسی های تعریف شده تماس با مقصد امکان پذیر نباشد.

TORTURE : Privacy manager torture menu

CONGESTION : Means Congestion, or anything else (some other error setting up the call)

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

برنامه WaitExten
برنامه Originate
 

نظرات

نظري ارسال نشده است
Default Avatar
Already Registered? Login Here
مهمان
سه شنبه, 03 مهر 1397

تصویر امنیتی

/blog?task=captcha.generate&no_html=1&tmpl=component&id=161566

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

18 دی 1394
استریسک (Asterisk)
  در این مقاله قصد داریم از طریق قابلیت مجازی سازی بر روی روتربرد میکروتیک، اقدام به نصب استریسک نماییم اما در ابتدا به دو پرسش پاسخ دهیم.- میکروتیک چیست؟- استریسک چیست؟...
13 فروردين 1394
الستیکس (Elastix)
    راه اندازی یک سیستم تلفنی با محصولات کدباز یکی از پیچیده ترین کار هایی است که یک متخصص ممکن است انجام دهد، در بحث راه اندازی شما درگیر مفاهیمی از سخت افزار گرفته تا شبکه و نرم افزار...
11 اسفند 1388
الستیکس (Elastix)
الستیکس Elastix یک سیستم تلفنی مبتنی بر Asterisk است و به عنوان محبوب ترین سیستم استرسکی کدباز شناخته می شود.الستیکس چیست؟    سیستم تلفنی الستیکس در ابتدا کار خود را در مارچ 2006 با نوش...
12 شهریور 1396
ایزابل (Issabel)
الستیکس (Elastix)
شرکت شاتل یکی از شرکت های دارنده مجوز FCP است که اقدام به ارائه خطوط ویپ با نام ShatelTalk کرده است، همانطور که بیان شده این شماره های ویپ فقط بر روی نرم افزار شاتل یا همان ShatelTalk قابل استفاده است...