hi,
 
I have one doubt in CANCEL/BYE operation. The scenario is as follows :-
 
    A               B
    |               |
    |    INVITE     |
    |-------------->|
    |  180 Ringing  |
    |<--------------|
    |               |
User A invites user B. Now B responds with 180 Ringing with to tag and hence establishes early dialog. Now user A has decides that he does not want to continue the call. Hence he decides to terminate the dialog. Now according to my opinion, there are two possible ways to do so :-
 
1. A sends CANCEL to B. Then if B responds with 2xx response to INVITE, then A terminates the dialog by sending BYE. Else if B responds with non-2xx code, then dialog will be terminated and user A need to do any thing more other than sending ACK.
 
2. A sends BYE to B (BYE can be sent as early dialog is already established). B checks if he has sent final response to INVITE. If so he just reponds with 200 OK for BYE. Else if B has not yet sent final response for INVITE, then B sends a non-2xx  error code for INVITE as soon as it sees BYE and then responds with 200 for BYE.
 
I feel that option 2 is better to terminate dialog as it requires 2 messages less than the option 1.
 
What is the procedure normally followed in the above scenario :- Option 1 or Option 2 ?
 
Rgds
 Krishna
 
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to