زمان لازم جهت مطالعه این مقاله: 2 دقیقه (398 words)

برنامه Read

گرفتن DTMF (عدد وارد شده) از تماس گیرنده و قرار دادن آن در یک متغییر

Read(variable[,filename[,maxDigits[,option[,attempts[,timeout]]]]])

گرفتن DTMF به صورت ترتیبی از تماس گیرنده و اتمام دریافت آن با کاراکتر # ، این Application کامل ترین راه برای دریافت یک عدد از تماس گیرنده است.

پارامترها:

همانطور که از ساختار و نحوه نوشتن این Application مشخص است دارای یک پامامتر اجباری است، variable نام متغییری است که مقدار خروجی که همان عدد دریافتی است در آن ریخته می شود. اما پارامتر های انتخابی بعدی عبارت اند از: filename محل قرار گیری نام فایلی که می خواهید برای تماس گیرنده پخش شود، تماس گیرنده می تواند حین شنیدن این پیام نیز اعداد خود را وارد نماید توجه داشته باشید که نام فایل خود را بدون پسوند وارد نمایید. پارامتر بعدی maxDigits است که طول مجاز عدد دریافتی را مشخص می کند مثلا اگر در این پارامتر عدد 5 را قرار دهیم تماس گیرنده 5 عدد بیشتر نمی تواند وارد کند و پس از وارد کردن عدد پنجم ، Application در یافت عدد را خاتمه داده و Extension به خط بعدی می رود.

پارامتر بعدی option می باشد که می توان 2 کاراکتر s و n را قرار داد،  s برای اینکه اگر کانال به حالت inactive رفت این Application دیگر به گرفتن عدد ادامه ندهد و کاراکتر n به این معنا است که اگر کانال به حالت inactive رفت Read کار خود را ادامه دهد.

پارامتر بعدی به نام attemps است که نمایانگر تعداد دفعات تلاش برای گرفتن عدد است و البته به پارامتر بعدی یعنی timeout بستگی دارد، به طور مثال ما timeout را 20 ثانیه قرار میدهیم و attemts را عدد 2 و این به این معنا است که اگر تماس گیرنده در این 20 ثانیه عددی وارد نکرد Read 2 بار دیگر این عمل را تکرار کند.

$1v     نکته: اگر پارامتری را نمی خواهید پر کنید در حالی که پارامتر بعدی را نیاز دارید می بایست جای پارامتر خالی را حتما قرار دهید مثال زیر را ببینید.

exten => 123,1,Read(NUMBER,,,3,10)

مثال:

خواندن یک عدد از نماس گیرنده و بیان آن عدد

exten=>123,1,Read(Digits,enter-ext-of-person)

exten=>123,n,Playback(en/you-entered)

exten=>123,n,SayNumber(${Digits})

مثال:

خواندن حداکثر 4 عدد از ورودی در مدت 10 ثانیه و با امکان 3 بار تکرار در صورت دریافت نکردن عددی از کاربر.

; Read a 4 digit number, allowing up to 3 attempts, and say this number back to the caller:

exten => 123,1,Read(NUMBER,,4,3,10)

exten => 123,n,SayNumber(${NUMBER})

exten => 123,n,Hangup()

برنامه SayNumber
برنامه Background

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

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