[Standards-JIG] Re: Standalone RTP Proxy

Thiago Rocha Camargo thiago at jivesoftware.com
Tue Oct 31 15:10:18 UTC 2006


Jean,


Text below from XEP-0166:


"Note: The syntax and semantics of the <description/> and <transport/> 
elements are out of scope for this specification, but are defined in 
related specifications.

The attributes of the <jingle/> element are as follows:

    * The 'action' attribute is REQUIRED; it specifies a Jingle action
      as listed in this document (e.g., "session-initiate").
    * The 'initiator' attribute is the full JID of the entity that has
      initiated the session flow (which may be different from the 'from'
      address on the IQ-set).
    * *The 'responder' attribute (see examples below) is the full JID of
      the entity that has replied to the initiation (which may be
      different from the 'to' address on the IQ-set).*
    * The 'sid' attribute is a random session identifier generated by
      the initiator; this SHOULD match the XML Nmtoken production [16
      <http://www.xmpp.org/extensions/xep-0166.html#nt-id2259435>] so
      that XML character escaping is not needed for characters such as
      &. (Note: the 'sid' attribute effectively maps to the SIP
      "Call-ID" parameter.)"

In my interpretation the Client who is starting Jingle Session, could 
set who will be the responder, and to who the packet will be sent. But 
it´s just a possibility.

The packet below will be sent to *relay.capulet.com*, and the responder 
will be **juliet at capulet.com/balcony.
**

<iq *to='relay.capulet.com' *from='romeo at montague.net/orchard'
id='jingle1' type='set'>
     <jingle xmlns='http://jabber.org/protocol/jingle'
          action='session-initiate'
          initiator='romeo at montague.net/orchard'
*	  responder='juliet at capulet.com/balcony'*
	  sid='a73sjjvkla37jfea'>
    <content name='this-is-the-audio-content'>
      <description
xmlns='http://jabber.org/protocol/jingle/description/audio'>
        ...
      </description>
      <transport xmlns='http://jabber.org/protocol/jingle/transport/ice'>
        ...
      </transport>
      <transport
xmlns='http://jabber.org/protocol/jingle/transport/raw-udp'>
        ...
      </transport>
    </content>
        ...
  </jingle>
</iq>

When **relay.capulet.com**  check that the responder is different from 
itself, it have to establish a session with that responder and vice 
versa. I can´t see any good reason, why the client who start the session 
can´t set the responder value.

Maybe it isn´t a used solution, but with the current information in this 
packet we can establish the session.

Let´s ask the list :)

Regards,
Thiago

Jean-Louis Seguineau escreveu:
> Thiago, 
>
> The way the current Jingle XEP is defined, the initiator *cannot* set the
> 'responder' attribute (my interpretation at reading the XEP). So your
> proposal would be invalid. You may want to ask the list for confirmation. 
>
> Using the XEP-0033 would instead bring you many more advantages, such as
> multiple forwards, which would behave like SIP forking.
>
> Cheers
>
> Jean-Louis
>
> -----Original Message-----
> From: Thiago Rocha Camargo [mailto:thiago at jivesoftware.com] 
> Sent: Tuesday, October 31, 2006 3:12 PM
> To: Jean-Louis Seguineau
> Subject: Re: Standalone RTP Proxy
>
> |Jean-Louis,
>
> I don´t think we need this extension to create a forward jingle session.
>
> <iq to='*relay.capulet.com*' from='romeo at montague.net/orchard' id='jingle1'
> type='set'>
> *   <addresses xmlns='http://jabber.org/protocol/address'>
>        <address type='to' jid=' juliet at capulet.com/balcony '/>
>    </addresses>*
>    <jingle xmlns='http://jabber.org/protocol/jingle'
>           action='session-initiate'
>           initiator='romeo at montague.net/orchard'
>           sid='a73sjjvkla37jfea'>
>     <content name='this-is-the-audio-content'>
>       <description
> xmlns='http://jabber.org/protocol/jingle/description/audio'>
>         ...
>       </description>
>       <transport xmlns='http://jabber.org/protocol/jingle/transport/ice'>
>         ...
>       </transport>
>       <transport
> xmlns='http://jabber.org/protocol/jingle/transport/raw-udp'>
>         ...
>       </transport>
>     </content>
>         ...
>   </jingle>
> </iq>
>
> If I successfully understand the method described in your last article, we
> can use the following stanza:
>
> ||<iq to='*relay.capulet.com*' from='romeo at montague.net/orchard'
> id='jingle1' type='set'>
> **   <jingle xmlns='http://jabber.org/protocol/jingle'
>           action='session-initiate'
>           initiator='romeo at montague.net/orchard'
> 	  *responder='*|*|**juliet at capulet.com/balcony**|*|*'*
> 	  sid='a73sjjvkla37jfea'>
>     <content name='this-is-the-audio-content'>
>       <description
> xmlns='http://jabber.org/protocol/jingle/description/audio'>
>         ...
>       </description>
>       <transport xmlns='http://jabber.org/protocol/jingle/transport/ice'>
>         ...
>       </transport>
>       <transport
> xmlns='http://jabber.org/protocol/jingle/transport/raw-udp'>
>         ...
>       </transport>
>     </content>
>         ...
>   </jingle>
> </iq>|
>
>
> This way relay.capulet.com must behave as a proxy. And it should automatic
> add new candidates 
>
>
>   




More information about the Standards mailing list