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 <satish.agr...@gmail.com>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 <guanxian...@gmail.com> 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 > > Sip-implementors@lists.cs.columbia.edu > > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > > > > > > -- > Thanks & Regards > Satish Agrawal > New Delhi-24. > _______________________________________________ > Sip-implementors mailing list > Sip-implementors@lists.cs.columbia.edu > https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors > _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors