parskomak 0 ارسال شده در ۲۶ فروردین ۱۳۹۸ گزارش اشتراک گذاری ارسال شده در ۲۶ فروردین ۱۳۹۸ IVR یاinteractive voice response یکی از قابلیت های پرکاربرد سیستم های تلفنی است که تاحالا حتما شما هم یک بار به اون برخوردید . منوهای صوتی که شرکت های مختلف برای معرفی بخش های مختلف و ارتباط با اپراتور و ... استفاده می کنند . یا مرکز های اطلاع رسانی تلفنی که به صورت خودکار پیام های خاص منظوره را پخش می کنند . امکان برقراری ارتباط با پایگاه داده ها قابلیت های مفیدی را در اختیار کاربر قرار می دهد که مراکز چک کردن حساب های بانکی به صورت تلفنی یا مراکز مشاوره ای و... نمونه ای از این نوع سیستم ها هستند . اگرچه مکانیزم ها و راه حال های مختلفی برای راه اندازی این نوع منوهای صوتی داریم ولی مطمئنا Asterisk یکی از پرقدرت مند ترین آنهاست . شاید امکان برقراری با پایگاه داده های مختلف از جمله MYSQL ، Oracle ، MSSQL و ... امکان بهره گیری از واسط های مختلف ارتباطی با خطوط PSTN ، GSM و ... و عدم وابستگی به برند خاص امکان پیاده سازی High Redundancy در راه حل های حرفه ای و در نتیجه قابلیت اطمینان بالا امکان بهره گیری از امکانات یک IP PBX و Call Center در کنار قابلیت IVR پشتیبانی از فرمت های مختلف صوتی را بتوان مهمترین علت های برشمردن Asterisk در زمره پرقدرترین های ارائه دهنده سرویس IVR دانست . در این پست با نحوه تعریف یک IVR نسبتا حرفه ای دز سیستم تلفنی Asterisk آشنا میشیم. [AutomaticAttendantDemo] exten => _X.,1,Answer exten => _X.,n,Wait(2) ; Perform a simple 2 seconds delay exten => _X.,n,Playback(welcome) exten => _X.,n,Set(Loop=0) exten => _X.,n,While($[${Loop} < 3]) exten => _X.,n,Background(menu) exten => _X.,n,WaitExten(5) ; Wait 5 seconds for user to enter input exten => _X.,n,Set(Loop=$[${Loop}+1]) exten => _X.,n(LoopEnd),EndWhile() exten => _X.,n,Hangup() ; No input from user, so hangup exten => 1,1,Playback(msg1) exten => 1,n,Dial(SIP/301,60,rg) exten => 1,n,Hangup() exten => 2,1,Playback(msg2) exten => 2,n,Dial(SIP/302,60,rg) exten => 2,n,Hangup() exten => 9,n,Hangup() exten => i,1,Set(Loop=$[${Loop}+1]) exten => i,n,Goto(LoopEnd) exten => t,1,Set(Loop=$[${Loop}+1]) exten => t,n,Goto(LoopEnd) بخش اصلی منوی صوتی ما با context ای به نام AutomaticAttendantDemo آغاز میشه که exten => _X.,1,Answer که شماره های دو شماره ای را پاسخ می دهد . exten => _X.,n,Wait(2) دو دقیقه منتظر منتظر می ماند تا اگر در ارتباطات ترانک تاخیری وجود دارد پخش پیام خوش آمد گویی با مشکل مواجه نشود و به صورت کامل پخش شود . exten => _X.,n,Playback(welcome) پیام خوش آمد گویی را پخش می کند . و با استفاده از ساختار While امکان پخش پیام منوی شرکت را در صورتی که کاربر بعد از شنیدن منو در مدت 5 ثانیه عددی را شماره گیری ننماید، برای 3 بار فراهم می کند . exten => _X.,n,Set(Loop=0) exten => _X.,n,While($[${Loop} < 3]) exten => _X.,n,Background(menu) exten => _X.,n,WaitExten(5) ; 5 ثانیه منتظر میماند تا کاربر شماره گیری نماید exten => _X.,n,Set(Loop=$[${Loop}+1]) exten => _X.,n(LoopEnd),EndWhile() و همچنین اگر کاربر در مدت زمان time out ( که با متغیر t مشخص می شود ) عددی را شماره گیری ننماید یا شماره ای نا معتبر ( i = invalid ) را شماره گیری نمیاد نیز سه بار به کاربر امکان انتخاب مجدد در بین منوی صوتی داده خواهد شد . exten => i,1,Set(Loop=$[${Loop}+1]) exten => i,n,Goto(LoopEnd) exten => t,1,Set(Loop=$[${Loop}+1]) exten => t,n,Goto(LoopEnd) در صورتی که کاربر عدد 1 را شماره گیری نماید به داخلی آی پی ( از نوع SIP ) به شماره 301 متصل شده و با شماره گیری عدد 2 به داخلی شماره 302 متصل می شود . exten => 1,1,Playback(msg1) exten => 1,n,Dial(SIP/301,60,rg) exten => 1,n,Hangup() exten => 2,1,Playback(msg2) exten => 2,n,Dial(SIP/302,60,rg) exten => 2,n,Hangup() نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .