
; left JID is user9@n47.cs.adsi-m4.com/Spark
; right JID is user06@n88.cs.adsi-m4.com/Spark

; I've edited the xml to be readable, and annotated the
; log file with what I was doing.

; left logs in

15:34:34 left sends
<presence id='DL79m-8'
  from='user9@n47.cs.adsi-m4.com/Spark'
  to='user1@n88.cs.adsi-m4.com'>
  <status>Online</status>
</presence>
<presence id='DL79m-8'
  from='user9@n47.cs.adsi-m4.com/Spark'
  to='user06@n88.cs.adsi-m4.com'>
  <status>Online</status>
</presence>
<presence type='probe'
  to='user1@n88.cs.adsi-m4.com'
  from='user9@n47.cs.adsi-m4.com'/>
<presence type='probe'
  to='user06@n88.cs.adsi-m4.com' from='user9@n47.cs.adsi-m4.com'/>

; right logs in

15:35:03 left receives
<presence id='72GYj-8'
  from='user06@n88.cs.adsi-m4.com/Spark'
  to='user9@n47.cs.adsi-m4.com'>
  <status>Online</status>
</presence>
<presence type='probe'
  to='user9@n47.cs.adsi-m4.com' from='user06@n88.cs.adsi-m4.com'/>

15:35:03 left sends
<presence id='DL79m-8'
  from='user9@n47.cs.adsi-m4.com/Spark'
  to='user06@n88.cs.adsi-m4.com'>
  <status>Online</status>
  <x xmlns='jabber:x:delay'
    from='user9@n47.cs.adsi-m4.com/Spark'
    stamp='20060412T19:34:34'/>
</presence>

15:35:19 left sends
<iq id='DL79m-16'
  to='user06@n88.cs.adsi-m4.com'
  type='get'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <vCard xmlns='vcard-temp'/>
</iq>

15:35:20 left receives
<iq id='DL79m-16'
  to='user9@n47.cs.adsi-m4.com/Spark'
  type='result'
  from='user06@n88.cs.adsi-m4.com'/>

; left sends 'aaa' chat msg

15:35:33 left sends
<message id='DL79m-17'
  to='user06@n88.cs.adsi-m4.com'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='chat'>
  <body>aaa</body>
  <x xmlns='jabber:x:event'>
    <offline/><delivered/><displayed/><composing/>
  </x>
</message>

15:35:34 left receives
<iq id='72GYj-15'
  to='user9@n47.cs.adsi-m4.com'
  type='get'
  from='user06@n88.cs.adsi-m4.com/Spark'>
  <vCard xmlns='vcard-temp'/>
</iq>

15:35:34 left sends
<iq id='72GYj-15'
  to='user06@n88.cs.adsi-m4.com/Spark'
  type='result'
  from='user9@n47.cs.adsi-m4.com'/>

; right sends 'bbb' chat msg

15:36:01 left receives
<message id='72GYj-16'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='chat'>
  <body>bbb</body>
  <x xmlns='jabber:x:event'>
  <offline/><delivered/><displayed/><composing/></x>
</message>

15:36:01 left sends
<message id='DL79m-18'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <delivered/>
    <id>72GYj-16</id>
  </x>
</message>
<message id='DL79m-19'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <displayed/>
    <id>72GYj-16</id>
  </x>
</message>

; left initiates file transfer

15:37:01 left sends
<iq id='DL79m-20'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='set'>
  <si xmlns='http://jabber.org/protocol/si'
    id='jsi_480410069180738166'
    profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
      name='active.4dc'
      size='362'>
      <desc>Sending file</desc>
    </file>
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='form'>
        <field var='stream-method' type='list-multi'>
          <option>
            <value>http://jabber.org/protocol/bytestreams</value>
          </option>
          <option>
            <value>http://jabber.org/protocol/ibb</value>
          </option>
        </field>
      </x>
    </feature>
  </si>
</iq>


15:37:07 left receives
<iq id='DL79m-20'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='result'>
  <si xmlns='http://jabber.org/protocol/si'>
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='submit'>
        <field var='stream-method'>
          <value>http://jabber.org/protocol/bytestreams</value>
          <value>http://jabber.org/protocol/ibb</value>
        </field>
      </x>
    </feature>
  </si>
</iq>


15:37:07 left sends
<iq id='DL79m-23'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='set'>
  <query
    xmlns='http://jabber.org/protocol/bytestreams'
    sid='jsi_480410069180738166'
    mode='tcp'>
    <streamhost
      jid='user9@n47.cs.adsi-m4.com/Spark'
      host='172.16.9.200'
      port='7777'/>
  </query>
</iq>


15:37:09 left receives
<iq id='DL79m-23'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='error'>
  <error code='406'/>
</iq>


15:37:09 left sends
<iq id='DL79m-24'
  to='user06@n88.cs.adsi-m4.com/Spark'
  type='set'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <open
    xmlns='http://jabber.org/protocol/ibb'
    sid='jsi_480410069180738166'
    block-size='4096'/>
</iq>


15:37:10 left receives
<iq id='DL79m-24'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='result'/>


15:37:10 left sends
<message id='DL79m-25_0'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <data
    xmlns='http://jabber.org/protocol/ibb'
    sid='jsi_480410069180738166'
    seq='0'>
    77u/REFZMjE0DQpFNTAwDQpMR0ENCk9SRA0KQkxVRQ0KU21pdGgNCk9SRA0KNQ0KOA0KNTANCjQxDQo0Mg0KV2VzdEJvdW5kIFRyYWplY3RvcnkgMTMwNFNTVyBhcyBhbWVuZGVkDQo2DQoxMzowNCwwLCA0MDo0Njo1OCwwLCA3Mzo1NDoyMywwLCAwMDUsMA0KMTM6MDksMCwgNDA6NTQ6NDksMCwgNzM6NTU6NDYsMCwgMTAwLTIzMCwwDQoxMzozMiwwLCA0MTowNDo0NiwwLCAtLS0sMCwgMzIwLTM5MCwwDQoxMzo0MCwwLCA0MToxNTowOCwwLCA3NjozNzozNSwwLCA0MjAtNTgwLDANCjE0OjE4LDMsIDQxOjUyOjUyLDMsIDgyOjU2OjQ3LDMsIDMxMC0zNzAsMw0KMTQ6MjMsMSwgNDE6NTc6NTYsMCwgODU6NTI6NDksMCwgMTAwLTIyMCwwDQo=
  </data>
</message>


15:37:10 left sends
<iq id='DL79m-26'
  to='user06@n88.cs.adsi-m4.com/Spark'
  type='set'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <close
    xmlns='http://jabber.org/protocol/ibb'
    sid='jsi_480410069180738166'/>
</iq>


15:37:15 left receives
<iq id='DL79m-26'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='result'
/>

; file transfer is complete.

; right sends 'ddd' chat msg

15:38:01 left receives
<message id='72GYj-17'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='chat'>
  <body>ddd</body>
  <x xmlns='jabber:x:event'>
    <offline/><delivered/><displayed/><composing/>
  </x>
</message>

15:38:01 left sends
<message id='DL79m-27'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <delivered/>
    <id>72GYj-17</id>
  </x>
</message>
<message id='DL79m-28'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <displayed/>
    <id>72GYj-17</id>
  </x>
</message>

; left sends 'eee' chat msg

15:38:31 left sends
<message id='DL79m-29'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='chat'>
  <body>eee</body>
  <x xmlns='jabber:x:event'>
    <offline/><delivered/><displayed/><composing/>
  </x>
</message>

15:38:32 left receives
<message id='72GYj-18'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <delivered/>
    <id>DL79m-29</id>
  </x>
</message>
<message id='72GYj-19'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'>
  <x xmlns='jabber:x:event'>
    <displayed/>
    <id>DL79m-29</id>
  </x>
</message>

; right initiates file transfer

15:40:33 left receives
<iq id='72GYj-20'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='set'>
  <si
    xmlns='http://jabber.org/protocol/si'
    id='jsi_644160186523041257'
    profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file
      xmlns='http://jabber.org/protocol/si/profile/file-transfer'
      name='another.4dc'
      size='362'>
      <desc>Sending file</desc>
    </file>
    <feature
      xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='form'>
        <field var='stream-method' type='list-multi'>
         <option>
           <value>http://jabber.org/protocol/bytestreams</value>
         </option>
         <option>
            <value>http://jabber.org/protocol/ibb</value>
          </option>
        </field>
      </x>
    </feature>
  </si>
</iq>

15:40:36 left sends
<iq id='72GYj-20'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='result'>
  <si xmlns='http://jabber.org/protocol/si'>
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='submit'>
        <field var='stream-method'>
          <value>http://jabber.org/protocol/bytestreams</value>
          <value>http://jabber.org/protocol/ibb</value>
        </field>
      </x>
    </feature>
  </si>
</iq>

15:40:38 left receives
<iq id='72GYj-23'
  to='user9@n47.cs.adsi-m4.com/Spark'
  from='user06@n88.cs.adsi-m4.com/Spark'
  type='set'>
  <query
    xmlns='http://jabber.org/protocol/bytestreams'
    sid='jsi_644160186523041257'
    mode='tcp'>
    <streamhost
      jid='user06@n88.cs.adsi-m4.com/Spark'
      host='172.16.9.200'
      port='7777'/>
  </query>
</iq>

15:40:38 left sends
<iq id='72GYj-23'
  to='user06@n88.cs.adsi-m4.com/Spark'
  from='user9@n47.cs.adsi-m4.com/Spark'
  type='result'>
  <query
    xmlns='http://jabber.org/protocol/bytestreams'>
    <streamhost-used
      jid='user06@n88.cs.adsi-m4.com/Spark'/>
  </query>
</iq>

; now both sides are stuck waiting for something



