[SIPForum-discussion] BYE during setup phase

Devaraja G M devrajgm at TechMahindra.com
Thu Sep 6 10:42:12 UTC 2007


Hi All,

I Strongly agree with Lokesh.

Thanks Lokesh for correcting me. 

We tried with Xlite softphone after receiving 180 ringing we sent
Bye.(For the below mentioned Call flow Scenario)

Xlite sent 200 OK for BYE and 487 for 180 ringing.

Answer (rfc 3261 :)

 section : 15

. The caller's (Alice ) UA MAY send a BYE for either confirmed or early
dialogs,

21.4.25 487 Request Terminated

The request was terminated by a BYE or CANCEL request. This response is
never returned for a CANCEL

request itself.

Thanks & Regards,

Devaraj G.M

 

________________________________

From: Lokesh Agrawal [mailto:lokesh.agrawal at gmail.com] 
Sent: Thursday, September 06, 2007 1:58 PM
To: Devaraja G M
Cc: Anshupriya Nayak; discussion at sipforum.org
Subject: Re: [SIPForum-discussion] BYE during setup phase

 

Hi all,

I am very much agree with Devaraja.

In the early dialog establishment, it is better to send Cancel for the
above scenario, if  we send BYE instead of Cancel, then UAS should send
4XX Response ( It should be 481 response code but it can be 487 also.

here is an example.....

Alice                     Bob


     |                        |

     |       INVITE F1        |

     |----------------------->|

     |    180 Ringing F2      |

     |<-----------------------|

     |                        |

     |         BYE F3         |


     |----------------------->|

     |    200 OK(BYE) F4      |

     |<-----------------------|

     |         487 F5         |

     |<-----------------------|

     |         ACK F6         |




     |----------------------->|

     |                        |

     |                        |





   In this scenario, Alice establishes an early dialog with the
receiving

   180 response. Alice sends a BYE on the early dialog. According to


   Section 15 of RFC3261, callee's UA MUST NOT send a BYE on early
dialogs,

   but the caller's UA MAY send a BYE on early dialogs.





   Message Details



   F1 INVITE Alice -> Bob



   INVITE 
sip:bob at biloxi.example.com SIP/2.0

   Via: SIP/2.0/UDP client.atlanta.example.com:5060;branch=z9hG4bK74bf9

   Max-Forwards: 70


   From: Alice <sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob <sip:bob at biloxi.example.com>




   Call-ID: 3848276298220188511 at atlanta.example.com

   CSeq: 1 INVITE

   Contact: <sip:alice at client.atlanta.example.com
;transport=udp>

   Content-Type: application/sdp

   Content-Length: 151



   v=0

   o=alice 2890844526 2890844526 IN IP4 client.atlanta.example.com

   s=-


   c=IN IP4 192.0.2.101

   t=0 0

   m=audio 49172 RTP/AVP 0

   a=rtpmap:0 PCMU/8000





   F2 180 Ringing Bob -> Alice



   SIP/2.0 180 Ringing

   Via: SIP/2.0/UDP 
client.atlanta.example.com:5060;branch=z9hG4bK74bf9

    ;received=192.0.2.101

   From: Alice < <mailto:sip:alice at atlanta.example.com> 
sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob <sip:bob at biloxi.example.com>;tag=8321234356

   Call-ID:  <mailto:3848276298220188511 at atlanta.example.com> 
3848276298220188511 at atlanta.example.com

   CSeq: 1 INVITE

   Contact: <sip:bob at client.biloxi.example.com;transport=udp>

   Content-Length: 0








   /* Alice forms an early dialog by receiving a 180 response to
ini-INVITE.

      However Bob is not sure that Alice received the 180 response. */





   F3 BYE Alice -> Bob



   BYE  <mailto:sip:bob at client.biloxi.example.com> 
sip:bob at client.biloxi.example.com SIP/2.0

   Via: SIP/2.0/UDP
client.atlanta.example.com:5060;branch=z9hG4bKnashds9

   Max-Forwards: 70

   From: Alice <
sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob <sip:bob at biloxi.example.com>;tag=8321234356

   Call-ID: 
3848276298220188511 at atlanta.example.com

   CSeq: 2 BYE

   Content-Length: 0



   /* Alice sends a BYE on the early dialog and Alice terminates

      a session (if any). */






   F4 200 OK(BYE) Bob -> Alice



   SIP/2.0 200 OK

   Via: SIP/2.0/UDP
client.atlanta.example.com:5060;branch=z9hG4bKnashds9

    ;received= <http://192.0.2.101> 
192.0.2.101

   From: Alice <sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob <sip:bob at biloxi.example.com
>;tag=8321234356

   Call-ID: 3848276298220188511 at atlanta.example.com

   CSeq: 2 BYE

   Content-Length: 0



   /* Bob sends a 200 OK to a BYE of Alice, and Bob terminates


      a session (if any). */





   F5 487 Request Terminated(INVITE) Bob -> Alice



   SIP/2.0 487 Request Terminated

   Via: SIP/2.0/UDP client.atlanta.example.com:5060
;branch=z9hG4bK74bd5

    ;received=192.0.2.101

   From: Alice <sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob <
sip:bob at biloxi.example.com>;tag=8321234356

   Call-ID: 3848276298220188511 at atlanta.example.com

   CSeq: 1 INVITE


   Contact: <sip:bob at client.biloxi.example.com;transport=udp>

   Content-Length: 0



   /* Bob should terminate the early dialog when he receives a BYE.


      Bob sends a 487 response to terminate a INVITE transaction

      in the similar way to handle a CANCEL from Alice, because the

      INVITE transaction remains after terminating the early dialog. */








   F6 ACK Alice -> Bob



   ACK sip:bob at biloxi.example.com SIP/2.0

   Via: SIP/2.0/UDP client.atlanta.example.com:5060
;branch=z9hG4bK74bf9

   Max-Forwards: 70

   From: Alice <sip:alice at atlanta.example.com>;tag=9fxced76sl

   To: Bob < <mailto:sip:bob at biloxi.example.com> 
sip:bob at biloxi.example.com>

   Call-ID: 3848276298220188511 at atlanta.example.com

   CSeq: 1 ACK

   Contact: < <mailto:sip:alice at client.atlanta.example.com> 
sip:alice at client.atlanta.example.com;transport=udp>

   Content-Length: 0



   /* Alice sends an ACK to a 487 response as processing of the

      ini-INVITE transaction. (The dialog has been already terminated,


      but the ini-INVITE transaction remains) */



Thanks and Regards
Lokesh Agrawal
Persistent Systems (P) Ltd.




On 9/6/07, Devaraja G M <devrajgm at techmahindra.com> wrote:

Hi Anshu,

If  UAC send BYE during calll setup phase then what would be the
response for BYE method. 
Scenario is:- 

UAC                                        UAS, 

INVITE- - -- - - --- -- - - - -- - - -- - - -- -> 
<- - - -- - - - -- - - ---- - - -- - -- --- - -- - - 100 Trying 
<- - - -- - - - -- - - ---- - - -- - -- --- - -- - - 180 Ringing 
BYE  - -- - - --- -- - - - -- - - -- - - -- ->

 

Answer (rfc 3261 : section : 15)

 

A UA MUST NOT send a BYE outside of a dialog. 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.

The impact of a non-2xx final response to INVITE on dialogs and sessions
makes the use of CANCEL attractive. The CANCEL attempts to force a
non-2xx response to the INVITE (in particular, a 487). Therefore, if a
UAC wishes to give up on its call attempt entirely, it can send a
CANCEL. If the INVITE results in

2xx final response(s) to the INVITE, this means that a UAS accepted the
invitation while the CANCEL was in progress. The UAC MAY continue with
the sessions established by any 2xx responses, or MAY terminate them
with BYE.

 

Note : For the callee's UA, it would typically imply a BYE; presumably,
when the user picked up the phone, a 2xx was generated, and so hanging

up would result in a BYE after the ACK is received. This does not mean a
user cannot hang up before receipt of the ACK, it just means that the 

 software in his phone needs to maintain state for a short while in
order to clean up properly. If the particular UI allows for the user to
reject a

 call before its answered, a 403 (Forbidden) is a good way to express
that. As per the rules above, a BYE can't be sent.

 

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. This rule means that a BYE sent without
tags by a UAC will be rejected.

 

In the early dialog establishment, it is better to send Cancel for the
above scenario, if  we send BYE instead of Cancel, then UAS should send
4XX Response ( It should be 481 response code (Call/Transaction Does Not
Exist)) 

 

 

Regards,

Devaraj G.M

________________________________

From: discussion-bounces at sipforum.org [mailto:
discussion-bounces at sipforum.org <mailto:discussion-bounces at sipforum.org>
] On Behalf Of Anshupriya Nayak
Sent: Thursday, September 06, 2007 9:18 AM
To: discussion at sipforum.org
Subject: [SIPForum-discussion] BYE during setup phase

 


HI All, 

If  UAC send BYE during calll setup phase then what would be the
response for BYE method. 
Scenario is:- 

UAC                                        UAS, 

INVITE- - -- - - --- -- - - - -- - - -- - - -- -> 
<- - - -- - - - -- - - ---- - - -- - -- --- - -- - - 100 Trying 
<- - - -- - - - -- - - ---- - - -- - -- --- - -- - - 180 Ringing 
BYE  - -- - - --- -- - - - -- - - -- - - -- -> 
                                ?????? 


Regards 
Anshu

***********************  Aricent-Private   *********************** 

 
"DISCLAIMER: This message is proprietary to Aricent  and is intended
solely for the use of 
 
the individual to whom it is addressed. It may contain privileged or
confidential information and should not be 
 
circulated or used for any purpose other than for what it is intended.
If you have received this message in error, 
 
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly
 
prohibited from using, copying, altering, or disclosing the contents of
this message. Aricent accepts no responsibility for 
 
loss or damage arising from the use of the information transmitted by
this email including damage from virus."

 

========================================================================
====================================================

Disclaimer:

This message and the information contained herein is proprietary and
confidential and subject to the Tech Mahindra policy statement, you may
review the policy at http://www.techmahindra.com/Disclaimer.html
externally and http://tim.techmahindra.com/Disclaimer.html internally
within Tech Mahindra.

========================================================================
====================================================


_______________________________________________
This is the SIP Forum discussion mailing list
TO UNSUBSCRIBE, or edit your delivery options, please visit
http://sipforum.org/mailman/listinfo/discussion
Post to the list at discussion at sipforum.org

 



============================================================================================================================
 
Disclaimer:

This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review the policy at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra.

============================================================================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sipforum.org/pipermail/discussion/attachments/20070906/7d025334/attachment-0002.html>


More information about the discussion mailing list