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

Christer Holmberg <> Mon, 29 November 2010 12:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 13C613A6BC5 for <>; Mon, 29 Nov 2010 04:52:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.468
X-Spam-Status: No, score=-6.468 tagged_above=-999 required=5 tests=[AWL=0.131, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id YtGG5x56z6Pf for <>; Mon, 29 Nov 2010 04:52:19 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id EE7833A6A1A for <>; Mon, 29 Nov 2010 04:52:18 -0800 (PST)
X-AuditID: c1b4fb39-b7bafae000002a42-58-4cf3a2470e46
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id 94.8F.10818.742A3FC4; Mon, 29 Nov 2010 13:53:27 +0100 (CET)
Received: from ([]) by ([]) with mapi; Mon, 29 Nov 2010 13:53:26 +0100
From: Christer Holmberg <>
To: Paul Kyzivat <>
Date: Mon, 29 Nov 2010 13:53:26 +0100
Thread-Topic: [sipcore] Bypassing out-of-service intermediate Proxy
Thread-Index: AcuPwWGQ1SLPbHR9Tq+gABwevxfoxgAAqzGA
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
X-Brightmail-Tracker: AAAAAA==
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: Mon, 29 Nov 2010 12:52:20 -0000


>>>>Not exactly the same case that Youssef is talking about, 
>>>>but every now and then I have had discussions that it would be useful to be 
>>>>able to re-negotiate the route set (not only the local/remote 
>>>>targets, but also the record-routes) during a dialog. E.g. in Outbound cases it 
>>>>could be used to move ongoing dialogs from a failed flow to 
>>>>another (it is not always possible to achieve it by using 
>>>>domain names and DNS).
>>>>A problem is of course backward compability, becuase you would need 
>>>>to ensure that every intermediary that wants to remain in the route 
>>>>set inserts Record-Route in every re-INVITE/UPDATE (or 
>>>>whatever request is used to re-negotiate the route set).
>>>>No, I did not suggest that we start work on such functionality :)
>>>We already have a way to do that: INVITE with Replaces.
>>Sure, but that requires the establishment of a new session.
>>Because I don't think it's allowd to send a re-INVITE, in 
>>order for a session to replace "itself", is it?
>Yes, it requires establishment of a new session. But the new 
>session could be identical to the old one. (E.g. the exact 
>same media addresses, ports, and formats could be offered.)

I guess it would be useful to e.g. have a response code which would trigger the new INVITE, so that it doesn't have to be done by a B2BUA in the network.

For example, if a registrar detects that it cannot forward a mid-session request on an outbound flow, it could send an error response back to the UA in order to trigger a new INVITE, which would then be forwarded on another outbound flow.