Hi Casey ,
Like Satish mentioned 487 comes immediately but assuming it lost in network
or UAS is RFC2543-compliant(cant generate 487).
Even then we cannot terminate dialog on getting 200ok(Cancel) due to these
reasons :
1. Cancel can be triggered before any provisional response (having to-tag)
comes .Means on receiving 100 trying also Cancel can be trigerred .
Means UAC side dialog is still not (early)established.So how we can
terminate it ?
2. As per RFC 3261 , Dialog is terminated only when BYE comes/goes or
failure final response(like 487 in this case ) comes .
Now think what can happen if we release dialog on getting cancel 200ok :
1. As you might be aware that dialog and transaction state machine run
independtly .
So terminating dialog after getting 200ok of cancel ,will not clean
Invite Tx till final response comes for Invite .
Even if BYE sent in early dialog , it does not impact INVITE
transaction .
Hence sipstack will be waiting for final response for Invite for 64*t1 .
Hope this helps .
Thanks & Regards
Ankur Bansal
On Fri, Sep 13, 2013 at 4:25 PM, satish agrawal <[email protected]>wrote:
> Hello Casey,
>
> As per RFC 3261 section 9.2
>
> If the UAS did not find a matching transaction for the CANCEL
> according to UAS first processes the CANCEL request, it SHOULD
> respond to the CANCEL
> with a 481 (Call Leg/Transaction Does Not Exist). If the transaction
> for the original request still exists, the behavior of the UAS on
> receiving a CANCEL request depends on whether it has already sent a
> final response for the original request. If it has, the CANCEL
> request has no effect on the processing of the original request, no
> effect on any session state, and no effect on the responses generated
> for the original request. If the UAS has not issued a final response
> for the original request, its behavior depends on the method of the
> original request. If the original request was an INVITE, the UAS
> SHOULD immediately respond to the INVITE with a 487 (Request
> Terminated). A CANCEL request has no impact on the processing of
> transactions with any other method defined in this specification.
>
> In your case the UAS SHOULD immediately respond to the INVITE with a
> 487 "Request Terminated" message.
>
> Regards,
> Satish
>
>
>
>
> On Fri, Sep 13, 2013 at 3:37 PM, Guan Xsun <[email protected]> wrote:
>
> > heHi,
> > A SIP client create a dialog by sending INVITE and then will cancel
> it.
> > Whether the dialog can be finished when the dialog receive the 200 OK
> > from cancel or it needs receive the 487 message ?
> >
> > Best Regards!
> > Casey
> > _______________________________________________
> > Sip-implementors mailing list
> > [email protected]
> > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
> >
>
>
>
> --
> Thanks & Regards
> Satish Agrawal
> New Delhi-24.
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors