Re: [Stox] Media Sessions (draft-ietf-stox-media-01) and forking

"Olle E. Johansson" <> Sat, 10 August 2013 14:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 435FB11E8100 for <>; Sat, 10 Aug 2013 07:56:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.037
X-Spam-Status: No, score=-2.037 tagged_above=-999 required=5 tests=[AWL=-0.308, BAYES_00=-2.599, SARE_MLH_Stock1=0.87]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9OfL8HBcbhvR for <>; Sat, 10 Aug 2013 07:56:40 -0700 (PDT)
Received: from ( [IPv6:2a02:920:212e::205]) by (Postfix) with ESMTP id 571CA21F8E2A for <>; Sat, 10 Aug 2013 07:49:05 -0700 (PDT)
Received: from [] ( []) by (Postfix) with ESMTPA id E94F593C1AF; Sat, 10 Aug 2013 14:49:03 +0000 (UTC)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: "Olle E. Johansson" <>
In-Reply-To: <>
Date: Sat, 10 Aug 2013 16:49:54 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <>
To: Paul Kyzivat <>
X-Mailer: Apple Mail (2.1508)
Subject: Re: [Stox] Media Sessions (draft-ietf-stox-media-01) and forking
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP-TO-XMPP Working Group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 10 Aug 2013 14:56:41 -0000

10 aug 2013 kl. 16:33 skrev Paul Kyzivat <>du>:

> On 8/10/13 2:41 PM, Olle E. Johansson wrote:
>> 9 aug 2013 kl. 20:27 skrev Paul Kyzivat <
>> <>>:
>>>>> The typical issue is that forking results in multiple early dialogs.
>>>>> More than one may result in early media. To give good results the GW
>>>>> needs to pass on some or all of that early media to the XMPP side.
>>>>> If more than one has early media, then its difficult to know what to
>>>>> do. You might pass *one* of them on to the XMPP side.
>>>> I don't think we can pass the early media, since there is no way to
>>>> do it today. I'd go for leaving it unspecified. There seems to be
>>>> some action going on for rebooting Jingle, so when Jingle has a story
>>>> for early media a new document could be written specifying it. Would
>>>> this work for you? I know it doesn't cover all those
>>>> mutli-edarly-dialog cases, but I'm not sure we can do nay better at
>>>> this point.
>> Just answer the call on the jingle side when you have early media. If
>> you haven't got billing on that side, it doesn't matter. If you have
>> billing, then don't answer. Easy to document.
> That doesn't help very often. The case of concern is when the call originates from Jingle and an offer is included. This then gets gatewayed to SIP, and then forked. At that point each of the forks could start sending media back to the media address in the offer.
> The Jingle end doesn't have the option to answer the call.
> If the GW terminates and relays media, then it is possible for the GW to answer the Jingle call, prior to receiving an answer from any fork. Then the GW can decide what media to relay.
> But that only works if the GW is a media relay. It isn't an option for a signaling only GW.
Right, but I haven't seen anyone really interested in "signaling only" gw's. Emil said multiple times during our IETF meeting that it will be a b2bua anyway.

Early media is just media - it's the billing that's the difference. There's no way to handle multiple early media streams "properly" even if you're a sip b2bua without Jingle at all...

So if you have a jingle endpoint placing a call to a SIP URI and the gateway gets early media from the SIP side, the gateway can answer the jingle call and relay the early media. Whether it wants to mix or stay with the first stream in the case of multiple early media stream is propably up to the implementation - or it's time to specify this behaviour.  Personally I would like to ban sending ring tones with 183 - if they used 180 for ring tones and 183 for other messages a gateway could suspend the ring tones instead of mixing or just ignoring the second media stream.