A XMPP Client Voice Mail Callflow. 1. Introduction This document explains the callflow and message details of a XMPP client voicemail call. This flow is found in googletalk instant messaging program. 2. CallFlow Clinet XMPP server | | | | | | | 1 IQ id=74 Session-initiate | |---------------------------------------->| | | | | | | | 2 IQ id=76 Transport-info | |---------------------------------------->| | | | | | | | 3 IQ id=77 Transport-info | |---------------------------------------->| | | | | | | | 4 IQ result id=74 | |<----------------------------------------| | | | | | | | 5 IQ id=665 candidates | |<----------------------------------------| | | | | | | | 6 IQ id=78 candidates | |---------------------------------------->| | | | | | | | 7 IQ result id=665 | |---------------------------------------->| | | | | | | | 8 IQ error id=76 | |<----------------------------------------| | | | |
| | | 9 IQ error id=77 | |<----------------------------------------| | | | | | | | 10 IQ result id=78 | |<----------------------------------------| | | | | | | | 11 IQ id=666 Session-accept | |<----------------------------------------| | | | | | | | 12 IQ result id=666 | |---------------------------------------->| | | | | | | | | |==================RTP====================| | | | | | | | 13 IQ id=81 Session-terminate | |---------------------------------------->| | | | | | | | 14 IQ result id=81 | |<----------------------------------------| | | | | | | 3. Message Details 1) SEND
<session xmlns="http://www.google.com/session" type="initiate" id="1000" initiator="[email protected]/balcony"> <description xmlns="http://www.google.com/session/phone" xml:lang="en"> <payload-type xmlns="http://www.google.com/session/phone" id="103" name="ISAC" clockrate="16000"/> <payload-type xmlns="http://www.google.com/session/phone" id="97" name="IPCMWB" clockrate="16000" bitrate="80000"/> <payload-type xmlns="http://www.google.com/session/phone" id="99" name="speex" clockrate="16000" bitrate="22000"/> <payload-type xmlns="http://www.google.com/session/phone" id="4" name="G723" clockrate="8000" bitrate="6300"/> <payload-type xmlns="http://www.google.com/session/phone" id="98" name="speex" clockrate="8000" bitrate="11000"/> <payload-type xmlns="http://www.google.com/session/phone"
id="100" name="EG711U" clockrate="8000" bitrate="64000"/> <payload-type xmlns="http://www.google.com/session/phone" id="101" name="EG711A" clockrate="8000" bitrate="64000"/> <payload-type xmlns="http://www.google.com/session/phone" id="0" name="PCMU" clockrate="8000" bitrate="64000"/> <payload-type xmlns="http://www.google.com/session/phone" id="8" name="PCMA" clockrate="8000" bitrate="64000"/> <payload-type xmlns="http://www.google.com/session/phone" id="13" name="CN" clockrate="8000"/> <payload-type xmlns="http://www.google.com/session/phone" id="102" name="iLBC" clockrate="8000" bitrate="13300"/> <payload-type xmlns="http://www.google.com/session/phone" id="106" name="telephone-event" clockrate="8000"/> 2) SEND
<session xmlns="http://www.google.com/session" type="transportinfo" id="1000" initiator="[email protected]/balcony"> 3) SEND
<session xmlns="http://www.google.com/session" type="transportinfo" id="1000" initiator="[email protected]/balcony"> 4) RECV
5) RECV
<ses:session type="candidates" id="1000" initiator="[email protected]/balcony" xmlns:ses="http://www.google.com/session"> <ses:candidate name="rtp" address="vmailIp.in.dotted.format"
port="19295" username="onetimeusername" password="onetimepassword" preference="1.0" protocol="udp" type="udp-local" network="A" generation="0"/> <ses:candidate name="rtp" address="vmailIp.in.dotted.format" port="19294" username="onetimeusername" password="onetimepassword" preference="0.6" protocol="tcp" type="tcp-local" network="A" generation="0"/> <ses:candidate name="rtp" address="vmailIp.in.dotted.format" port="443" username="onetimeusername" password="onetimepassword" preference="0.5" protocol="ssltcp" type="ssltcp-local" network="A" generation="0"/> 6) SEND
<session xmlns="http://www.google.com/session" type="candidates" id="1000" initiator="[email protected]/balcony"> 7) SEND
8) RECV
<session type="transport-info" id="1000" initiator="[email protected]/balcony" xmlns="http://www.google.com/session"> <error code="400" type="modify"> unknown session message type 9) RECV
<session type="transport-info" id="1000"
initiator="[email protected]/balcony" xmlns="http://www.google.com/session"> <error code="400" type="modify"> unknown session message type 10) RECV
11) RECV
<ses:session type="accept" id="1000" initiator="[email protected]/balcony" xmlns:ses="http://www.google.com/session"> 12) SEND
RTP HAPPENS HERE 13) SEND
<session xmlns="http://www.google.com/session" type="terminate" id="1000" initiator="[email protected]/balcony"/> 14) RECV