[Standards] Re: updated STUN discovery proposal

V Unni ukv1977 at yahoo.com
Sun Apr 29 21:17:51 CDT 2007


Hi,
  Was going through stun-discovery proposal. Just wondering this concept can be extended as a service discovery than just stun discovery.
   
  Justification :
=============
  1) The current stun bis differs from the RFC 3489. Considering this, In future more stun versions may exist  or co-exists with stun relay or other p2p protocols.At a later point, if stun give way to some other protocol, we need to obsolete our extensions.
   
  2) The IM is on its way to convergence, we require a  generic service discovery mechanism  which can fit the future needs of evolving  services.
   
  3) The below proposed changes allows publist / discovery of multiple services with single query ( ex: a jingle/voip session may need  services of stun and relay discovery).
   
  4) The below proposed changes on the stun discovery  are simple and extend-able for the future needs.
  
Changes :
========
  name : from stun-discovery to service-discovery
  The new payload format:
=======================
          <service  xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          <server servicename=stun host='stun1.shakespeare.lit' port='3478' proto=tcp/>
          <server servicename=stun host='stun2.shakespeare.lit' port='3478'proto=udp/>
          <server servicename=stun-relay  host='turn.shakespeare.lit' port='443'proto=tls/>
        </service>
  
Authorized Entity Publishes STUN Server List
============================================
  <iq type='set'
    from='bard at shakespeare.lit/globe'
    to='shakespeare.lit'
    id='pub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <publish node='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
      <item id='foo'>
        <service  xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          <server  servicename=stun host='stun1.shakespeare.lit' port='3478' proto=tcp/>
          <server servicename=stun-relay  host='turn.shakespeare.lit' port='443'proto=tls/>
          <server servicename=stun host='stun1.shakespeare.lit' port='3479'proto=udp/>
        </service>
      </item>
    </publish>
  </pubsub>
</iq>
   
  Authorized Entity Publishes Updated STUN Server List
===================================================  
  <iq type='set'
    from='bard at shakespeare.lit/globe'
    to='shakespeare.lit'
    id='pub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <publish node='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
      <item id='foo'>
        <service  xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          <server  servicename=stun host='stun1.shakespeare.lit' port='3478' proto=tcp/>
          <server servicename=stun-relay  host='turn.shakespeare.lit' port='443'proto=tls/>
          <server servicename=stun host='stun2.shakespeare.lit' port='3478'proto=udp/>
        </service>
      </item>
    </publish>
  </pubsub>
</iq>
  
 
Server Returns STUN Server List: 
================================
  <iq type='result'
    from='shakespeare.lit'
    to='juliet at capulet.lit/chamber'
    id='items1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <items node='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
        <service  xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'>
          <server  servicename=stun host='stun1.shakespeare.lit' port='3478' proto=tcp/>
          <server servicename=stun-relay  host='turn.shakespeare.lit' port='443'proto=tls/>
          <server servicename=stun host='stun2.shakespeare.lit' port='3478'proto=udp/>
        </service>
    </items>
  </pubsub>
</iq>
  
XML Schema:
==========
<?xml version='1.0' encoding='UTF-8'?>
  <xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='http://www.xmpp.org/extensions/xep-xxxx.html#ns'
    xmlns='http://www.xmpp.org/extensions/xep-xxxx.html#ns'
    elementFormDefault='qualified'>
    <xs:element name='service'>
    <xs:complexType>
      <xs:sequence minOccurs='0'>
        <xs:element ref='server'/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
    <xs:element name='server'>
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base='empty'>
          <xs:attribute name='servicename' type='xs:string' use='required'/>
          <xs:attribute name='host' type='xs:string' use='required'/>
          <xs:attribute name='port' type='xs:string' use='required'/>
          <xs:attribute name='proto' type='xs:string' use='required'/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
    <xs:simpleType name='empty'>
    <xs:restriction base='xs:string'>
      <xs:enumeration value=''/>
    </xs:restriction>
  </xs:simpleType>
  </xs:schema>
  
  all the other examples on the document http://www.xmpp.org/extensions/inbox/stun-discovery.html stay same.
  
thanx
unni
   
  NB: man proposes,  god ..... ;-)

       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.jabber.org/pipermail/standards/attachments/20070429/60142048/attachment.htm


More information about the Standards mailing list