Hangup without cause

Get help with installing and running AsteriskNOW.

Moderators: Moderator, Support

Hangup without cause

Postby comfine » Tue May 12, 2015 3:10 am

Following Call-Flow could be monitored:

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [061517xxx@from-trunk-sip-HSEPeer:1] Set("SIP/HSEPeer-00000078", "GROUP()=OUT_2") in new stack
-- Executing [061517xxx@from-trunk-sip-HSEPeer:2] Goto("SIP/HSEPeer-00000078", "from-trunk,061517xxx,1") in new stack
-- Goto (from-trunk,061517xxx,1)
-- Executing [061517xxx@from-trunk:1] NoOp("SIP/HSEPeer-00000078", "Catch-All DID Match - Found 061517xxx - You probably want a DID for this.") in new stack
-- Executing [061517xxx@from-trunk:2] Log("SIP/HSEPeer-00000078", "WARNING,Friendly Scanner from 213.157.3.71") in new stack
[2015-05-11 16:03:10] WARNING[8448][C-0000003c]: Ext. 061517xxx:2 @ from-trunk: Friendly Scanner from 213.157.3.71
-- Executing [061517xxx@from-trunk:3] Set("SIP/HSEPeer-00000078", "__FROM_DID=061517xxx") in new stack
-- Executing [061517xxx@from-trunk:4] Goto("SIP/HSEPeer-00000078", "ext-did,s,1") in new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] ExecIf("SIP/HSEPeer-00000078", "0?Set(__FROM_DID=s)") in new stack
-- Executing [s@ext-did:2] Gosub("SIP/HSEPeer-00000078", "sub-record-check,s,1(in,s,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/HSEPeer-00000078", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("SIP/HSEPeer-00000078", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("SIP/HSEPeer-00000078", "NOW=1431352990") in new stack
-- Executing [s@sub-record-check:4] Set("SIP/HSEPeer-00000078", "__DAY=11") in new stack
-- Executing [s@sub-record-check:5] Set("SIP/HSEPeer-00000078", "__MONTH=05") in new stack
-- Executing [s@sub-record-check:6] Set("SIP/HSEPeer-00000078", "__YEAR=2015") in new stack
-- Executing [s@sub-record-check:7] Set("SIP/HSEPeer-00000078", "__TIMESTR=20150511-160310") in new stack
-- Executing [s@sub-record-check:8] Set("SIP/HSEPeer-00000078", "__FROMEXTEN=unknown") in new stack
-- Executing [s@sub-record-check:9] Set("SIP/HSEPeer-00000078", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("SIP/HSEPeer-00000078", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("SIP/HSEPeer-00000078", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/HSEPeer-00000078", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/HSEPeer-00000078", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("SIP/HSEPeer-00000078", "2?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("SIP/HSEPeer-00000078", "1?sub-record-check,in,1") in new stack
-- Goto (sub-record-check,in,1)
-- Executing [in@sub-record-check:1] NoOp("SIP/HSEPeer-00000078", "Inbound Recording Check to s") in new stack
-- Executing [in@sub-record-check:2] Set("SIP/HSEPeer-00000078", "FROMEXTEN=unknown") in new stack
-- Executing [in@sub-record-check:3] ExecIf("SIP/HSEPeer-00000078", "12?Set(FROMEXTEN=061513xxx)") in new stack
-- Executing [in@sub-record-check:4] Gosub("SIP/HSEPeer-00000078", "recordcheck,1(dontcare,in,s)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("SIP/HSEPeer-00000078", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("SIP/HSEPeer-00000078", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("SIP/HSEPeer-00000078", "") in new stack
-- Executing [in@sub-record-check:5] Return("SIP/HSEPeer-00000078", "") in new stack
-- Executing [s@ext-did:3] Gosub("SIP/HSEPeer-00000078", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/HSEPeer-00000078", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/HSEPeer-00000078", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/HSEPeer-00000078", "") in new stack
-- Executing [s@ext-did:4] Set("SIP/HSEPeer-00000078", "CDR(did)=061517xxx") in new stack
-- Executing [s@ext-did:5] ExecIf("SIP/HSEPeer-00000078", "0 ?Set(CALLERID(name)=061513xxx)") in new stack
-- Executing [s@ext-did:6] Set("SIP/HSEPeer-00000078", "CHANNEL(musicclass)=default") in new stack
-- Executing [s@ext-did:7] Set("SIP/HSEPeer-00000078", "__MOHCLASS=default") in new stack
[2015-05-11 16:03:10] WARNING[8448][C-0000003c]: func_channel.c:581 func_channel_read: Unknown or unavailable item requested: 'reversecharge'
-- Executing [s@ext-did:8] GotoIf("SIP/HSEPeer-00000078", "0?macro-hangupcall") in new stack
-- Executing [s@ext-did:9] Set("SIP/HSEPeer-00000078", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@ext-did:10] Set("SIP/HSEPeer-00000078", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [s@ext-did:11] Goto("SIP/HSEPeer-00000078", "dyninc,s,1") in new stack
-- Goto (dyninc,s,1)
-- Executing [s@dyninc:1] Ringing("SIP/HSEPeer-00000078", "") in new stack
-- Executing [s@dyninc:2] Set("SIP/HSEPeer-00000078", "thedid=061517xxx") in new stack
-- Executing [s@dyninc:3] Goto("SIP/HSEPeer-00000078", "from-internal,2,1") in new stack
-- Goto (from-internal,2,1)
-- Executing [2@from-internal:1] Set("SIP/HSEPeer-00000078", "__RINGTIMER=15") in new stack
-- Executing [2@from-internal:2] Macro("SIP/HSEPeer-00000078", "exten-vm,novm,2,0,0,0") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/HSEPeer-00000078", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/HSEPeer-00000078", "TOUCH_MONITOR=1431352990.810") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/HSEPeer-00000078", "AMPUSER=061513xxx") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/HSEPeer-00000078", "0?report") in new stack
-- Executing [h@from-internal:1] Hangup("SIP/HSEPeer-00000078", "") in new stack



As you can see, the Callflow jumps to Hangup without a recognizable reason. The caller just hearing busy-signal then (of course).

Some minutes later, without changeing the configuration, the callflow of a new call was correct as you can see here:

-- Executing [s@macro-user-callerid:3] GotoIf("SIP/HSEPeer-00000081", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/HSEPeer-00000081", "1?Set(REALCALLERIDNUM=061513xxx)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/HSEPeer-00000081", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/HSEPeer-00000081", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/HSEPeer-00000081", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/HSEPeer-00000081", "1?report") in new stack

does anybody has an idea how and why this can happen and what we can do against this problem?
Last edited by comfine on Wed May 13, 2015 6:31 am, edited 1 time in total.
comfine
Newsterisk
 
Posts: 14
Joined: Tue May 12, 2015 12:14 am

Re: Hangup without cause

Postby david55 » Tue May 12, 2015 3:26 pm

If you wrote the dialplan, we need the source code. If this is FreePBX, you need to use http://community.freepbx.org/
david55
Moves Like Spencer
 
Posts: 12570
Joined: Fri Sep 26, 2008 5:03 am

Re: Hangup without cause

Postby comfine » Wed May 13, 2015 6:27 am

David, thanks for your reply.
Yes, we're using freepbx, but i think the Problem is Asterisk-Related and not Dialplan-Specific (of course, i'm not sure). if the dialplan would be processed normally, their shouldn't be a jump to the hangup (as you can see in the part of the dialplan attached), or have i misunderstood something?

the last line before the hangup is
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/HSEPeer-00000078", "0?report") in new stack
and the next line which has been executed was the hangup, but in the dialplan the next line should be
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)}))

looks like a bug to me!
by the way: we have following version: Asterisk 13.3.2 built by root @ stern.local on a x86_64 running Linux on 2015-05-02 22:13:08 UTC

[macro-user-callerid]
include => macro-user-callerid-custom
exten => s,1,Set(TOUCH_MONITOR=${UNIQUEID})
exten => s,n,Set(AMPUSER=${IF($["${AMPUSER}" = ""]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CUT(CHANNEL,@,2):5:5}"="queue" | ${LEN(${AMPUSERCIDNAME})}]?report)
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)}))
exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,GotoIf($["${AMPUSER}" = "none"]?limit)
exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
exten => s,n,GotoIf($["${AMPUSERCIDNAME:1:2}" = ""]?report)
exten => s,n,Set(AMPUSERCID=${IF($["${ARG2}" != "EXTERNAL" & "${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(__DIAL_OPTIONS=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/dialopts)}" = "1"]?${DB_RESULT}:${DIAL_OPTIONS})})
exten => s,n,Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>)
exten => s,n,GotoIf($["${ARG1}"="LIMIT" & ${LEN(${AMPUSER})} & ${DB_EXISTS(AMPUSER/${AMPUSER}/concurrency_limit)} & ${DB(AMPUSER/${AMPUSER}/concurrency_limit)}>0 & ${GROUP_COUNT(${AMPUSER}@concurrency_limit)}>=${DB(AMPUSER/${AMPUSER}/concurrency_limit)}]?limit)
exten => s,n,ExecIf($["${ARG1}"="LIMIT" & ${LEN(${AMPUSER})}]?Set(GROUP(concurrency_limit)=${AMPUSER}))
exten => s,n,GosubIf($[${LEN(${DB(AMPUSER/${AMPUSER}/ccss/cc_agent_policy)})} & "${DB(AMPUSER/${AMPUSER}/ccss/cc_agent_policy)}" != "never"]?sub-ccss,s,1(${MACRO_CONTEXT},${CALLERID(dnid)}))
exten => s,n(report),GotoIf($[ "${ARG1}" = "SKIPTTL" | "${ARG1}" = "LIMIT" ]?continue)
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER})
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)
exten => s,n,Macro(hangupcall,)
exten => s,n(limit),Answer
exten => s,n,Wait(1)
exten => s,n,Playback(beep&im-sorry&your&simul-call-limit-reached&goodbye)
exten => s,n,Macro(hangupcall,)
exten => s,n,Congestion(20)
exten => s,n(continue),Set(CALLERID(number)=${CALLERID(number):0:40})
exten => s,n,Set(CALLERID(name)=${CALLERID(name):0:40})
exten => s,n,Set(CDR(cnum)=${CALLERID(num)})
exten => s,n,Set(CDR(cnam)=${CALLERID(name)})
exten => s,n,Set(CHANNEL(language)=${MASTER_CHANNEL(CHANNEL(language))})

exten => h,1,Macro(hangupcall,)

;--== end of [macro-user-callerid] ==--;
Last edited by comfine on Wed May 13, 2015 8:47 am, edited 1 time in total.
comfine
Newsterisk
 
Posts: 14
Joined: Tue May 12, 2015 12:14 am

Re: Hangup without cause

Postby comfine » Wed May 13, 2015 6:29 am

sorry, doublepost
comfine
Newsterisk
 
Posts: 14
Joined: Tue May 12, 2015 12:14 am

Re: Hangup without cause

Postby david55 » Wed May 13, 2015 9:05 am

I was assuming that it depended on the value of "${CUT(CHANNEL,@,2):5:5}"="queue" | ${LEN(${AMPUSERCIDNAME})} but it looks like this does come out to zero in both cases, I confused the line 3 and line 8 cases.

In that case, I would say you don't have enough tracing enabled. I would say almost certainly that the caller was aborting the call. I would enable sip debugging.

However, you really need to reproduce this with a simple, non-FreePBX model.
david55
Moves Like Spencer
 
Posts: 12570
Joined: Fri Sep 26, 2008 5:03 am

Re: Hangup without cause

Postby comfine » Wed May 13, 2015 10:08 am

i think it will be hard, or maybe impossible to reproducte this issue on a "fresh clean simple installation without freepbx" because we did compile this version of asterisk by ourself, because we did install a centos version on a embedded system where we couldn't get asterisk-now to run... so, it was a little mistake to post this in the asterisk-now-forum, but i have seen this to late.

anyway, i think it's a good idea to see what happens with sip debug enabled.
i didn't found any way to enabel the sip-debugging for within the logfiles, only for CLI - is there some way to enable sip debugging for the full-log inside logger.conf (or in this case logger_logfiles_additional.conf)?
comfine
Newsterisk
 
Posts: 14
Joined: Tue May 12, 2015 12:14 am

Re: Hangup without cause

Postby david55 » Wed May 13, 2015 10:10 am

I think you can set it from sip.conf, but I've always used the CLI.
david55
Moves Like Spencer
 
Posts: 12570
Joined: Fri Sep 26, 2008 5:03 am


Return to AsteriskNOW Support

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron