[asterisk-users] Possible bug in Hangup() (Asterisk 1.4.x)

Vlasis Hatzistavrou vhatz at kinetix.gr
Fri Apr 15 09:19:25 CDT 2011


Hello Steve,

On 15/4/2011 5:07 μμ, Steve Davies wrote:
> Strictly speaking you can only Hangup (BYE) an answered and fully
> established call. In SIP terms, a hangup that occurs before an answer
> is a CANCEL, and I believe a CANCEL is always represented by a 503
> code in chan_sip.
>
> Regards,
> Steve
>
I see what you mean, but it is the called end (peer01) that rejects the 
call with a 408 message, it is not the originator that is canceling the 
call.

The call flow is this:

Caller->Asterisk->Peer01

and Asterisk receives a STATUS 408 message from Peer01 instead of an answer.

Asterisk then sends a STATUS 503 to the Caller, instead of sending a 
STATUS 408. The question is how to "copy" the correct cause code from 
the terminating end to the originating end.

I tried setting Hangup(1) to send a 404 to the called, a Hangup(17) to 
send a 486 to the caller and pretty much any other value in the Hangup() 
but Asterisk will keep on sending a 503.

I don't believe that my memory fails me, I'm pretty sure I could set a 
desirable cause in the Hangup() command in previous versions...

-- 
Best regards,
Vlasis Hatzistavrou.




More information about the asterisk-users mailing list