[asterisk-users] How to get the original SIP result code
Gareth Blades
mailinglist+asterisk at dns99.co.uk
Fri Aug 23 03:21:20 CDT 2013
On 22/08/13 15:43, Mordechay Kaganer wrote:
> B.H.
>
> Hello, i'm using AMI Originate action (with async=true) to send
> outgoing calls to a SIP trunk (using asterisk-java library to connect
> to AMI).
>
> The problem is that in case of failed originate, OriginateResponse
> event is returning only the reason code which is sometimes not
> sufficient to determine the real cause of failure. Also, there's no
> way to link between the channel that was trying to dial and failed and
> the original Originate request, because OriginateResponse is issued
> only after the failed channel was hang up. Only successful
> OriginateResponse will contain the unique id of the established channel.
>
> Is there any way that my AMI application can get the original SIP
> response of the failed Originate action?
>
> I'm using Asterisk 1.8.22 and slightly tweaked asterisk-java
> (https://blogs.reucon.com/asterisk-java/) 1.0.0.
>
You could dial a local channel instead and have that then go on and dial
the destination. You will then be able to retrieve the sip response
using something like :-
[localdial]
exten => _X.,1,Set(ddi=${CUT(EXTEN,,1)})
exten => _X.,n,Set(carrier=${CUT(EXTEN,,2)})
exten => _X.,n,Set(dialtime=${EPOCH})
exten => _X.,n,Set(_MASTERCHANNEL=${CHANNEL})
exten => _X.,n,Dial(SIP/${ddi}@${carrier})
exten =>
_X.,n,Set(SIPcause=${MASTER_CHANNEL(HASH(SIP_CAUSE,${CDR(dstchannel)}))}, Responsetime=$[${EPOCH}-${dialtime}])
exten => _X.,n,Set(SIPcode=${CUT(SIPcause," ",2)})
However you will need to set "storesipcause=yes" in your sip.conf for
this to work. It is known to have a performance hit.
A better way would be to upgrade Asterisk and use hangup handlers. The
documentation on how to do this in Asterisk 11 is poor and often wrong.
I have written a blog about how we set it up as we use the feature all
the time.
http://gblades.blogspot.co.uk/2013/07/how-to-get-sip-response-code-in.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20130823/2541849f/attachment.htm>
More information about the asterisk-users
mailing list