Author Topic: Queuemetrics not recognising Caller (A Party) hangup on outbound call.  (Read 8106 times)

msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Hi
Have noticed what believe is a bug in outgoing where call record shows as ongoing in queuemetrics.
It seems to work fine as per logs file example you show if the CALLED (B) party hangs up first as shown from log:-

1195784028|1195784028.43|q-777|NONE|ENTERQUEUE|-|0294674000
1195784028|1195784028.43|q-777|Agent/105|CONNECT|0|
1195784033|1195784028.43|q-777|Agent/105|CONNECT|5|
1195784037|1195784028.43|q-777|Agent/105|COMPLETECALLER|5|4

However if A party or Originator hangs up first only shows first 2 rows. 1195784127|1195784127.51|q-777|NONE|ENTERQUEUE|-|0294674000
1195784127|1195784127.51|q-777|Agent/105|CONNECT|0|

This seems to be the opposite to current issues and responses where they are saying if Rmote (B) hangs up first. I have no issue with that. 

Asterisk Version 1.2.22

I have tried suggestions and thread links in "Queuemetrics not recognising Remote Caller hangup and that doesn't change anything.

Regards and hope you can help

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics
This is strange - can you post a piece of your CLI output where the hangup occurs?
I say this is strange because 1.2's never had problems.

msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Please find and thanks for feeback.

A Party Hangs up first


    -- Executing AGI("SIP/105-09f40e00", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
  == Begin MixMonitor Recording SIP/105-09f40e00
       >  fixlocalprefix: Using pattern 777+XXXXXXXX
  ==  fixlocalprefix: Dialpattern 777+XXXXXXXX matched. 94674000 -> 77794674000
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing Set("SIP/105-09f40e00", "OUTNUM=77794674000") in new stack
    -- Executing Set("SIP/105-09f40e00", "custom=AMP") in new stack
    -- Executing GotoIf("SIP/105-09f40e00", "1?gocall") in new stack
    -- Goto (macro-dialout-trunk,s,17)
    -- Executing Macro("SIP/105-09f40e00", "dialout-trunk-predial-hook|") in new

stack
    -- Executing GotoIf("SIP/105-09f40e00", "0?bypass|1") in new stack
    -- Executing GotoIf("SIP/105-09f40e00", "1?customtrunk") in new stack
    -- Goto (macro-dialout-trunk,s,22)
    -- Executing Set("SIP/105-09f40e00", "pre_num=AMP:Local/") in new stack
    -- Executing Set("SIP/105-09f40e00", "the_num=OUTNUM") in new stack
    -- Executing Set("SIP/105-09f40e00", "post_num=@queuedial/n") in new stack
    -- Executing GotoIf("SIP/105-09f40e00", "1?outnum:skipoutnum") in new stack
    -- Goto (macro-dialout-trunk,s,26)
    -- Executing Set("SIP/105-09f40e00", "the_num=77794674000") in new stack
    -- Executing Dial("SIP/105-09f40e00", "Local/77794674000@queuedial/n|300|") in

new stack
    -- Called 77794674000@queuedial/n
    -- Executing SetVar("Local/77794674000@queuedial-a680,2", "MY_QUE=777") in new

stack
    -- Executing SetVar("Local/77794674000@queuedial-a680,2", "MY_NUM=94674000") in

new stack
    -- Executing SetVar("Local/77794674000@queuedial-a680,2", "MY_AGENT=105") in

new stack
    -- Executing NoOp("Local/77794674000@queuedial-a680,2", "Ag: 105 N: 94674000 Q:

777") in new stack
    -- Executing MixMonitor("Local/77794674000@queuedial-a680,2",

"Q-777-1209679706.31.wav|b|") in new stack
    -- Executing DeadAGI("Local/77794674000@queuedial-a680,2",

"queueDial.agi|94674000|SIP/MHOUSESYD/94674000|q-777|Agent/105") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/queueDial.agi
  == Begin MixMonitor Recording Local/77794674000@queuedial-a680,2
    -- AGI Script Executing Application: (dial) Options:

(SIP/MHOUSESYD/94674000||g)
    -- Called MHOUSESYD/94674000
    -- SIP/MHOUSESYD-09fe6058 is making progress passing it to

Local/77794674000@queuedial-a680,2
    -- Local/77794674000@queuedial-a680,1 is making progress passing it to

SIP/105-09f40e00
    -- SIP/MHOUSESYD-09fe6058 is ringing
    -- Local/77794674000@queuedial-a680,1 is ringing
    -- SIP/MHOUSESYD-09fe6058 answered Local/77794674000@queuedial-a680,2
    -- Local/77794674000@queuedial-a680,1 stopped sounds
    -- Local/77794674000@queuedial-a680,1 answered SIP/105-09f40e00
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on

'SIP/105-09f40e00' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on

'SIP/105-09f40e00'
    -- Executing Macro("SIP/105-09f40e00", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/105-09f40e00", "w") in new stack
  == Spawn extension (queuedial, 77794674000, 6) exited non-zero on

'Local/77794674000@queuedial-a680,2'
  == End MixMonitor Recording Local/77794674000@queuedial-a680,2
    -- Executing NoCDR("SIP/105-09f40e00", "") in new stack
    -- Executing GotoIf("SIP/105-09f40e00", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/105-09f40e00", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/105-09f40e00", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/105-09f40e00", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on

'SIP/105-09f40e00' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on

'SIP/105-09f40e00'
  == End MixMonitor Recording SIP/105-09f40e00
sip5*CLI>

************************************************************************
B party hangs up first (Good)



   -- AGI Script queueDial.agi completed, returning 0
    -- Executing Congestion("Local/77794674000@queuedial-4dd2,2", "") in new stack
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on

'SIP/105-09f40e00' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on

'SIP/105-09f40e00'
    -- Executing Macro("SIP/105-09f40e00", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/105-09f40e00", "w") in new stack
  == Spawn extension (queuedial, 77794674000, 7) exited non-zero on

'Local/77794674000@queuedial-4dd2,2'
  == End MixMonitor Recording Local/77794674000@queuedial-4dd2,2
    -- Executing NoCDR("SIP/105-09f40e00", "") in new stack
    -- Executing GotoIf("SIP/105-09f40e00", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/105-09f40e00", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/105-09f40e00", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/105-09f40e00", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on

'SIP/105-09f40e00' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on

'SIP/105-09f40e00'
  == End MixMonitor Recording SIP/105-09f40e00
sip5*CLI>

***************************************************************
Seems like this line is missing.

-- AGI Script queueDial.agi completed, returning 0
    -- Executing Congestion("Local/77794674000@queuedial-4dd2,2", "") in new stack

***************************************************************
Regards
Mal

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics
Have you tried including an h target in your dialplan?

msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Hi Not sure what you mean by  "h target in your dialplan". Can you explain for me, will be greatly appreciated. Regards Mal

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics
I mean, the h extension in the dialplan.

msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Hi thanks for your help. I am really sorry as I am not a expert on this, but I must say I have no idea what you mean. Could you be kind enough to give me an example.  We are a company and have paid for licences so would really like to fix this. I have tried re-install on 3 test machines and still same issue. Regards

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics
Try doing this:
* add the following lines to context [queuedial], after the rest

Code: [Select]
exten => h,1,NoOp( "Trapped -> lowercase h" )
exten => H,1,NoOp( "Trapped -> uppercase H" )

reload Asterisk and run a trace again lik ethe other one you posted. I want to see if the event of the call closure gets traced or not.



msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Hi Many thanks for code. Please find trace.
Regards
Mal

A party Hangs up first

voip1*CLI>
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38' in

macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38'
    -- Executing Macro("SIP/6811-08da0f38", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/6811-08da0f38", "w") in new stack
    -- Hungup 'Zap/1-1'
    -- Executing NoCDR("SIP/6811-08da0f38", "") in new stack
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/6811-08da0f38", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38' in

macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38'
  == End MixMonitor Recording SIP/6811-08da0f38
    -- AGI Script queueDial.agi completed, returning 0
    -- Executing NoOp("Local/7770405001763@isdndial-c1c8,2", " "Trapped -> lowercase h" ")

in new stack
  == End MixMonitor Recording Local/7770405001763@isdndial-c1c8,2
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38' in

macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38'
    -- Executing Macro("SIP/6811-08da0f38", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/6811-08da0f38", "w") in new stack
    -- Hungup 'Zap/1-1'
    -- Executing NoCDR("SIP/6811-08da0f38", "") in new stack
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/6811-08da0f38", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38' in

macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38'
  == End MixMonitor Recording SIP/6811-08da0f38
    -- AGI Script queueDial.agi completed, returning 0
    -- Executing NoOp("Local/7770405001763@isdndial-c1c8,2", " "Trapped -> lowercase h" ")

in new stack
  == End MixMonitor Recording Local/7770405001763@isdndial-c1c8,2
    -- Channel 0/1, span 1 received AOC-E charging 0 units
    -- Channel 0/1, span 1 received AOC-E charging 0 units
voip1*CLI>



***************************************************************************

B Party Hangs up first

voip1*CLI>
    -- Saved useragent "IP SIP Phone/2.2.22" for peer 6805
    -- Saved useragent "IP SIP Phone/2.2.22" for peer 6805
    -- Channel 0/1, span 1 got hangup request, cause 16
    -- Channel 0/1, span 1 received AOC-E charging 0 units
    -- Channel 0/1, span 1 got hangup request, cause 16
    -- Channel 0/1, span 1 received AOC-E charging 0 units
    -- Hungup 'Zap/1-1'
    -- Hungup 'Zap/1-1'
    -- AGI Script queueDial.agi completed, returning 0
    -- Executing Congestion("Local/7770405001763@isdndial-7dc5,2", "") in new stack
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38' in

macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38'
    -- Executing Macro("SIP/6811-08da0f38", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/6811-08da0f38", "w") in new stack
  == Spawn extension (isdndial, 7770405001763, 7) exited non-zero on

'Local/7770405001763@isdndial-7dc5,2'
    -- Executing NoOp("Local/7770405001763@isdndial-7dc5,2", " "Trapped -> lowercase h" ")

in new stack
  == End MixMonitor Recording Local/7770405001763@isdndial-7dc5,2
    -- AGI Script queueDial.agi completed, returning 0
    -- Executing Congestion("Local/7770405001763@isdndial-7dc5,2", "") in new stack
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38' in

macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on 'SIP/6811-08da0f38'
    -- Executing Macro("SIP/6811-08da0f38", "hangupcall|") in new stack
    -- Executing ResetCDR("SIP/6811-08da0f38", "w") in new stack
  == Spawn extension (isdndial, 7770405001763, 7) exited non-zero on

'Local/7770405001763@isdndial-7dc5,2'
    -- Executing NoOp("Local/7770405001763@isdndial-7dc5,2", " "Trapped -> lowercase h" ")

in new stack
  == End MixMonitor Recording Local/7770405001763@isdndial-7dc5,2
    -- Executing NoCDR("SIP/6811-08da0f38", "") in new stack
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/6811-08da0f38", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38' in

macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38'
  == End MixMonitor Recording SIP/6811-08da0f38
    -- Executing NoCDR("SIP/6811-08da0f38", "") in new stack
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing GotoIf("SIP/6811-08da0f38", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing Hangup("SIP/6811-08da0f38", "") in new stack
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38' in

macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/6811-08da0f38'
  == End MixMonitor Recording SIP/6811-08da0f38
voip1*CLI>

*****************************************


QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics
OK now change the lowercase h line to:

Code: [Select]
exten => h,1,System( echo "${EPOCH}|${UNIQUEID}|${QUEUENAME}|${AGENT}|COMPLETECALLER|0|${ANSWEREDTIME}" >> /var/log/asterisk/queue_log )
This should hang up the call :)



msharpe

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
    • Email
Many Many thanks
That works wonderfully.
You have made my day. Hope you have a great week.
Regards
Mal

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2993
  • Karma: 39
    • View Profile
    • QueueMetrics