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

Paul Kyzivat <> Wed, 14 August 2013 20:19 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A478921F9CDF for <>; Wed, 14 Aug 2013 13:19:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.137
X-Spam-Status: No, score=0.137 tagged_above=-999 required=5 tests=[AWL=-0.296, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1, SARE_MLH_Stock1=0.87]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id bsrXOPx1QQNQ for <>; Wed, 14 Aug 2013 13:19:55 -0700 (PDT)
Received: from ( [IPv6:2001:558:fe14:43:76:96:62:80]) by (Postfix) with ESMTP id 7ACE921F9CC6 for <>; Wed, 14 Aug 2013 13:19:53 -0700 (PDT)
Received: from ([]) by with comcast id CbJ11m0011HzFnQ58kKtuR; Wed, 14 Aug 2013 20:19:53 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([]) by with comcast id CkKq1m01N3ZTu2S3akKrPS; Wed, 14 Aug 2013 20:19:52 +0000
Message-ID: <>
Date: Wed, 14 Aug 2013 22:19:49 +0200
From: Paul Kyzivat <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: Adrian Georgescu <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=q20121106; t=1376511593; bh=KNssDSem8rHZj1pPs8ePyIDM5vGmYRkOYHh2Y9qJdx4=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=kg/GgI6gRH/p9OE3CFdZZKn8CzSfbpKsoUG1MjRW8oUKvSNYuDTHW3gpXru4+sWCx eTE8gp9RTGzi1NEaOlHiKg1vBjiXnc6vxhKS+cNKjrfMdw9ptfUmPJsll/ChKOIImI igzNJ0bgjaVScEAoxCyIENN6m6OwiHPww+mdGq5XmSspxB/AyNn+DKulMOvdgg8RhU xPGENvH11E61CvNWnQgjwmqZGXQV2dH9vMMMug8X0I3sxVBNAOmxUzcFCra9KeeeIS utGraNfqZd7JmOtFzi89GqIYNIxeMJjM7LjaQ+L+DqGt87vDenq/QG4E+tpf5aZVT1 EmTwCbPzYUd+w==
Cc: "" <>, "Olle E. Johansson" <>, Christer Holmberg <>
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: Wed, 14 Aug 2013 20:19:59 -0000

On 8/14/13 9:52 PM, Adrian Georgescu wrote:
> How would that work when there is one SIP session with two media types, RTP audio and MSRP chat, where would such split occur?

It depends a bit on how this should look on the xmpp side. (Not my 
thing.) Assuming you can use a single xmpp session for the voice and the 
chat, then it would look something like:

XMPP                                     SIP
CLIENT               GW                  CLIENT
            xmpp       |
                       |       msrp


(Sorry if the above is mangled by different clients.) So the GW 
translates sip signaling to/from XMPP signalling. It also terminates the 
MSRP on the sip side, and translates the content into XMPP signaling in 
the same session. But it hands off the RTP addresses from the xmpp 
signaling to sip signaling so that the RTP media passes e2e.


> Adrian
> On Aug 14, 2013, at 9:17 PM, Paul Kyzivat <> wrote:
>> On 8/11/13 12:33 AM, Adrian Georgescu wrote:
>>> I am wondering how a SIP session with multiple media types like RTP and MSRP can be translated into an equivalent XMPP signalling without bridging media as well.
>> I suppose the MSRP would indeed have to be terminated by the GW and translated into XMPP format. But it could still avoid handling the RTP.
>> 	Thanks,
>> 	Paul
>>> Adrian
>>> On Aug 11, 2013, at 12:22 AM, Christer Holmberg <> wrote:
>>>> Hi,
>>>>>>>>>> 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.
>>>> A B2BUA does not necessarily control media. Please take a look at, which discusses signaling B2BUAs :)
>>>>> 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...
>>>> That is correct. The difference is that we are now standardizing the behavior of the GW, so we do need to say something.
>>>>> 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.
>>>> If you are going to forward all early media from the SIP side (keep in mind that there may be multiple simultaneous early media streams coming from different SIP UASs), you also need to map and forward the SDP information received on each SIP early dialog to the Jingle side.
>>>> Regards,
>>>> Christer
>>>> _______________________________________________
>>>> stox mailing list
>> _______________________________________________
>> stox mailing list