AnsweredAssumed Answered

Empty Transport Tag Jingle Packet

Question asked by Vijay on Oct 9, 2015

I have created a simple demo application using Smack API 4.1.4 and has created outgoing call session using jingle.

 

Please refer the following sample code for that.

 

public static class AccountJingle

{

  private static JingleManager jm0;

  private static JingleTransportManager ftm1;

  private static JingleMediaManager jingleMediaManager0;

  private static JingleSession js0;

 

  private static void init()

  {

  ftm1 = new BasicTransportManager();

  jingleMediaManager0 = new JmfMediaManager(ftm1);

  jm0 = new JingleManager(Account.GetConnection(), new ArrayList { jingleMediaManager0 });

  }

 

  public static void StartOutgoing(RosterEntry entry)

  {

  init();

 

  // Create a new Jingle Call with a full JID

  js0 = jm0.createOutgoingJingleSession(entry.getUser());

  TransportResolver brs = ftm1.getResolver(js0);

 

  if (brs.isInitialized())

  {

  brs.initializeAndWait();

  }

 

  if (brs.isResolved())

  {

  brs.resolve(js0);

  }

 

  // Start the call

  js0.startOutgoing();

  }

}

 

Here, Account.GetConnection() will return authenticated connection.

 

With outgoing call system is creating following jingle iq packet.

 

<iq to="user2@messapp" id="n57Bb-82" type="set" from="user1@messapp/smack"><jingle xmlns="urn:xmpp:tmp:jingle" initiator="user1@messapp/smack" responder="user2@messapp" action="SESSION_INITIATE" sid="1744879219429048319"><content creator="initiator" name="Speex"><description xmlns="urn:xmpp:tmp:jingle:apps:rtp"><payload-type id="15" name="speex" channels="1" clockrate="0"/></description><transport xmlns="http://www.xmpp.org/extensions/xep-0177.html#ns"/></content></jingle></iq>

 

 

<iq to="user2@messapp" id="n57Bb-84" type="set" from="user1@messapp/smack"><jingle xmlns="urn:xmpp:tmp:jingle" initiator="user1@messapp/smack" responder="user2@messapp" action="TRANSPORT_INFO" sid="1744879219429048319"><content creator="initiator" name="Speex"><description xmlns="urn:xmpp:tmp:jingle:apps:rtp"><payload-type id="15" name="speex" channels="1" clockrate="0"/></description><transport xmlns="http://www.xmpp.org/extensions/xep-0177.html#ns"/><transport xmlns="http://www.xmpp.org/extensions/xep-0177.html#ns"><candidate generation="0" ip="192.168.0.37" port="14776"/></transport></content></jingle></iq>

 

The packet is not being sent to user2 app which having listener for incoming call to accept.

 

Also, not sure why transport section not having any candidate entry for session initiate request.

Outcomes