OUTPUT: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' xml:lang='en' rid='1216' content='text/xml; charset=utf-8' to='test-d' ver='1.6'/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Ing4WkFyQUh3S0orazVuQlk0dk9CekcxMVF4azBaY2l5VEtDZ3hPNkEiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWRtaW4iLHJlYWxtPSJ0ZXN0LWQiLG5vbmNlPSJ4OFpBckFId0tKK2s1bkJZNHZPQnpHMTFReGswWmNpeVRLQ2d4TzZBIixuYz0wMDAwMDAwMSxjbm9uY2U9Imp1VzIwcE51WStTYm1jTWxJQmg1ZDZaZHpwRWsyamx4aFVYRndWenYiLGRpZ2VzdC11cmk9InhtcHAvdGVzdC1kIixtYXhidWY9NjU1MzYscmVzcG9uc2U9Zjg1MTQ4ZDExOTlhODEyZTMwM2VkOTUzNjBiNDhlN2MscW9wPWF1dGgsYXV0aHppZD0iYWRtaW4i</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD0wOTc3ZTM4MjAwZmE2MzRlNjYyM2NkOWMwOTZjOGYwMQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="admin@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>admin@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="admin@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
OUTPUT: <presence to="all-xmpp-test@test-d" type="subscribe"/>
INPUT: <iq to="admin@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="all-xmpp-test" ask="subscribe" subscription="none" jid="all-xmpp-test@test-d"/></query></iq>
INPUT: <iq to="admin@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="all-xmpp-test" subscription="to" jid="all-xmpp-test@test-d"/></query></iq>
INPUT: <presence xmlns="jabber:client" to="admin@test-d/def-user-resource" type="available" from="all-xmpp-test@test-d/def-user-resource"/>
INPUT: <presence xmlns="jabber:client" to="admin@test-d/def-user-resource" type="available" from="all-xmpp-test@test-d/def-user-resource"/>
INPUT: <presence xmlns="jabber:client" to="admin@test-d/def-user-resource" type="subscribe" from="all-xmpp-test@test-d"/>
OUTPUT: <presence to="all-xmpp-test@test-d" type="subscribed"/>
INPUT: <iq to="admin@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item name="all-xmpp-test" subscription="both" jid="all-xmpp-test@test-d"/></query></iq>
OUTPUT: <iq type="get" id="roster_11"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="admin@test-d/def-user-resource" type="result" id="roster_11"><query xmlns="jabber:iq:roster"><item name="all-xmpp-test" subscription="both" jid="all-xmpp-test@test-d"/></query></iq>
OUTPUT: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' xml:lang='en' rid='1216' content='text/xml; charset=utf-8' to='test-d' ver='1.6'/>
INPUT: <stream:features><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>CRAM-MD5</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
INPUT: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9Iit6MHN4WVQ2WkhKWTFGOEIwN0E0Z0RqZDAwQjBiVlF6MlV3TDgwQ1ciLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
OUTPUT: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9Iit6MHN4WVQ2WkhKWTFGOEIwN0E0Z0RqZDAwQjBiVlF6MlV3TDgwQ1ciLG5jPTAwMDAwMDAxLGNub25jZT0iYUFiZ3BkNXdCWHVmcmZablAwbThieU0rUjhSbzhPWmNpblBqdW5DQyIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT00MjkyMmFjMjE1MTBkMDdhMDY2YTdkMDk0MzUwYzkwMixxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
INPUT: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD00YjRlNmY5MTdlYzNmN2I3Zjg0YzU0NTdhZjdlNGM0MQ==</success>
OUTPUT: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
INPUT: <stream:features><register xmlns="http://jabber.org/features/iq-register"/><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
OUTPUT: <iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="bind1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>all-xmpp-test@test-d/def-user-resource</jid></bind></iq>
OUTPUT: <iq type="get" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_1"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <presence xmlns="jabber:client" to="all-xmpp-test@test-d/def-user-resource" type="subscribe" from="admin@test-d"/>
OUTPUT: <presence to="admin@test-d" type="subscribed"/>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="set" id="rsttig1"><query xmlns="jabber:iq:roster"><item name="admin" subscription="from" jid="admin@test-d"/></query></iq>
OUTPUT: <presence to="admin@test-d" type="subscribe"/>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="set" id="rsttig2"><query xmlns="jabber:iq:roster"><item name="admin" ask="subscribe" subscription="from" jid="admin@test-d"/></query></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="set" id="rsttig3"><query xmlns="jabber:iq:roster"><item name="admin" subscription="both" jid="admin@test-d"/></query></iq>
INPUT: <presence xmlns="jabber:client" to="all-xmpp-test@test-d/def-user-resource" type="available" from="admin@test-d/def-user-resource"/>
INPUT: <presence xmlns="jabber:client" to="all-xmpp-test@test-d/def-user-resource" type="available" from="admin@test-d/def-user-resource"/>
OUTPUT: <iq type="get" id="roster_11"><query xmlns="jabber:iq:roster"/></iq>
INPUT: <iq to="all-xmpp-test@test-d/def-user-resource" type="result" id="roster_11"><query xmlns="jabber:iq:roster"><item name="admin" subscription="both" jid="admin@test-d"/></query></iq>
