[Asterisk-Dev] SIP channels not cleared

Olle E. Johansson oej at edvina.net
Sun Aug 21 03:00:33 MST 2005


Mikael Magnusson wrote:
> On Thu, Aug 18, 2005 at 10:50:42PM -0500, Kevin P. Fleming wrote:
> 
>>Chee Foong wrote:
>>
>>>But I still dont understand why asterisk response to the BYE with OK since
>>>it is not permited at the stage and leave the channels hanging.
>>
>>You are correct, Asterisk's response doesn't make much sense. However, 
>>there is no 'logical' response to a SIP endpoint that is violating the 
>>spec; the response is 'undefined' which means it could be anything.
> 
> 
> I think Asterisk should respond with 481 (Call/Transaction Does Not Exist)
> as defined in RFC 3261 Section 15.1.2:
> 
>    A UAS first processes the BYE request according to the general UAS
>    processing described in Section 8.2.  A UAS core receiving a BYE
>    request checks if it matches an existing dialog.  If the BYE does not
>    match an existing dialog, the UAS core SHOULD generate a 481
>    (Call/Transaction Does Not Exist) response and pass that to the
>    server transaction.
> 
I do not agree. We have a transaction. See section 15:

The caller’s UA MAY send a BYE for either confirmed or early dialogs,
and the callee’s UA MAY
send a BYE on confirmed dialogs, but MUST NOT send a BYE on early
dialogs. However, the callee’s UA
MUST NOT send a BYE on a confirmed dialog until it has received an ACK
for its 2xx response or until the
server transaction times out

--------
Caller may send BYE on early dialog. Surprise, surprise to me.
Callee MUST NOT.

So we should accept this bye, send 487 on the invite and give up this
dialog.

/O



More information about the asterisk-dev mailing list