transfer queued calls to agents via VDAD_ALL_outbound
Posted: Wed May 30, 2012 10:06 am
Hi guys!
Forget my last support request, this one is much more urgent. I just had the head of the IT department and the CEO at my desk and I could really need your help...
I have to implement the following:
When a call is in queue and will be dropped (hung up) after 5 seconds, I need to play a message and retry to connect this call to an available agent. I am using extension "8307" to play a message. How can I let vicidial retry to connect that call to an agent? I tried executing "agi-VDAD_ALL_outbound.agi" again. But this does not seem to work. I would like to omit INGROUPs. If someone got a sketch on how to accomplish that, I would owe you big time!
Ok, after some thinking. I guess inbound groups are the way to go, since it is the "vicidial-way", right? So for every campaign every agent gets assigned to a specific in_group and all queued calls are connected to the ingroup. So I have to set the drop action to ingroup and it should work. But how can I play a message before that happens?
This is my experimental extension.conf, when drop action is set to "message":
I can hear "we apologize", but the agi-VDAD_ALL_outbound.agi doesn't seem to work as I hoped. Sooner or later the call is hung up, even if I log in another agent and set him to ready.
asteriskCLI:
Tomorrow I will try to accomplish the mentioned behavior using ingroups...
Cheers,
Marcus
Forget my last support request, this one is much more urgent. I just had the head of the IT department and the CEO at my desk and I could really need your help...
I have to implement the following:
When a call is in queue and will be dropped (hung up) after 5 seconds, I need to play a message and retry to connect this call to an available agent. I am using extension "8307" to play a message. How can I let vicidial retry to connect that call to an agent? I tried executing "agi-VDAD_ALL_outbound.agi" again. But this does not seem to work. I would like to omit INGROUPs. If someone got a sketch on how to accomplish that, I would owe you big time!
Ok, after some thinking. I guess inbound groups are the way to go, since it is the "vicidial-way", right? So for every campaign every agent gets assigned to a specific in_group and all queued calls are connected to the ingroup. So I have to set the drop action to ingroup and it should work. But how can I play a message before that happens?
This is my experimental extension.conf, when drop action is set to "message":
- Code: Select all
...
exten => 8307,1,Answer
exten => 8307,n,Playback(we-apologize)
exten => 8307,n,AGI(agi://127.0.0.1:4577/call_log)
exten => 8307,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
exten => 8307,n,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
exten => 8307,n,Hangup
...
I can hear "we apologize", but the agi-VDAD_ALL_outbound.agi doesn't seem to work as I hoped. Sooner or later the call is hung up, even if I log in another agent and set him to ready.
asteriskCLI:
- Code: Select all
[May 30 16:30:38] VERBOSE[18017] logger.c: [May 30 16:30:38] -- Executing [8307@default:1] Answer("SIP/berofix-00000039", "") in new stack
[May 30 16:30:38] VERBOSE[18017] logger.c: [May 30 16:30:38] -- Executing [8307@default:2] Playback("SIP/berofix-00000039", "we-apologize") in new stack
[May 30 16:30:39] VERBOSE[18017] logger.c: [May 30 16:30:39] -- Executing [8307@default:3] AGI("SIP/berofix-00000039", "agi://127.0.0.1:4577/call_log") in new stack
[May 30 16:30:39] VERBOSE[18017] logger.c: [May 30 16:30:39] -- Executing [8307@default:4] AGI("SIP/berofix-00000039", "agi-VDAD_ALL_outbound.agi|NORMAL-----LB") in new stack
[May 30 16:30:49] VERBOSE[18017] logger.c: [May 30 16:30:49] == Spawn extension (default, 8307, 4) exited non-zero on 'SIP/berofix-00000039'
Tomorrow I will try to accomplish the mentioned behavior using ingroups...
Cheers,
Marcus