Standards
http://www.jabber.org/jeps/jep-0085.html (Chat State Notifications)
http://www.jabber.org/jeps/jep-0115.html (Entity Capabilities)
http://www.jabber.org/jeps/jep-0153.html (vCard Avatars)
http://www.jabber.org/jeps/jep-0176.html (Jingle ICE-RTP)
http://www.jabber.org/jeps/jep-0177.html (Jingle UDP)
http://www.ietf.org/internet-drafts/draft-ietf-mmusic-ice-08.txt (ICE draft)
Other Documentation
Namespaces
#define NS_DISCO_INFO "http://jabber.org/protocol/disco#info" #define NS_DISCO_ITEMS "http://jabber.org/protocol/disco#items" #define NS_JINGLE "http://jabber.org/protocol/jingle" #define NS_JINGLE_AUDIO "http://jabber.org/protocol/jingle/media/audio" #define NS_JINGLE_ RTP_ICE "http://jabber.org/protocol/jingle/transport/rtp-ice" #define NS_GOOGLE_SESSION "http://www.google.com/session" #define NS_GOOGLE_SESSION_PHONE "http://www.google.com/session/phone"
Google vs. Jingle
Session Initiation
<iq type="set" to="ole.andre.ravnaas@gmail.com/Telepathy" id="msg_8">
<session
initiator="dafydd.harries@collabora.co.uk/Tabby"
type="initiate"
id="1647103958"
xmlns="http://www.google.com/session">
<description xmlns="http://www.google.com/session/phone">
<payload-type name="speex" id="96" xmlns="http://www.google.com/session/phone"></payload-type>
<payload-type name="PCMA" id="8" xmlns="http://www.google.com/session/phone"></payload-type>
</description>
</session>
</iq> <iq to='juliet@capulet.com/balcony' from='romeo@montague.net/orchard' id='jingle1' type='set'>
<jingle xmlns='http://jabber.org/protocol/jingle'
action='session-initiate'
initiator='romeo@montague.net/orchard'
sid='a73sjjvkla37jfea'>
<description ...>
<transport ...>
</jingle>
</iq> <description xmlns='http://jabber.org/protocol/jingle/media/audio'>
<payload-type id='18' name='G729'/>
<payload-type id="97" name="IPCMWB"/>
<payload-type id='98' name='L16' rate='16000' channels='2'/>
<payload-type id="96" name="ISAC" rate="8000"/>
<payload-type id="102" name="iLBC"/>
<payload-type id="4" name="G723"/>
<payload-type id="100" name="EG711U"/>
<payload-type id="101" name="EG711A"/>
<payload-type id="0" name="PCMU" rate="16000"/>
<payload-type id="8" name="PCMA"/>
<payload-type id="13" name="CN"/>
</description>
Session Acceptance
<iq type='set' to='dafydd.harries@collabora.co.uk/Tabby' id='msg_497e3fad_3179283_1923' from='ole.andre.ravnaas@gmail.com/Telepathy'>
<session
initiator='dafydd.harries@collabora.co.uk/Tabby'
type='accept'
id='1647103958'
xmlns='http://www.google.com/session'>
<description xmlns='http://www.google.com/session/phone'>
<payload-type name='PCMA' id='8'/>
</description>
</session>
</iq>'<iq type='set' from='juliet@capulet.com/balcony' to='romeo@montague.net/orchard' id='accept1'>
<jingle xmlns='http://jabber.org/protocol/jingle'
action='session-accept'
initiator='romeo@montague.net/orchard'
responder='juliet@capulet.com/balcony'
sid='a73sjjvkla37jfea'>
<description ...>
<transport ...>
</jingle>
</iq>
Transport Candidate Negotiation
<iq type="set" to="ole.andre.ravnaas@gmail.com/Telepathy" id="msg_9">
<session
initiator="dafydd.harries@collabora.co.uk/Tabby"
type="candidates" id="1647103958"
xmlns="http://www.google.com/session">
<candidate
generation="0"
network="0"
type="local"
protocol="udp"
preference="1.000000"
password="8KiCg75+hUV3Q2jy"
username="VV+6Qc97QWhXjnQt"
port="33632"
address="10.0.0.2"
name="rtp"></candidate>
</session>
</iq><iq to='juliet@capulet.com/balcony' from='romeo@montague.net/orchard' id='info1' type='set'>
<jingle xmlns='http://jabber.org/protocol/jingle'
action='transport-info'
initiator='romeo@montague.net/orchard'
sid='a73sjjvkla37jfea'>
<transport xmlns='http://jabber.org/protocol/jingle/transport/rtp-ice'>
<candidate name='myrtpvoice1'
protocol='udp'
preference='1.0'
username='/38UHtocC941jdS4'
password='pcd+Z/WmsthSFIcz'
type='local'
network='0'
generation='0'
ip='10.1.1.104'
port='13540'/>
</transport>
</jingle>
</iq>
Declination
GTalk sends a <session action="reject" />; Jingle considers a termination before an acceptance a declination.
Termination
<iq type="set" to="ole.andre.ravnaas@gmail.com/Telepathy" id="msg_8">
<session
initiator="dafydd.harries@collabora.co.uk/Tabby"
type="terminate"
id="401023247"
xmlns="http://www.google.com/session">
</session>
</iq> <iq from='juliet@capulet.com/balcony'
id='term1'
to='romeo@montague.net/orchard'
type='set'>
<jingle xmlns='http://jabber.org/protocol/jingle'
action='terminate'
initiator='romeo@montague.net/orchard'
sid='a73sjjvkla37jfea'/>
</iq>
