1. domino
  2. عمومی - ایزابل، الستیکس، فری پی بی اکس ...
  3. سه شنبه, 25 آبان 1395
با سلام
من یک 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]
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
[QUOTE=domino;27932]با سلام
من یک 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]
[/QUOTE]


باسلام
پیاده سازی این سناریو نیاز به agi نویسی بر رروی استریسک داره و کمی هم مهارت در حوزه برنامه نویسی ...این سناریو از مثال هایی هستش که در دوره توسعه استریسک آموزش داده خواهد شد...بهتون توصیه میکنم توی دوره توسعه شرکت بفرمایید:
[URL]https://www.voipiran.io/training/elastix-development[/URL]
نظر
هنوز هیچ نظری ارسال نشده است!
پاسخ پذیرفته شده Pending Moderation
0
رای
بازگشت
[QUOTE=domino;27932]با سلام
من یک 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]
[/QUOTE]

سلام بنده هم این روش رو چک کردم ولی پیغام برای اپراتور پخش میشه


[url]http://www.voipiran.io/%D8%A8%DB%8C%D8%A7%D9%86-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%88-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA/4040-%D8%A7%D8%B9%D9%84%D8%A7%D9%85-%D8%B5%D9%88%D8%AA%DB%8C-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%AF%D8%A7%D8%AE%D9%84%DB%8C-%D9%82%D8%A8%D9%84-%D8%A7%D8%B2-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%AF%D8%B1-%D8%B5%D9%81-%D8%A7%D9%86%D8%AA%D8%B8%D8%A7%D8%B1.html#post23736[/url]
نظر
هنوز هیچ نظری ارسال نشده است!
  • صفحه :
  • 1


هنوز به این موضوع پاسخی داده نشده است

دسته بندی ها

سیستم های تلفنی کدباز
  1. 107 پست
  2. 0 زیرمجموعه
سیسکو Cisco
  1. 61 پست
  2. 0 زیرمجموعه
سیستم تلفنی FreePBX
  1. 48 پست
  2. 0 زیرمجموعه
شبکه و زیرساخت
  1. 65 پست
  2. 0 زیرمجموعه
تازه واردین دنیای ویپ
  1. 927 پست
  2. 0 زیرمجموعه