من یک IVR دارم که به یک صف bind شده و داخل صف هم تعدادی Extension برای پاسخگویی وجود داره
کاری که من میخام انجام بدم اینه که وقتی که یک مشتری تماس میگیره و قبل از برقراری تماس نام پشتیبانی که وصل شده گفته بشه.
کاری که امتحان کردم این بود که
- فایل etc/asterisk/queues_additional.conf/ را باز کرده و تمامی تنظیمات مربوط به صف خود را در فایل etc/asterisk/queues_custom.conf کپی کنید با این کار شما می توانید تنظیمات دلخواه خود را بر روی صف اعمال کنید.
- سپس در فایل etc/asterisk/queues_custom.conf/ مقدار setinterfacevar را برابر با yes قرار دهید با این کار قبل از تماس با اپراتور متغیر های زیر تعریف خواهند شد.
- سپس فایل etc/asterisk/extensions_additional.conf/ را باز کنید و context مربوط به صف خود را پیدا کرده و آن را در فایل etc/asterisk/extensions_override_elastix.conf/ کپی کنید و تغییرات زیر را که با قلم تو پر نوشته شده را اضافه کنید.
قسمت قرمز رنگ کد پایین رو تغییر دادم. و مقدار[COLOR=#FF0000]say-opt-no رو بهش اضافه کردم.
[/COLOR]و در قسمت پایین ماکرو [macro-say-opt-no] رو اضافه کردم.
ولی هیچ عددی گفته نمیشه !! البته این فقط برای تست بود که همین تست هم جواب نداد متاسفانه ..
آموزشی در این زمینه وجود نداره ؟
[LEFT][CODE][ext-queues]
include => ext-queues-custom
exten => 123,1,Macro(user-callerid,)
exten => 123,n,Answer
exten => 123,n,Macro(blkvm-set,reset)
exten => 123,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)))
exten => 123,n,Set(__NODEST=${EXTEN})
exten => 123,n,Set(QCIDPP=${IF($[${LEN(${VQ_CIDPP})}>0]?${VQ_CIDPP}: )})
exten => 123,n,Set(VQ_CIDPP=)
exten => 123,n,ExecIf($["${QCIDPP}"!=""]?Macro(prepend-cid,${QCIDPP}))
exten => 123,n,Set(QAINFO=${IF($[${LEN(${VQ_AINFO})}>0]?${VQ_AINFO}: )})
exten => 123,n,Set(VQ_AINFO=)
exten => 123,n,ExecIf($["${QAINFO}"!=""]?Set(__ALERT_INFO=${QAINFO}))
exten => 123,n,Set(QJOINMSG=${IF($[${LEN(${VQ_JOINMSG})}>0]?${IF($["${VQ_JOINMSG}"!="0"]?${VQ_JOINMSG}: )}: )})
exten => 123,n,Set(VQ_JOINMSG=)
exten => 123,n,Set(QMOH=${IF($["${VQ_MOH}"!=""]?${VQ_MOH}: )})
exten => 123,n,Set(VQ_MOH=)
exten => 123,n,ExecIf($["${QMOH}"!=""]?Set(__MOHCLASS=${QMOH}))
exten => 123,n,ExecIf($["${MOHCLASS}"!=""]?Set(CHANNEL(musicclass)=${MOHCLASS}))
exten => 123,n,Set(QRETRY=${IF($[${LEN(${VQ_RETRY})}>0]?${VQ_RETRY}: )})
exten => 123,n,Set(VQ_RETRY=)
exten => 123,n(qoptions),Set(QOPTIONS=${IF($[${LEN(${VQ_OPTIONS})}>0]?${VQ_OPTIONS}:t)}${QCANCELMISSED}${QRINGOPTS}${QRETRY})
exten => 123,n,Set(VQ_OPTIONS=)
exten => 123,n(qgosub),Set(QGOSUB=${IF($[${LEN(${VQ_GOSUB})}>0]?${VQ_GOSUB}:${QGOSUB})})
exten => 123,n,Set(VQ_GOSUB=)
exten => 123,n(qagi),Set(QAGI=${IF($[${LEN(${VQ_AGI})}>0]?${VQ_AGI}:${QAGI})})
exten => 123,n,Set(VQ_AGI=)
exten => 123,n(qrule),Set(QRULE=${IF($[${LEN(${VQ_RULE})}>0]?${IF($["${VQ_RULE}"!="0"]?${VQ_RULE}: )}:${QRULE})})
exten => 123,n,Set(VQ_RULE=)
exten => 123,n(qposition),Set(QPOSITION=${IF($[${LEN(${VQ_POSITION})}>0]?${VQ_POSITION}:${QPOSITION})})
exten => 123,n,Set(VQ_POSITION=)
exten => 123,n,Gosub(sub-record-check,s,1(q,123,dontcare))
exten => 123,n,ExecIf($["${QJOINMSG}"!=""]?Playback(${QJOINMSG}, ))
exten => 123,n,QueueLog(123,${UNIQUEID},NONE,DID,${FROM_DID})
exten => 123,n,Set(QAANNOUNCE=${IF($[${LEN(${VQ_AANNOUNCE})}>0]?${IF($["${VQ_AANNOUNCE}"!="0"]?${VQ_AANNOUNCE}: )}: )})
exten => 123,n,Set(VQ_AANNOUNCE=)
exten => 123,n,Set(QMAXWAIT=${IF($[${LEN(${VQ_MAXWAIT})}>0]?${VQ_MAXWAIT}: )})
exten => 123,n,Set(VQ_MAXWAIT=)
exten => 123,n,Set(QUEUENUM=123)
exten => 123,n,Set(QUEUEJOINTIME=${EPOCH})
[COLOR=#ff0000] exten => 123,n(qcall),Queue(123,${QOPTIONS},,${QAANNOUNCE},${QMAXWAIT},${QAGI},say-opt-no,${QGOSUB},${QRULE},${QPOSITION})
[/COLOR]exten => 123,n,Macro(blkvm-clr,)
exten => 123,n,Gosub(sub-record-cancel,s,1())
exten => 123,n,Set(__NODEST=)
exten => 123,n,Set(_QUEUE_PRIO=0)
exten => 123,n,Set(QDEST=${VQ_DEST})
exten => 123,n,Set(VQ_DEST=)
exten => 123,n(gotodest),GotoIf($["${QDEST}"=""]?:${CUT(QDEST,^,1)},${CUT(QDEST,^,2)},${CUT(QDEST,^,3)})
[macro-say-opt-no]
exten => s,1,SayDigits(123)[/CODE][/LEFT]