QueueMetrics > Outbound and QueueMetrics

[Dialout panel] Agents can't make outbound calls

(1/2) > >>

sonffrey:
When agents makes outbound calls using dialout panel, it keeps calling their own extension, and when they pick up the call it ends. I don't know what might be the issue most probably my dial plan.

Trunk type: DAHDi trunk
Trunk Name:   g0

Below are the configurations:


--- Code: ---; extension 28: agent custom dial
exten => 28,1,Answer
exten => 28,n,NoOp( "QM: Agent Custom Dial. Dialing ${EXTTODIAL} on queue ${OUTQUEUE}  made by '${QM_LOGIN}'" )
exten => 28,n,Set(QDIALER_QUEUE=${OUTQUEUE})
exten => 28,n,Set(QDIALER_NUMBER=${EXTTODIAL})
exten => 28,n,Set(QDIALER_AGENT=Agent/${AGENTCODE})
exten => 28,n,Set(QDIALER_CHANNEL=SIP/g0/${QDIALER_NUMBER})
exten => 28,n,Set(QueueName=${QDIALER_QUEUE})
exten => 28,n,MixMonitor(Q-${QDIALER_QUEUE}-${UNIQUEID}.WAV,b,)
;exten => 28,n,Set(CALLERID(all)="1234567890" <1234567890>) ; Uncomment and change this if you need to set your own caller ID
exten => 28,n,Goto(qm-queuedial,s,1)
exten => 28,n,Hangup
--- End code ---


--- Code: ---;
; ================================================================
; The following dialplan is used in order to make oubound calls
; that are tracked through QueueMetrics.
; See http://forum.queuemetrics.com/index.php?board=12.0
; ================================================================


[queuedial]
; this piece of dialplan is just a calling hook into the [qm-queuedial] context that actually does the
; outbound dialing - replace as needed - just fill in the same variables.
;exten => _XXX.,1,Set(QDIALER_QUEUE=q-${EXTEN:0:3})
;exten => _XXX.,n,Set(QDIALER_NUMBER=${EXTEN:3})
;exten => _XXX.,n,Set(QDIALER_AGENT=Agent/${CALLERID(num)})
;exten => _XXX.,n,Set(QDIALER_CHANNEL=DAHDI/g0/${QDIALER_NUMBER})
;exten => _XXX.,n,Set(QueueName=${QDIALER_QUEUE})
;exten => _XXX.,n,MixMonitor(Q-${QDIALER_QUEUE}-${UNIQUEID}.WAV,b,)
;exten => _XXX.,n,Set(CALLERID(all)="1234567890" <1234567890>) ; Uncomment and change this if you need to set your own caller ID
;exten => _XXX.,n,Goto(qm-queuedial,s,1)
;exten => _XXX.,n,Set(QDIALER_CHANNEL=DAHDI/g0/${QDIALER_NUMBER})

exten => _XXX.,1,Set(QDIALER_QUEUE=300)
exten => _XXX.,n,Set(QDIALER_NUMBER=${EXTEN:1})
exten => _XXX.,n,Set(QDIALER_AGENT=Agent/${CALLERID(num)})
exten => _XXX.,n,Set(QDIALER_CHANNEL=SIP/g0/${QDIALER_NUMBER})
exten => _XXX.,n,Set(QueueName=${300})
exten => _XXX.,n,MixMonitor(Q-${QDIALER_QUEUE}-${UNIQUEID}.WAV,b,)
exten => _XXX.,n,Goto(qm-queuedial,s,1)
--- End code ---


--- Code: ---[qm-queuedial]
; We use a global variable to pass values back from the answer-detect macro.
; STATUS = U unanswered
;        = A answered    (plus CAUSECOMPLETE=C when callee hung up)
; The 'g' dial parameter must be used in order to track callee disconnecting.
; Note that we'll be using the 'h' hook in any case to do the logging when channels go down.
; We set the CDR(accountcode) for live monitoring by QM.
;
exten => s,1,NoOp( "Outbound call - A:${QDIALER_AGENT} N:${QDIALER_NUMBER} Q:${QDIALER_QUEUE} Ch:${QDIALER_CHANNEL}" )
exten => s,n,Set(CDR(accountcode)=QDIALAGI)
exten => s,n,Set(ST=${EPOCH})
exten => s,n,Set(GM=QDV-${QDIALER_AGENT})
exten => s,n,Set(GLOBAL(${GM})=U)
exten => s,n,Set(GLOBAL(${GM}ans)=0)
exten => s,n,Macro(queuelog,${ST},${UNIQUEID},${QDIALER_QUEUE},${QDIALER_AGENT},CALLOUTBOUND,,${QDIALER_NUMBER})
exten => s,n,Dial(${QDIALER_CHANNEL},300,gM(queuedial-answer^${UNIQUEID}^${GM}^${QDIALER_QUEUE}^${QDIALER_AGENT}^${ST}))
exten => s,n,Set(CAUSECOMPLETE=${IF($["${DIALSTATUS}" = "ANSWER"]?C)})

--- End code ---

sonffrey:
This is what I get


--- Code: ---    -- Executing [28@queuemetrics:2] NoOp("Local/1029@from-internal-0001b16b;1", " "QM: Agent Custom Dial. Dialing 0628000055 on queue 300  made by 'Agent/1029'" ") in new stack
    -- Executing [28@queuemetrics:3] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_QUEUE=300") in new stack
    -- Executing [28@queuemetrics:4] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_NUMBER=0628000055") in new stack
    -- Executing [28@queuemetrics:5] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_AGENT=Agent/1029") in new stack
    -- Executing [28@queuemetrics:6] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_CHANNEL=SIP/g0/0628000055") in new stack
    -- Executing [28@queuemetrics:7] Set("Local/1029@from-internal-0001b16b;1", "QueueName=300") in new stack
    -- Executing [28@queuemetrics:8] MixMonitor("Local/1029@from-internal-0001b16b;1", "Q-300-1477921568.257562.WAV,b,") in new stack
    -- Executing [28@queuemetrics:9] Goto("Local/1029@from-internal-0001b16b;1", "qm-queuedial,s,1") in new stack
  == Begin MixMonitor Recording Local/1029@from-internal-0001b16b;1
    -- Goto (qm-queuedial,s,1)
    -- Executing [s@qm-queuedial:1] NoOp("Local/1029@from-internal-0001b16b;1", " "Outbound call - A:Agent/1029 N:0628000055 Q:300 Ch:SIP/g0/0628000055" ") in new stack
[2016-10-31 16:46:12] WARNING[9172][C-0000734b]: file.c:1230 ast_writefile: Unable to open file /var/spool/asterisk/monitor/Q-300-1477921568.257562.WAV: Permission denied
[2016-10-31 16:46:12] ERROR[9172][C-0000734b]: app_mixmonitor.c:583 mixmonitor_save_prep: Cannot open /var/spool/asterisk/monitor/Q-300-1477921568.257562.WAV
    -- Executing [s@qm-queuedial:2] Set("Local/1029@from-internal-0001b16b;1", "CDR(accountcode)=QDIALAGI") in new stack
    -- Executing [s@qm-queuedial:3] Set("Local/1029@from-internal-0001b16b;1", "ST=1477921572") in new stack
    -- Executing [s@qm-queuedial:4] Set("Local/1029@from-internal-0001b16b;1", "GM=QDV-Agent/1029") in new stack
    -- Executing [s@qm-queuedial:5] Set("Local/1029@from-internal-0001b16b;1", "GLOBAL(QDV-Agent/1029)=U") in new stack
  == Setting global variable 'QDV-Agent/1029' to 'U'
    -- Executing [s@qm-queuedial:6] Set("Local/1029@from-internal-0001b16b;1", "GLOBAL(QDV-Agent/1029ans)=0") in new stack
  == Setting global variable 'QDV-Agent/1029ans' to '0'
    -- Executing [s@qm-queuedial:7] Macro("Local/1029@from-internal-0001b16b;1", "queuelog,1477921572,1477921568.257562,300,Agent/1029,CALLOUTBOUND,,0628000055") in new stack
    -- Executing [s@macro-queuelog:1] Set("Local/1029@from-internal-0001b16b;1", "ADDINFO=|0628000055|") in new stack
[2016-10-31 16:46:12] WARNING[9171][C-0000734b]: pbx.c:1673 pbx_exec: The application delimiter is now the comma, not the pipe.  Did you forget to convert your dialplan?  (Set(ADDINFO=|0628000055|))
    -- Executing [s@macro-queuelog:2] QueueLog("Local/1029@from-internal-0001b16b;1", "300,1477921568.257562,Agent/1029,CALLOUTBOUND,|0628000055|") in new stack
    -- Executing [s@qm-queuedial:8] Dial("Local/1029@from-internal-0001b16b;1", "SIP/g0/0628000055,300,gM(queuedial-answer^1477921568.257562^QDV-Agent/1029^300^Agent/1029^1477921572)") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
--- End code ---

mirkox:
Hi sonffrey,

it would be really useful to know what happens in the Asterisk CLI while you try to do an outbound call

Thanks
Mirko

mirkox:
Which version of the dialplan file are you using?
Please try replace it with extensions_queuemetrics_18.conf

sonffrey:
I ran
--- Code: ---asterisk -vvvvr
--- End code ---
I believe this is the Asterisk CLI output, I just took one call I made and attached.


--- Quote from: sonffrey on October 31, 2016, 14:58:42 ---This is what I get


--- Code: ---    -- Executing [28@queuemetrics:2] NoOp("Local/1029@from-internal-0001b16b;1", " "QM: Agent Custom Dial. Dialing 0628000055 on queue 300  made by 'Agent/1029'" ") in new stack
    -- Executing [28@queuemetrics:3] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_QUEUE=300") in new stack
    -- Executing [28@queuemetrics:4] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_NUMBER=0628000055") in new stack
    -- Executing [28@queuemetrics:5] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_AGENT=Agent/1029") in new stack
    -- Executing [28@queuemetrics:6] Set("Local/1029@from-internal-0001b16b;1", "QDIALER_CHANNEL=SIP/g0/0628000055") in new stack
    -- Executing [28@queuemetrics:7] Set("Local/1029@from-internal-0001b16b;1", "QueueName=300") in new stack
    -- Executing [28@queuemetrics:8] MixMonitor("Local/1029@from-internal-0001b16b;1", "Q-300-1477921568.257562.WAV,b,") in new stack
    -- Executing [28@queuemetrics:9] Goto("Local/1029@from-internal-0001b16b;1", "qm-queuedial,s,1") in new stack
  == Begin MixMonitor Recording Local/1029@from-internal-0001b16b;1
    -- Goto (qm-queuedial,s,1)
    -- Executing [s@qm-queuedial:1] NoOp("Local/1029@from-internal-0001b16b;1", " "Outbound call - A:Agent/1029 N:0628000055 Q:300 Ch:SIP/g0/0628000055" ") in new stack
[2016-10-31 16:46:12] WARNING[9172][C-0000734b]: file.c:1230 ast_writefile: Unable to open file /var/spool/asterisk/monitor/Q-300-1477921568.257562.WAV: Permission denied
[2016-10-31 16:46:12] ERROR[9172][C-0000734b]: app_mixmonitor.c:583 mixmonitor_save_prep: Cannot open /var/spool/asterisk/monitor/Q-300-1477921568.257562.WAV
    -- Executing [s@qm-queuedial:2] Set("Local/1029@from-internal-0001b16b;1", "CDR(accountcode)=QDIALAGI") in new stack
    -- Executing [s@qm-queuedial:3] Set("Local/1029@from-internal-0001b16b;1", "ST=1477921572") in new stack
    -- Executing [s@qm-queuedial:4] Set("Local/1029@from-internal-0001b16b;1", "GM=QDV-Agent/1029") in new stack
    -- Executing [s@qm-queuedial:5] Set("Local/1029@from-internal-0001b16b;1", "GLOBAL(QDV-Agent/1029)=U") in new stack
  == Setting global variable 'QDV-Agent/1029' to 'U'
    -- Executing [s@qm-queuedial:6] Set("Local/1029@from-internal-0001b16b;1", "GLOBAL(QDV-Agent/1029ans)=0") in new stack
  == Setting global variable 'QDV-Agent/1029ans' to '0'
    -- Executing [s@qm-queuedial:7] Macro("Local/1029@from-internal-0001b16b;1", "queuelog,1477921572,1477921568.257562,300,Agent/1029,CALLOUTBOUND,,0628000055") in new stack
    -- Executing [s@macro-queuelog:1] Set("Local/1029@from-internal-0001b16b;1", "ADDINFO=|0628000055|") in new stack
[2016-10-31 16:46:12] WARNING[9171][C-0000734b]: pbx.c:1673 pbx_exec: The application delimiter is now the comma, not the pipe.  Did you forget to convert your dialplan?  (Set(ADDINFO=|0628000055|))
    -- Executing [s@macro-queuelog:2] QueueLog("Local/1029@from-internal-0001b16b;1", "300,1477921568.257562,Agent/1029,CALLOUTBOUND,|0628000055|") in new stack
    -- Executing [s@qm-queuedial:8] Dial("Local/1029@from-internal-0001b16b;1", "SIP/g0/0628000055,300,gM(queuedial-answer^1477921568.257562^QDV-Agent/1029^300^Agent/1029^1477921572)") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
--- End code ---

--- End quote ---

Navigation

[0] Message Index

[#] Next page

Go to full version