Re: [MMUSIC] File transfer Issue 51: transfer identifier

Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com> Mon, 17 September 2007 18:10 UTC

Return-path: <mmusic-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IXL32-0001ct-0e; Mon, 17 Sep 2007 14:10:16 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IXL31-0001cn-3C for mmusic@ietf.org; Mon, 17 Sep 2007 14:10:15 -0400
Received: from mailgw3.ericsson.se ([193.180.251.60]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IXL30-0006DH-15 for mmusic@ietf.org; Mon, 17 Sep 2007 14:10:14 -0400
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 562A1205FC; Mon, 17 Sep 2007 20:10:13 +0200 (CEST)
X-AuditID: c1b4fb3c-ae67bbb0000007e1-d1-46eec305620a
Received: from esealmw128.eemea.ericsson.se (unknown [153.88.254.121]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 309A220044; Mon, 17 Sep 2007 20:10:13 +0200 (CEST)
Received: from esealmw128.eemea.ericsson.se ([153.88.254.176]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 17 Sep 2007 20:10:12 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by esealmw128.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 17 Sep 2007 20:10:12 +0200
Received: from [131.160.126.254] (rvi2-126-254.lmf.ericsson.se [131.160.126.254]) by mail.lmf.ericsson.se (Postfix) with ESMTP id 6123B2462; Mon, 17 Sep 2007 21:10:12 +0300 (EEST)
Message-ID: <46EEC303.1020606@ericsson.com>
Date: Mon, 17 Sep 2007 21:10:11 +0300
From: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@cisco.com>
Subject: Re: [MMUSIC] File transfer Issue 51: transfer identifier
References: <46C04B72.9030308@nsn.com> <46C0681D.80104@cisco.com> <46C1AC87.7010203@cisco.com> <46EBBA8D.2030509@ericsson.com> <46EEA2A5.1060207@cisco.com>
In-Reply-To: <46EEA2A5.1060207@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 17 Sep 2007 18:10:12.0742 (UTC) FILETIME=[FDB59260:01C7F955]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 2a76bcd37b1c8a21336eb0a1ea6bbf48
Cc: Miguel Garcia <Miguel.Garcia@nsn.com>, mmusic <mmusic@ietf.org>
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
Errors-To: mmusic-bounces@ietf.org

Hi,

I do not think we should change comedia at this point. There are already 
implementations out there that would need to be updated.

Regarding the consideration of such identifiers, as far as I can 
remember, they were brought up (since RTP uses them) but the collision 
rules in RTP seemed too complicated and we did not pursue that option 
further.

Cheers,

Gonzalo


Paul Kyzivat wrote:
> This usage was inherited from Comedia. If the proposal is to change it, 
> shouldn't it be changed for Comedia as well?
> 
> I thought we had fully explored the set of potential solutions before 
> settling for what we did in comedia. I don't remember for certain if we 
> considered random identifiers. (Its a bit embarrassing if we failed to 
> discover that solution, since it does seem a bit better.)
> 
>     Paul
> 
> Gonzalo Camarillo wrote:
>> Hi,
>>
>> the issue with using identifiers was that you could have collisions. 
>> When the offerer or the answerer changes during a session (e.g., a 
>> B2BUA in the middle uses 3pcc to perform call transfer) the new 
>> offerer or answerer could use the same identifier as the original 
>> parties were using. Then, instead of establishing a new connection, 
>> the original party could have thought that it had to keep using the 
>> existing one.
>>
>> Of course, this can be resolved by using long and random identifiers 
>> so that collisions almost never occur. This mechanism is probably the 
>> best option; however, it opens a new issue: how do we handle collisions?
>>
>> We could simply say that they are so unlikely that we assume they 
>> simply do not occur, we can define a collision detection mechanism, or 
>> we can tro to ensure that collisions never occur by the same the 
>> identifiers are formed (e.g., embedding a hash of a MAC address or an 
>> IP address).
>>
>> Cheers,
>>
>> Gonzalo
>>
>>
>> Paul Kyzivat wrote:
>>> More info inline.
>>>
>>>     Paul
>>>
>>> Paul Kyzivat wrote:
>>>> inline
>>>>
>>>> Miguel Garcia wrote:
>>>>> In the file transfer draft, the current a=file-transfer attribute 
>>>>> is used to indicate to the remote endpoint whether a new file 
>>>>> transfer is requested or not. This allows to keep the file 
>>>>> description without provoking a new file transfer, if, for example, 
>>>>> the SDP is repeated (imagine, due to session timer re-invite).
>>>>>
>>>>> The problem is: in order to keep the existing ongoing file 
>>>>> transfer, the  SDP creator has to change the SDP and set 
>>>>> a=file-transfer to "existing". This is a fragile mechanism: if the 
>>>>> application just ships the last SDP without any changes, then it 
>>>>> will provoke a restart of the file, due to the presence of 
>>>>> a=file-transfer:new.
>>>>>
>>>>> Ideally we would like a mechanism so that, in case the application 
>>>>> repeats the SDP, nothing happens, i.e., if the file transfer is 
>>>>> still going on, remains. If it is concluded, it is not restarted.
>>>>
>>>> This was a major concern of mine when discussing comedia.
>>>> I tried very hard to come up with a mechanism that had this 
>>>> property. But in the end I was unsuccessful. What is proposed here 
>>>> is what was used in comedia.
>>>>
>>>> I will have to dig back through all the discussion of comedia to 
>>>> discover what the major impediments were to a mechanism with this 
>>>> property. I just don't remember any longer.
>>>
>>> I went digging in my archives. I came up with two messages on the 
>>> subject. One is in the official archives:
>>>
>>> http://www1.ietf.org/mail-archive/web/mmusic/current/msg02686.html
>>>
>>> The other was private between me and gonzalo. I'm attaching a copy. 
>>> This one eventually led to what was adopted, but I don't have any 
>>> more discussion on the topic.
>>>
>>>>> Jonathan suggested to use a transfer identifier instead. This looks 
>>>>> interesting: When the endpoint repeats the SDP, if a transfer is 
>>>>> still taking place, it continues. If it already concluded, nothing 
>>>>> happens. If it is a new identifier, it will start at this point.
>>>>
>>>> I'm quite sure we investigated mechanisms like this for comedia and 
>>>> found them problematic for some reason. Perhaps Gonzalo remembers - 
>>>> he was the other person involved in that I think.
>>>
>>> draft-ietf-mmusic-sdp-comedia-08 used an a=connid attribute with a 
>>> token, which I presume is similar to what Jonathan is suggesting.
>>>
>>> In any case, as is often the case with o/a issues, 3pcc scenarios 
>>> broke this mechanism.
>>>
>>>
>>>>     Paul
>>>>
>>>>> I propose to replace the current file-transfer attribute with a 
>>>>> file-transfer-id attribute, according to Jonathan's suggestions.
>>>>>
>>>>> /Miguel
>>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Subject:
>>> comedia connid
>>> From:
>>> Paul Kyzivat <pkyzivat@cisco.com>
>>> Date:
>>> Tue, 03 Aug 2004 12:03:16 -0400
>>> To:
>>> gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
>>>
>>> To:
>>> gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
>>>
>>>
>>> Gonzalo,
>>>
>>> I thought about this some more while sleeping. I agree the problem 
>>> cannot be fixed to achieve the goal I was trying to achieve. In 
>>> retrospect, there are other cases where it can't be achieved. For 
>>> instance, there is a similar situation with preconditions, where 
>>> after one offer/answer cycle, the next offer is dependent on 
>>> something in the previous answer.
>>>
>>> So I think the best we can hope for is a weaker condition - that at 
>>> the end of one offer/answer cycle it is possible to compute what the 
>>> next offer should be in order to preserve the status quo. Then that 
>>> only need be changed if change is subsequently required.
>>>
>>> Having said that, if that is the goal, then I think we can do 
>>> considerably better than the current proposal for connid - something 
>>> that is much mor intuitive. I propose we replace connid with:
>>>
>>>     a=connection: new
>>> or
>>>     a=connection: existing
>>>
>>> This is very similar to the old proposal of a=reconnect, except for 
>>> one small but significant difference - use in the initial offer.
>>>
>>> I don't especially like having to weaken the condition for preserving 
>>> the status quo, but if one acknowledges the need to do so I think 
>>> this change is an improvement.
>>>
>>>     Paul
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> mmusic mailing list
>>> mmusic@ietf.org
>>> https://www1.ietf.org/mailman/listinfo/mmusic
>>


_______________________________________________
mmusic mailing list
mmusic@ietf.org
https://www1.ietf.org/mailman/listinfo/mmusic