I’m using SIP_CAUSE
to get the Sip reason as describe below
exten => _X.,n,Set(CHANNEL(hangup_handler_push)=hangup_handler,s,1)
[hangup_handler]
exten => s,1,Verbose(0, Executing Hangup Handler)
same => n,Set(CHANNEL_ID=${HANGUPCAUSE_KEYS()})
same => n,Verbose(0, CHANNEL_ID : ${CHANNEL_ID})
same => n,Set(ReasonTech=${HANGUPCAUSE(${CHANNEL_ID},tech)})
same => n,Set(ReasonAst=${HANGUPCAUSE(${CHANNEL_ID},ast)})
same => n,Verbose(0, ReasonTech : ${ReasonTech})
same => n,Verbose(0, ReasonAst : ${ReasonAst})
Do you know if is possible get more information about the reason it fails? I asked the provider to do some checks and return me information like :
- SIP 503 Service Unavailable —> CAPS limit / Retry-After: 5
- SIP 480 Temporarily Unavailable --> Q.850 cause=34 from destination carrier / destination number (mobile) was not reachable (no channel available)
, it could be great having the specific reason it fails (without annoying the provider), currently I have only the first one.
Thanks
Paolo