There is even an IETF draft which discusses
the problems with UAs inappropriately sending
6xx responses.


        Title           : 6xx-Class Responses Considered Harmful in the Session 
Initiation Protocol (SIP)
        Author(s)       : D. Worley
        Filename        : draft-worley-6xx-considered-harmful-00.txt
        Pages           : 12
        Date            : 2007-2-26

   The specification of the Session Initiation Protocol (SIP) permits a
   user agent (UA) that receives a call to generate a response in the
   "6xx class" that not only rejects the call but also requires the
   termination of all attempts to route the call to alternative
   destinations.  As the call may have reached the UA through multiple
   forwardings whose meanings cannot be known by the UA, the global
   termination of alternative routing can only rarely be correctly
   requested by the UA.  Because such responses are almost never
   appropriate, ability of a UA to generate such responses is harmful,
   and all 6xx class responses should be replaced with 4xx class
   responses with similar meanings.  However, there is no 4xx class
   response similar to "603 Decline", and so one needs to be created.



 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Attila Sipos
Sent: 03 June 2008 09:22
To: Iñaki Baz Castillo; [email protected]
Subject: Re: [Sip-implementors] Why does 6XX break a serial forking?

>>6XX behaviour is really painful.
>>I realy wonder why they break serail forking:

To me, 6xx means the user you're trying to reach doesn't exist anywhere or 
won't accept your call anywhere or can't accept your call anywhere.
So, it doesn't matter if you try another fork because it won't work anyway.

4xx however, (usually) means that the problem is localised at or near to the 
endpoint that you're trying to reach.  So if you fail on one fork, you can try 
another.

Now, it could be that an endpoint is sending a 6xx response when it should only 
be a 4xx (but that's another issue).

Regards,

Attila




-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Iñaki Baz 
Castillo
Sent: 03 June 2008 08:41
To: [email protected]
Subject: [Sip-implementors] Why does 6XX break a serial forking?

Hi, IMHO 6XX behaviour is really painful. I realy wonder why they break serail
forking:

* Cool behaviour (with no 6XX):
- A calls B via their proxy.
- Proxy does parallel forking and 4 instances of B ring.
- All of them reply a 4XX (Busy, Not available...).
- Then the proxy generates a new branch for the INVITE and sends it to the 
voicemail server.

* Painful behaviour (using 6XX):
- A calls B via their proxy.
- Proxy does parallel forking and 4 instances of B ring.
- 3 instances reply a 4XX and the other replies a 6XX.
- The proxy has received a 6XX so it MUST NOT create a new branch to forward 
the request to the voicemail server !!!


 RFC3261

   6 Definitions:

      Sequential Search: In a sequential search, a proxy server attempts
         each contact address in sequence, proceeding to the next one
         only after the previous has generated a final response.  A 2xx
         or 6xx class final response always terminates a sequential
         search.


Isn't it painful?



--
Iñaki Baz Castillo
[EMAIL PROTECTED]

_______________________________________________
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

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to