Проблемы с транспортом XMPP4R icq

jid = Jabber::JID.new('[email protected]')  
  j = Jabber::Client.new(jid)  
  j.connect
  j.auth('12345')

если я пытаюсь отправить сообщение через транспорт, он отвечает мне

SENDING:
<message to='[email protected]' xmlns='jabber:client'><body>hi!</body></message>
 => nil 
ruby-1.9.2-p290 :106 > RECEIVED:
<message from='[email protected]' to='[email protected]/38185266013242853702144' type='error'><error code='401' type='auth'><not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Error. You must log into the transport before sending messages.</text></error><body>hi!</body></message>
PROCESSING:
<message from='[email protected]' to='[email protected]/38185266013242853702144' type='error' xmlns='jabber:client'><error code='401' type='auth'><not-authorized xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Error. You must log into the transport before sending messages.</text></error><body>hi!</body></message> (Jabber::Message)

но:

  iq = Jabber::Iq.new(:set)  

  query = Jabber::IqQuery.new  
  query.add_namespace('jabber:iq:auth')  
  query.add(REXML::Element.new('username').add_text("6...6"))  
  query.add(REXML::Element.new('password').add_text('F...1'))  

  iq.add(query)  
  iq.to = 'icq.proc.ru'  
  iq

  j.send iq


SENDING:
<iq to='icq.proc.ru' type='set' xmlns='jabber:client'><query  xmlns='jabber:iq:authenticate'><username>6....6</username><password>F....1</password></query></iq>
=> nil 
ruby-1.9.2-p290 :105 > RECEIVED:
<iq from='icq.proc.ru' to='[email protected]/38185266013242853702144' type='error'><error code='501' type='cancel'><feature-not-implemented/></error></iq>
PROCESSING:
<iq from='icq.proc.ru' to='[email protected]/38185266013242853702144' type='error' xmlns='jabber:client'><error code='501' type='cancel'><feature-not-implemented/></error></iq> (Jabber::Iq)

я не могу использовать Iq.new_authset_digest(jid, session_id, password), потому что я не могу получить параметр session_id, что я делаю неправильно?


person antiqe    schedule 19.12.2011    source источник