<test-history test='Bosh keep-alive 21'>
<OUTPUT test='Subscription receive'>
<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'/>
</OUTPUT>
<INPUT test='Subscription receive'>
<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></stream:features>
</INPUT>
<OUTPUT test='Subscription receive'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Subscription receive'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9IlhiejRha0JsMTNpM1NheXBMaWwyZmpqcnU4blJOWVQ4YWYzK3ljWGwiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Subscription receive'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWxsLXhtcHAtdGVzdCIscmVhbG09InRlc3QtZCIsbm9uY2U9IlhiejRha0JsMTNpM1NheXBMaWwyZmpqcnU4blJOWVQ4YWYzK3ljWGwiLG5jPTAwMDAwMDAxLGNub25jZT0iaDhoOFU4b0MvMDhWeU4vK2pLRk1oOXRYS2dHbksvWHE2U01pci9lbSIsZGlnZXN0LXVyaT0ieG1wcC90ZXN0LWQiLG1heGJ1Zj02NTUzNixyZXNwb25zZT1mYzEyMDE4ZjdjYWFjNzliNTQ4ODQwMWIxNTQ4ZDg3NSxxb3A9YXV0aCxhdXRoemlkPSJhbGwteG1wcC10ZXN0Ig==</response>
</OUTPUT>
<INPUT test='Subscription receive'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kNjlhNTgwN2MyNTc1NTJjMjgzMjZhNDY2ZmY3NDNlNQ==</success>
</INPUT>
<OUTPUT test='Subscription receive'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Subscription receive'>
<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"/></stream:features>
</INPUT>
<OUTPUT test='Subscription receive'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>all-xmpp-test@test-d/def-user-resource</jid></bind></iq>
</INPUT>
<OUTPUT test='Subscription receive'>
<iq id="roster_1" type="get">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"/></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d/def-user-resource" id="dr-1" type="set"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" subscription="both" name="dynrost"><group>test group</group></item></query></iq>
</INPUT>
<OUTPUT test='Subscription receive'>
<presence id="1" type="available"/>
</OUTPUT>
<OUTPUT test='Subscription send'>
<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'/>
</OUTPUT>
<INPUT test='Subscription send'>
<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></stream:features>
</INPUT>
<OUTPUT test='Subscription send'>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>
</OUTPUT>
<INPUT test='Subscription send'>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InRlc3QtZCIsbm9uY2U9InlqelMzNjI1VURscm5wN0RDL1RqYWVaNU9LWXltVnlnNURuSkxHU3kiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
</INPUT>
<OUTPUT test='Subscription send'>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iYWRtaW4iLHJlYWxtPSJ0ZXN0LWQiLG5vbmNlPSJ5anpTMzYyNVVEbHJucDdEQy9UamFlWjVPS1l5bVZ5ZzVEbkpMR1N5IixuYz0wMDAwMDAwMSxjbm9uY2U9IkFWb2FsTlZDU3hGaVpxNUJ4K0pkUVFHayt0dC84b2ZiZUtyY2Vtb2wiLGRpZ2VzdC11cmk9InhtcHAvdGVzdC1kIixtYXhidWY9NjU1MzYscmVzcG9uc2U9ODQ5MGViOTExOTZhY2Y4NDk2MjBhNjk0NGYxY2Y1NWEscW9wPWF1dGgsYXV0aHppZD0iYWRtaW4i</response>
</OUTPUT>
<INPUT test='Subscription send'>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD01MTZhY2Y5NWQ4YjMyYzBjYTUyYjcwYjAzZTcxNDc4MQ==</success>
</INPUT>
<OUTPUT test='Subscription send'>
<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='test-d' version='1.0'>
</OUTPUT>
<INPUT test='Subscription send'>
<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"/></stream:features>
</INPUT>
<OUTPUT test='Subscription send'>
<iq type='set' id='bind1'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>def-user-resource</resource></bind></iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d/def-user-resource" id="bind1" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>admin@test-d/def-user-resource</jid></bind></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<iq id="roster_1" type="get">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d/def-user-resource" id="roster_1" type="result"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" subscription="none" name="all-xmpp-test"/></query></iq>
</INPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d/def-user-resource" id="dr-1" type="set"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" subscription="both" name="dynrost"><group>test group</group></item></query></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<presence id="1" type="available"/>
</OUTPUT>
<OUTPUT test='Subscription send'>
<presence to="all-xmpp-test@test-d" id="1" type="subscribe"/>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d" id="rsttig1" type="set"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" ask="subscribe" subscription="none" name="all-xmpp-test"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<presence to="all-xmpp-test@test-d" from="admin@test-d" id="1" type="subscribe" xmlns="jabber:client"/>
</INPUT>
<OUTPUT test='Subscription receive'>
<presence to="admin@test-d" id="1" type="subscribed"/>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d" id="rsttig4" type="set"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" subscription="from" name="admin"/></query></iq>
</INPUT>
<OUTPUT test='Subscription receive'>
<presence to="admin@test-d" id="1" type="subscribe"/>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d" id="rsttig2" type="set"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" subscription="to" name="all-xmpp-test"/></query></iq>
</INPUT>
<INPUT test='Subscription send'>
<presence to="admin@test-d" from="all-xmpp-test@test-d/def-user-resource" id="1" type="available" xmlns="jabber:client"/>
</INPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d" id="rsttig8" type="set"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" ask="subscribe" subscription="from" name="admin"/></query></iq>
</INPUT>
<INPUT test='Subscription send'>
<presence to="admin@test-d" from="all-xmpp-test@test-d" id="1" type="subscribe" xmlns="jabber:client"/>
</INPUT>
<OUTPUT test='Subscription send'>
<presence to="all-xmpp-test@test-d" id="1" type="subscribed"/>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d" id="rsttig3" type="set"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" subscription="both" name="all-xmpp-test"/></query></iq>
</INPUT>
<OUTPUT test='Subscription send'>
<iq id="roster_11" type="get">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d/def-user-resource" id="roster_11" type="result"><query xmlns="jabber:iq:roster"><item jid="all-xmpp-test@test-d" subscription="both" name="all-xmpp-test"/></query></iq>
</INPUT>
<INPUT test='Subscription send'>
<iq to="admin@test-d/def-user-resource" id="dr-1" type="set"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" subscription="both" name="dynrost"><group>test group</group></item></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d" id="rsttig6" type="set"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" subscription="both" name="admin"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<presence to="all-xmpp-test@test-d" from="admin@test-d/def-user-resource" id="1" type="available" xmlns="jabber:client"/>
</INPUT>
<OUTPUT test='Subscription receive'>
<iq id="roster_28" type="get">
<query xmlns="jabber:iq:roster"/></iq>
</OUTPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d/def-user-resource" id="roster_28" type="result"><query xmlns="jabber:iq:roster"><item jid="admin@test-d" subscription="both" name="admin"/></query></iq>
</INPUT>
<INPUT test='Subscription receive'>
<iq to="all-xmpp-test@test-d/def-user-resource" id="dr-1" type="set"><query xmlns="jabber:iq:roster"><item jid="dynrost@test-d" subscription="both" name="dynrost"><group>test group</group></item></query></iq>
</INPUT>

</test-history>