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

"Worley, Dale R (Dale)" <> Fri, 29 October 2010 18:20 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E36D53A69FF for <>; Fri, 29 Oct 2010 11:20:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -101.843
X-Spam-Status: No, score=-101.843 tagged_above=-999 required=5 tests=[AWL=-0.444, BAYES_00=-2.599, J_CHICKENPOX_29=0.6, J_CHICKENPOX_39=0.6, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id K3MqTHQkxajb for <>; Fri, 29 Oct 2010 11:20:32 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9C2573A69C4 for <>; Fri, 29 Oct 2010 11:20:31 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.58,260,1286164800"; d="scan'208";a="215962274"
Received: from unknown (HELO ([]) by with ESMTP; 29 Oct 2010 14:22:06 -0400
X-IronPort-AV: E=Sophos;i="4.58,260,1286164800"; d="scan'208";a="534432196"
Received: from unknown (HELO ([]) by with ESMTP; 29 Oct 2010 14:22:05 -0400
Received: from ([]) by ([]) with mapi; Fri, 29 Oct 2010 14:22:05 -0400
From: "Worley, Dale R (Dale)" <>
To: "" <>, "" <>
Date: Fri, 29 Oct 2010 14:22:04 -0400
Thread-Topic: [sipcore] Bypassing out-of-service intermediate Proxy
Thread-Index: ActKwqukakXd2CSyR9G+Afh4w9O9dQsxhaSAAAMmKZU=
Message-ID: <>
References: <> <>, <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "" <>
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: Fri, 29 Oct 2010 18:20:33 -0000

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.