org.jivesoftware.smackx.jingle.nat
Class ICEResolver

java.lang.Object
  extended by org.jivesoftware.smackx.jingle.nat.TransportResolver
      extended by org.jivesoftware.smackx.jingle.nat.ICEResolver

public class ICEResolver
extends TransportResolver

ICE Resolver for Jingle transport method that results in sending data between two entities using the Interactive Connectivity Establishment (ICE) methodology. (XEP-0176) The goal of this resolver is to make possible to establish and manage out-of-band connections between two XMPP entities, even if they are behind Network Address Translators (NATs) or firewalls. To use this resolver you must have a STUN Server and be in a non STUN blocked network. Or use a XMPP server with public IP detection Service.

Author:
Thiago Camargo

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jivesoftware.smackx.jingle.nat.TransportResolver
TransportResolver.Type
 
Field Summary
 
Fields inherited from class org.jivesoftware.smackx.jingle.nat.TransportResolver
CHECK_TIMEOUT, type
 
Constructor Summary
ICEResolver(XMPPConnection connection, java.lang.String server, int port)
           
 
Method Summary
 void cancel()
          Cancel any asynchronous resolution operation.
 void initialize()
          Initialize the Resolver
 void resolve(JingleSession session)
          Resolve the IP and obtain a valid transport method.
 
Methods inherited from class org.jivesoftware.smackx.jingle.nat.TransportResolver
addListener, clear, getCandidate, getCandidateCount, getCandidates, getCandidatesList, getListenersList, getPreferredCandidate, getType, initializeAndWait, isInitialized, isResolved, isResolving, removeListener, setInitialized, setType
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ICEResolver

public ICEResolver(XMPPConnection connection,
                   java.lang.String server,
                   int port)
Method Detail

initialize

public void initialize()
                throws XMPPException
Description copied from class: TransportResolver
Initialize the Resolver

Specified by:
initialize in class TransportResolver
Throws:
XMPPException

cancel

public void cancel()
            throws XMPPException
Description copied from class: TransportResolver
Cancel any asynchronous resolution operation.

Specified by:
cancel in class TransportResolver
Throws:
XMPPException

resolve

public void resolve(JingleSession session)
             throws XMPPException
Resolve the IP and obtain a valid transport method.

Specified by:
resolve in class TransportResolver
Throws:
XMPPException