یکی از دوستان خوبمان از IVR سیسکو و نحوه عملکردش سوال کرده اند و آن جا که تا امروز به همه سوالات پاسخ داده ایم چاره ای به جز پاسخ دادن به مطلب کسالت آور IVR نداریم.
شیرین ترین بخش IVR قسمت ضبط صدای آن است… که البته ترجیحا از شخص خوش صدایی جهت این کار دعوت میکنیم.
فایل های صوتی را به فرمت au ذخیره و درون TFTP يا Flash قرارمی دهیم
استفاده از TFTP دو مزیت دارد:
محدودیت حجم Flash را ندارد.
سرعت برخی Flash ها کند بوده و IVR را دچار مشکل میکند
مثال:
tftp://192.168.1.252/tclware/au/en/auth_failed.au
وقتی پروژه دهکده را شروع کردم (اولین کارت تلفن بین المللی در ایران) تنها چیزی که تمایلی به سروکله زدن با آن را نداشتم TCL بود. TCL ترتیب پخش صداهای مختلف را بصورت script تعیین میکند و به IOS میگوید. آن زمان ما از برنامه Billing دوست خوبم محمود سهرابی استفاده میکردیم و TCL ما TCL خود سیسکو بنام Cisco Debit Card TCL بود. که آنرا به همراه تنظیمات روتر دهکده در لینک زیر میتوانید بیابید:
http://www.shafagh.net/2009/02/sample-ivr-config.html
به کمک Cooledit فایلهای IVR را به یاری پرسنل دهکده ساختیم که میتوانید جهت نمونه فایل زیر را دریافت کنید:
http://www.shafagh.com/fa_welcome.au
البته بعدا این فایل حذف شد، چون به دلیل سرویس دهی به Reseller هایی که کارت خود را ارائه میکردند نام دهکده از ابتدای پیام خوش آمد گویی برداشته شد بجای آن قسمت اول موسیقی گروه KoRn بنام Falling away from me را انتخاب کردم که شروع قشنگی داشت و بجای انتخاب زبان و welcome قرار گرفت.
بعد از این که TCL را به Flash يا TFTP منتقل کردیم با دستور Call میتوان تعداد رقم Pin يا Password و محل فایل های زبان های مختلف را به روتر داده و Application را بسازیم. وقتی این تنظیمات انجام شد روی Dial-peer pots قرار میگیرد تا برای مشترکی که به آن خط وصل میشود پخش گردد.
call application voice callapp tftp://call//tftpboot/call.tcl
call application voice callapp uid-len 12
call application voice callapp pin-len 0
call application voice callapp warning-time 300
call application voice callapp language 1 fa
call application voice callapp language 2 en
call application voice callapp set-location fa 0 tftp://call//tftpboot/prompts/fa/
call application voice callapp set-location en 0 tftp://call//tftpboot/prompts/en/
!
dial-peer voice 1 pots
application callapp
port 1:1
سلام
من دستور tcl زیر را که برای پخش باقیمانده ی اعتبار کاربر است را پیدا کردم
# Get the destination number
set amt [getVariable radius creditAmount]
set param(interrupt) true
set param(abortKey) *
set param(dialPlan) true
set param(terminationKey) #
set ev [playPrompt param info en_you_have.au %a$amt %s1000 en_enter_dest.au]
if {$ev == “collect success”} {
set destination $info(digits)
set state second_authorize
return 0
}
if {$ev == “collect aborted”} {
set state get_dest
return 0
}
یک جیز را متوجه نمیشوم .دستور %a$amt ینی اینکه اگر اعتبار شخص 1000 تومان باشد به صورت اتوماتیک کلمه ی 1000 پخش میشود ؟ و اگر پخش میشود به جه زبانی؟
اگه بخواهیم به فارسی پخش شود جه؟
با توجه به پسوند en_ در مقابل فایل های au. زبان انگلیسی پخش خواهد شد مگر آنکه بجای تغییر script تمام فایل های en را تغییر دهید و به فارسی ذخیره کنید.
من دستور %a$amt را متوجه نميشوم
فايل en_you_have.au فايليست كه اؤ قبل كلمه ي”مقدار اعتبار شما ” ركورد شده است
amt متغيري است كه حاوي باقي مانده اعتباري ست كه اؤ accounting حاصل شده
ولي چطونه اين مقدار پخش ميشد
أيا amt يك فايل صوتي است؟
خیر یک dynamic prompt است که به مجموعه ای از فایلهای ضبط شده numbers اشاره میکند. به راهنمای زیر مراجعه کنید:
TCL IVR API Version 1.0 Programmer’s Guide
برای اینکه فایل های صوتی number ایجاد کنیم آیا باید به طور مثال یک فایل به اسم 1000 با فرمت au ایجادکنیم تا وقتی حساب کاربر 1000 باشد فایل صوتی 1000 پخش بشود
درست گفتم؟
بله
سلام….راستش من تازه voice شروع کردم ، وارد نیستم . سرور با cucm 8.5 دارم.چطوری باید ivr روش راه اندازی کنم که شماره 4 رقمی E1 رو هر کسی از بیرون میگیره بعد از یک صدای ضبط شده به منشی وصل بشه یا داخلی مورد نظر …