Class RTPBridge

java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.jingleold.nat.RTPBridge
All Implemented Interfaces:
org.jivesoftware.smack.packet.Element, org.jivesoftware.smack.packet.IqView, org.jivesoftware.smack.packet.NamedElement, org.jivesoftware.smack.packet.StanzaView, org.jivesoftware.smack.packet.TopLevelStreamElement, org.jivesoftware.smack.packet.XmlElement, org.jivesoftware.smack.packet.XmlLangElement

public class RTPBridge extends org.jivesoftware.smack.packet.IQ
RTPBridge IQ Stanza used to request and retrieve a RTPBridge Candidates that can be used for a Jingle Media Transmission between two parties that are behind NAT. This Jingle Bridge has all the needed information to establish a full UDP Channel (Send and Receive) between two parties. This transport method should be used only if other transport methods are not allowed. Or if you want a more reliable transport. High Level Usage Example: RTPBridge rtpBridge = RTPBridge.getRTPBridge(connection, sessionID);
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    IQProvider for RTP Bridge packets.

    Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ

    org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder, org.jivesoftware.smack.packet.IQ.ResponseType, org.jivesoftware.smack.packet.IQ.Type
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Element name of the stanza extension.
    static final String
    Element name of the stanza extension.
    static final String
    Namespace of the stanza extension.

    Fields inherited from class org.jivesoftware.smack.packet.IQ

    IQ_ELEMENT, QUERY_ELEMENT

    Fields inherited from class org.jivesoftware.smack.packet.Stanza

    DEFAULT_LANGUAGE, ITEM, language, TEXT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a RTPBridge Stanza without Session ID.
    Creates a RTPBridge Instance with defined Session ID.
    RTPBridge(String sid, org.jivesoftware.smackx.jingleold.nat.RTPBridge.BridgeAction bridgeAction)
    Creates a RTPBridge Instance with defined Session ID.
    RTPBridge(org.jivesoftware.smackx.jingleold.nat.RTPBridge.BridgeAction action)
    Creates a RTPBridge Instance with defined Session ID.
  • Method Summary

    Modifier and Type
    Method
    Description
    Get the attributes string.
    Get the Host A IP Address.
    Get the Host B IP Address.
    Get the RTP Bridge IP.
    protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder
    getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder str)
    Get the Child Element XML of the Packet
    Get the name of the Candidate.
    Get the RTP Agent Pass.
    int
    Get Side A receive port.
    int
    Get Side B receive port.
    static String
    getPublicIP(org.jivesoftware.smack.XMPPConnection xmppConnection)
    Get Public Address from the Server.
    static RTPBridge
    getRTPBridge(org.jivesoftware.smack.XMPPConnection connection, String sessionID)
    Get a new RTPBridge Candidate from the server.
    Get the Session ID of the Stanza (usually same as Jingle Session ID).
    static RTPBridge
    relaySession(org.jivesoftware.smack.XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate)
    Check if the server support RTPBridge Service.
    static boolean
    serviceAvailable(org.jivesoftware.smack.XMPPConnection connection)
    Check if the server support RTPBridge Service.
    void
    Set the Host A IP Address.
    void
    Set the Host B IP Address.
    void
    Set the RTP Bridge IP.
    void
    Set the name of the Candidate.
    void
    Set the RTP Agent Pass.
    void
    setPortA(int portA)
    Set Side A receive port.
    void
    setPortB(int portB)
    Set Side B receive port.
    void
    Set the Session ID of the Stanza (usually same as Jingle Session ID).

    Methods inherited from class org.jivesoftware.smack.packet.IQ

    createErrorResponse, createErrorResponse, createResultIQ, getChildElementName, getChildElementNamespace, getChildElementQName, getChildElementXML, getElementName, getType, setType, toString, toXML

    Methods inherited from class org.jivesoftware.smack.packet.Stanza

    addCommonAttributes, addExtension, addExtensions, appendErrorIfExists, getDefaultLanguage, getError, getExtension, getExtension, getExtensionElement, getExtensions, getExtensions, getExtensions, getExtensions, getExtensionsMap, getFrom, getLanguage, getNamespace, getStanzaId, getTo, hasExtension, hasExtension, hasStanzaIdSet, logCommonAttributes, overrideExtension, removeExtension, setError, setFrom, setNewStanzaId, setStanzaId, setTo, throwIfNoStanzaId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.jivesoftware.smack.packet.Element

    toXML, toXML

    Methods inherited from interface org.jivesoftware.smack.packet.IqView

    isRequestIQ, isResponseIQ

    Methods inherited from interface org.jivesoftware.smack.packet.StanzaView

    getError, getExtension, getExtension, getExtensions, getExtensions, getExtensions, getFrom, getStanzaId, getTo, hasExtension, hasExtension, hasExtension

    Methods inherited from interface org.jivesoftware.smack.packet.XmlElement

    getQName
  • Field Details

  • Constructor Details

    • RTPBridge

      public RTPBridge(String sid)
      Creates a RTPBridge Instance with defined Session ID.
      Parameters:
      sid - TODO javadoc me please
    • RTPBridge

      public RTPBridge(org.jivesoftware.smackx.jingleold.nat.RTPBridge.BridgeAction action)
      Creates a RTPBridge Instance with defined Session ID.
      Parameters:
      action - TODO javadoc me please
    • RTPBridge

      public RTPBridge(String sid, org.jivesoftware.smackx.jingleold.nat.RTPBridge.BridgeAction bridgeAction)
      Creates a RTPBridge Instance with defined Session ID.
      Parameters:
      sid - TODO javadoc me please
      bridgeAction - TODO javadoc me please
    • RTPBridge

      public RTPBridge()
      Creates a RTPBridge Stanza without Session ID.
  • Method Details

    • getAttributes

      public String getAttributes()
      Get the attributes string.
      Returns:
      the attributes.
    • getSid

      public String getSid()
      Get the Session ID of the Stanza (usually same as Jingle Session ID).
      Returns:
      the session ID
    • setSid

      public void setSid(String sid)
      Set the Session ID of the Stanza (usually same as Jingle Session ID).
      Parameters:
      sid - TODO javadoc me please
    • getHostA

      public String getHostA()
      Get the Host A IP Address.
      Returns:
      the Host A IP Address
    • setHostA

      public void setHostA(String hostA)
      Set the Host A IP Address.
      Parameters:
      hostA - TODO javadoc me please
    • getHostB

      public String getHostB()
      Get the Host B IP Address.
      Returns:
      the Host B IP Address
    • setHostB

      public void setHostB(String hostB)
      Set the Host B IP Address.
      Parameters:
      hostB - TODO javadoc me please
    • getPortA

      public int getPortA()
      Get Side A receive port.
      Returns:
      the side A receive port
    • setPortA

      public void setPortA(int portA)
      Set Side A receive port.
      Parameters:
      portA - TODO javadoc me please
    • getPortB

      public int getPortB()
      Get Side B receive port.
      Returns:
      the side B receive port
    • setPortB

      public void setPortB(int portB)
      Set Side B receive port.
      Parameters:
      portB - TODO javadoc me please
    • getIp

      public String getIp()
      Get the RTP Bridge IP.
      Returns:
      the RTP Bridge IP
    • setIp

      public void setIp(String ip)
      Set the RTP Bridge IP.
      Parameters:
      ip - TODO javadoc me please
    • getPass

      public String getPass()
      Get the RTP Agent Pass.
      Returns:
      the RTP Agent Pass
    • setPass

      public void setPass(String pass)
      Set the RTP Agent Pass.
      Parameters:
      pass - TODO javadoc me please
    • getName

      public String getName()
      Get the name of the Candidate.
      Returns:
      the name of the Candidate
    • setName

      public void setName(String name)
      Set the name of the Candidate.
      Parameters:
      name - TODO javadoc me please
    • getIQChildElementBuilder

      protected org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(org.jivesoftware.smack.packet.IQ.IQChildElementXmlStringBuilder str)
      Get the Child Element XML of the Packet
      Specified by:
      getIQChildElementBuilder in class org.jivesoftware.smack.packet.IQ
      Returns:
      the Child Element XML of the Packet
    • getRTPBridge

      public static RTPBridge getRTPBridge(org.jivesoftware.smack.XMPPConnection connection, String sessionID) throws org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException
      Get a new RTPBridge Candidate from the server. If a error occurs or the server don't support RTPBridge Service, null is returned.
      Parameters:
      connection - TODO javadoc me please
      sessionID - TODO javadoc me please
      Returns:
      the new RTPBridge
      Throws:
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
    • serviceAvailable

      public static boolean serviceAvailable(org.jivesoftware.smack.XMPPConnection connection) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException
      Check if the server support RTPBridge Service.
      Parameters:
      connection - TODO javadoc me please
      Returns:
      true if the server supports the RTPBridge service
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
    • relaySession

      public static RTPBridge relaySession(org.jivesoftware.smack.XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate) throws org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException
      Check if the server support RTPBridge Service.
      Parameters:
      connection - TODO javadoc me please
      sessionID - the session id.
      pass - the password.
      proxyCandidate - the proxy candidate.
      localCandidate - the local candidate.
      Returns:
      the RTPBridge
      Throws:
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
    • getPublicIP

      public static String getPublicIP(org.jivesoftware.smack.XMPPConnection xmppConnection) throws org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException
      Get Public Address from the Server.
      Parameters:
      xmppConnection - TODO javadoc me please
      Returns:
      public IP String or null if not found
      Throws:
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.