[Jingle] decision needed on senders="none"?

Peter Saint-Andre stpeter at stpeter.im
Wed Apr 8 16:26:26 CDT 2009


On 3/30/09 5:07 PM, Peter Saint-Andre wrote:
> On 3/21/09 5:15 AM, Sjoerd Simons wrote:
>> On Fri, Mar 20, 2009 at 02:57:55PM -0600, Peter Saint-Andre wrote:
>>>> In both Empathy and on the Nokia tables what happens in practise is that if
>>>> one side starts the video, as one of the responses of the content-add, a
>>>> content-modify is done to change the direction to the person that started
>>>> the video before the content-accept is send. In your example that would
>>>> mean Juliet could see her Romeo, while not revealing her bad hair day to
>>>> him :)
>>> Who sends the content-modify: the person who added the video or the
>>> person who accepted the video?
>>
>> The person accepting. So stealing a bit of the ascii art in the XEP, the flow
>> during the session (with Romeo as initiator) to setup the video is like this:
>>
>> Romeo                         Juliet
>>   |                             |
>>   |  content-add for video      |
>>   |---------------------------->|
>>   |  ack                        |
>>   |<----------------------------|
>>   |  content-modify for video   |
>>   |<----------------------------|
>>   |  ack                        |
>>   |---------------------------->|
>>   |  [optional transport and    |
>>   |   application negotiation]  |
>>   |<--------------------------->|
>>   |  STUN connectivity checks   |
>>   |<===========================>|
>>   |  content-accept for video   |
>>   |<----------------------------|
>>   |  ack                        |
>>   |---------------------------->|
>>   |  VIDEO (RTP)                |
>>   |============================>|
>>   |                             |
>>
>>
>> * Romeo does a content-add for video with senders="both"
>> * Julliet client doesn't want to send video so does a content-modify to change
>>   to senders="initiator"
>> * Julliet accepts the video content
>> * Romeo starts sending video to Julliet
> 
> OK, I'll compare that to what we currently have in XEP-0167 and perhaps
> adjust it accordingly.

I think that what you propose is not quite right. Why would the parties
exchange more candidates and do STUN checks if the responder has not yet
accepted the content-add? I think the order would be more like this:

Romeo                         Juliet

  |  content-add for video      |
  |---------------------------->|
  |  ack                        |
  |<----------------------------|
  |  content-modify for video   |
  |<----------------------------|
  |  ack                        |
  |---------------------------->|
  |  content-accept for video   |
  |<----------------------------|
  |  ack                        |
  |---------------------------->|
  |  [optional transport and    |
  |   application negotiation]  |
  |<--------------------------->|
  |  STUN connectivity checks   |
  |<===========================>|
  |  AUDIO + VIDEO (RTP)        |
  |<===========================>|
  |  content-modify for video   |
  |<----------------------------|
  |  ack                        |
  |---------------------------->|

So Romeo tries to add video, but Juliet changes the directionality so
that only Romeo is the sender, then accepts video (she doesn't mind if
he sends). This way the parties can set up connectivity and codecs. Thus
Romeo is sending video but Juliet isn't. Then when she's ready, she
sends another content-modify with senders="both".

Thoughts?

I realize that these scenarios are a bit contrived, and that perhaps we
need to write a whole document full of scenarios, but I wanted to at
least get this one defined so that we show the use of content-* actions.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6751 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mail.jabber.org/pipermail/jingle/attachments/20090408/971a9932/attachment.bin 


More information about the Jingle mailing list