Re: [sipcore] Bypassing out-of-service intermediate Proxy

Paul Kyzivat <> Sat, 06 November 2010 11:38 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E459D3A6912 for <>; Sat, 6 Nov 2010 04:38:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -109.999
X-Spam-Status: No, score=-109.999 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_00=-2.599, J_CHICKENPOX_29=0.6, J_CHICKENPOX_39=0.6, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id JFa4sBhbMSWw for <>; Sat, 6 Nov 2010 04:37:52 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 165C73A68FD for <>; Sat, 6 Nov 2010 04:37:28 -0700 (PDT)
Authentication-Results:; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEADLb1ExAaMHG/2dsb2JhbACiCHGgapsThUgEilWDCg
X-IronPort-AV: E=Sophos;i="4.58,307,1286150400"; d="scan'208";a="615555565"
Received: from ([]) by with ESMTP; 06 Nov 2010 11:37:35 +0000
Received: from [] ( []) by (8.13.8/8.14.3) with ESMTP id oA6BbWfE004659; Sat, 6 Nov 2010 11:37:33 GMT
Message-ID: <>
Date: Sat, 06 Nov 2010 07:37:32 -0400
From: Paul Kyzivat <>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv: Gecko/20101013 Thunderbird/3.1.5
MIME-Version: 1.0
References: <><>, <> <><> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [sipcore] Bypassing out-of-service intermediate Proxy
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Core Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 06 Nov 2010 11:39:47 -0000

On 11/5/2010 2:44 PM, wrote:
> I don't think this analogy is correct.
> If you take the example of a SIP Server which is inserted in the SIP path only to provide a supplementary service in case this latter is requested by the user ( e.g. call transfer), I think that the user will not be satisfied if it's call does not succeed just because the network is not able to provide this service...

Sure, the analogy *might* not always be correct, though it surely will 
be correct in some / many cases.

How can the element doing the skipping know? In general it has no idea 
of the importance of an element in the route.
Its at the time of insertion into the route that the importance is 
known, so that is when such decisions should be made.

> Youssef
> -----Message d'origine-----
> De : [] De la part de Paul Kyzivat
> Envoyé : mercredi 3 novembre 2010 14:58
> À :
> Objet : Re: [sipcore] Bypassing out-of-service intermediate Proxy
> This idea seems analogous to the auto assembly line deciding to bypass the broken station where the engine is inserted into the car, and just send the car on to the next station without its engine. The consumer who receives this car may be less than satisfied. :-(
> 	Thanks,
> 	Paul
> On 11/3/2010 5:55 AM, wrote:
>> I understand that the usage of DNS to provide alternate server is a way to ensure redundancy. In such solution, to be able to handle SIP requests inside a SIP dialog and for which the proxy need to be "dialog statefull", there is a need to implement a mechanism that would allow the "alternate" server to share the same SIP dialog contexts.
>> My idea is in case of unavailability of the next hop and in case no
>> alternate server is returned by DNS (or alternate servers are
>> unreachable too), instead of rejecting the request (which would make
>> the call/session fails), the SIP Proxy may send it to the hop after
>> the unreachable one in the Route. This alternative would be authorized
>> only if the Proxy knows that it's better to bypass the unreachable
>> node instead of rejecting the request. The SIP proxy may get this
>> information via a URI parameter in the Route entry of the
>> "unreachable" node for example
>> Best regards,
>> Youssef
>> -----Message d'origine-----
>> De : Worley, Dale R (Dale) [] Envoyé :
>> vendredi 29 octobre 2010 20:22 À : CHADLI Youssef RD-CORE-ISS;
>> Cc : Objet : RE: [sipcore] Bypassing
>> out-of-service intermediate Proxy
>> ________________________________________
>> From: [] On Behalf Of
>> []
>> I understand that the intention of this text in RFC 3261 is to fail over to an alternate server that serves the same function. Though, it's not explicitly stated.
>> However, I did not find any text in RFC 3261 that would make forbidden failing over to a proxy further down the path.  Moreover, I did not see any problem to such behaviour.
>> ________________________________
>> If a particular URI is included in a Route header, then there is some important function the server with that URI is to perform.  If one element ignores this URI and sends the request to the next URI in the Route header, presumably the function of the skipped server will not be performed.
>> In all cases that I have heard about, the correct way to provide alternate servers for a failed server is to construct a DNS SRV name which maps to the primary and alternate server as is desired.
>> For instance, if functionA is to be serviced by serverA but in an emergency the request can be routed to serverB, and if functionB is serviced by serverB, then we construct two SRV names:
>> functionA    SRV   serverA  priority=1
>> functionA    SRV   serverB  priority=2
>> functionB    SRV   serverB priority=1
>> and use this Route header:
>> Route:  sip:functionA, sip:functionB
>> If an element has a request with this Route header, it will send the request to sp:functionA using the RFC 3263 rules, viz., attempt to send to serverA, and if that fails, attempt to send to serverB.
>> Dale
>> _______________________________________________
>> sipcore mailing list
> _______________________________________________
> sipcore mailing list