0
votes

I am using RobbieHanson IOS XMPP Framework and able to connect properly to Google Talk using the sample application that displays roster with presence status.

However, when I use the XMPP Framework to connect to Cisco IM Presence server (XMPP based), I am able to connect to the server, however roster is not getting created and I get the following error in the NSLog comes with the framework.

  NSLog:
  2013-02-18 20:32:07:015 iPhoneXMPP[26080:12f03] SEND: <iq type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/></iq>

  2013-02-18 20:32:07:064 iPhoneXMPP[26080:12f03] RECV: <iq xmlns="jabber:client" to="[email protected]/312468361axcdf9887297cfd57d3e98474e447" type="error"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>8222d2468361a8ff9887297cfd57d3e98474e447</resource></bind><error code="400" type="modify"><bad-request 

The issue seems to be that <iq> entity is missing the <id> attribute when I contrast this log with the Log generated (below details) from another IM client that connects properly to the Cisco IM Presence Server

IM Client Log around IQ setting that connects:

<iq type='set' id='purple95a4a0c3'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>pidgin</resource></bind></iq>

I wanted to check if there is a way to set the id attribute for <iq> element in XMPPFramework and/or if there is something else I need to do to fix the issue.

As a side note, I noticed that Google Talk is working without need for id attribute in <iq> element, while the xmpp specs at http://xmpp.org/rfcs/rfc3920.html#stanzas-semantics-iq indicates id is an mandatory attribute of <iq> element.

1

1 Answers

0
votes

You need to make ,

allowSelfSignedCertificates = YES;

in the xmpp framework and then u will bale to connect to