Нет ответа сеанса IQ от сервера Google Talk с использованием XMPP

Я пытаюсь имитировать поток XMPP для подключения к серверам Google Talk. Однако я столкнулся с проблемой при отправке сеанса IQ:

Проблема: я никак не получаю ответа от сервера после отправки этого:

<iq id="[email protected]_6" type="set" to="gmail.com"><session xmlns="urn:ietf:params:xml:ns:xmpp-session" /></iq>

Это полный поток:

<stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>**
<stream:stream from="gmail.com" id="7FB5653900A7A245" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
<stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism></mechanisms></stream:features>

<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" />
<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>

<stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
<stream:stream from="gmail.com" id="508024A63664BA3D" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-OAUTH2</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features>

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">{Valid auth token}</auth>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>

<stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' xml:lang='en'>
<stream:stream from="gmail.com" id="A407B98F76E98F73" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
<stream:features><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>

<iq id="[email protected]_5" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>xmpp</resource></bind></iq>
<iq id="[email protected]_5" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>[email protected]/xmppFC762B4C</jid></bind></iq>

<iq id="[email protected]_6" type="set" to="gmail.com"><session xmlns="urn:ietf:params:xml:ns:xmpp-session" /></iq>

Дополнительная информация:

  • Я использую ОБЫЧНУЮ аутентификацию (см.: https://developers.google.com/cloud-print/docs/rawxmpp)
  • Я начинаю использовать SslStream после того, как получу продолжение... xmpp tls

  • Я использую сервер Google Talk для отправки сообщений xmpp на (talk.google.com)

Ожидаемый ответ будет примерно таким:

<iq xmlns="jabber:client" from="gmail.com" type="result" id="[email protected]_6" />

Заранее спасибо!


person Community    schedule 17.05.2013    source источник


Ответы (1)


попробуйте отправить сеанс iq без атрибута to.

<iq id="abcd" type="set">
  <session xmlns="urn:ietf:params:xml:ns:xmpp-session" />
</iq>
person Alex    schedule 17.05.2013
comment
Спасибо за ответ. Я попробовал это без атрибута to, но все та же проблема. - person ; 19.05.2013