Class RTPBridge
java.lang.Object
org.jivesoftware.smack.packet.Stanza
org.jivesoftware.smack.packet.IQ
org.jivesoftware.smackx.jingleold.nat.RTPBridge
- All Implemented Interfaces:
Element
,IqView
,NamedElement
,StanzaView
,TopLevelStreamElement
,XmlElement
,XmlLangElement
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
Modifier and TypeClassDescriptionstatic class
IQProvider for RTP Bridge packets.Nested classes/interfaces inherited from class org.jivesoftware.smack.packet.IQ
IQ.IQChildElementXmlStringBuilder, IQ.ResponseType, IQ.Type
-
Field Summary
Modifier and TypeFieldDescriptionstatic 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
ConstructorDescriptionCreates a RTPBridge Stanza without Session ID.Creates a RTPBridge Instance with defined Session ID.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 TypeMethodDescriptionGet the attributes string.getHostA()
Get the Host A IP Address.getHostB()
Get the Host B IP Address.getIp()
Get the RTP Bridge IP.protected IQ.IQChildElementXmlStringBuilder
Get the Child Element XML of the PacketgetName()
Get the name of the Candidate.getPass()
Get the RTP Agent Pass.int
getPortA()
Get Side A receive port.int
getPortB()
Get Side B receive port.static String
getPublicIP
(XMPPConnection xmppConnection) Get Public Address from the Server.static RTPBridge
getRTPBridge
(XMPPConnection connection, String sessionID) Get a new RTPBridge Candidate from the server.getSid()
Get the Session ID of the Stanza (usually same as Jingle Session ID).static RTPBridge
relaySession
(XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate) Check if the server support RTPBridge Service.static boolean
serviceAvailable
(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.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
-
NAME
Element name of the stanza extension.- See Also:
-
ELEMENT_NAME
Element name of the stanza extension.- See Also:
-
NAMESPACE
Namespace of the stanza extension.- See Also:
-
-
Constructor Details
-
RTPBridge
Creates a RTPBridge Instance with defined Session ID.- Parameters:
sid
- TODO javadoc me please
-
RTPBridge
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 pleasebridgeAction
- TODO javadoc me please
-
RTPBridge
public RTPBridge()Creates a RTPBridge Stanza without Session ID.
-
-
Method Details
-
getAttributes
Get the attributes string.- Returns:
- the attributes.
-
getSid
Get the Session ID of the Stanza (usually same as Jingle Session ID).- Returns:
- the session ID
-
setSid
Set the Session ID of the Stanza (usually same as Jingle Session ID).- Parameters:
sid
- TODO javadoc me please
-
getHostA
Get the Host A IP Address.- Returns:
- the Host A IP Address
-
setHostA
Set the Host A IP Address.- Parameters:
hostA
- TODO javadoc me please
-
getHostB
Get the Host B IP Address.- Returns:
- the Host B IP Address
-
setHostB
Set the Host B IP Address.- Parameters:
hostB
- TODO javadoc me please
-
getPortA
Get Side A receive port.- Returns:
- the side A receive port
-
setPortA
Set Side A receive port.- Parameters:
portA
- TODO javadoc me please
-
getPortB
Get Side B receive port.- Returns:
- the side B receive port
-
setPortB
Set Side B receive port.- Parameters:
portB
- TODO javadoc me please
-
getIp
Get the RTP Bridge IP.- Returns:
- the RTP Bridge IP
-
setIp
Set the RTP Bridge IP.- Parameters:
ip
- TODO javadoc me please
-
getPass
Get the RTP Agent Pass.- Returns:
- the RTP Agent Pass
-
setPass
Set the RTP Agent Pass.- Parameters:
pass
- TODO javadoc me please
-
getName
Get the name of the Candidate.- Returns:
- the name of the Candidate
-
setName
Set the name of the Candidate.- Parameters:
name
- TODO javadoc me please
-
getIQChildElementBuilder
protected IQ.IQChildElementXmlStringBuilder getIQChildElementBuilder(IQ.IQChildElementXmlStringBuilder str) Get the Child Element XML of the Packet- Specified by:
getIQChildElementBuilder
in classIQ
- Parameters:
str
- a pre-created builder which already has the child element and the 'xmlns' attribute set.- Returns:
- the Child Element XML of the Packet
-
getRTPBridge
public static RTPBridge getRTPBridge(XMPPConnection connection, String sessionID) throws SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException, 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 pleasesessionID
- TODO javadoc me please- Returns:
- the new RTPBridge
- Throws:
SmackException.NotConnectedException
- if the XMPP connection is not connected.InterruptedException
- if the calling thread was interrupted.XMPPException.XMPPErrorException
- if there was an XMPP error returned.SmackException.NoResponseException
- if there was no response from the remote entity.
-
serviceAvailable
public static boolean serviceAvailable(XMPPConnection connection) throws SmackException.NoResponseException, XMPPException.XMPPErrorException, 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:
XMPPException.XMPPErrorException
- if there was an XMPP error returned.SmackException.NoResponseException
- if there was no response from the remote entity.SmackException.NotConnectedException
- if the XMPP connection is not connected.InterruptedException
- if the calling thread was interrupted.
-
relaySession
public static RTPBridge relaySession(XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate) throws SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException, XMPPException.XMPPErrorException Check if the server support RTPBridge Service.- Parameters:
connection
- TODO javadoc me pleasesessionID
- the session id.pass
- the password.proxyCandidate
- the proxy candidate.localCandidate
- the local candidate.- Returns:
- the RTPBridge
- Throws:
SmackException.NotConnectedException
- if the XMPP connection is not connected.InterruptedException
- if the calling thread was interrupted.XMPPException.XMPPErrorException
- if there was an XMPP error returned.SmackException.NoResponseException
- if there was no response from the remote entity.
-
getPublicIP
public static String getPublicIP(XMPPConnection xmppConnection) throws SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException, XMPPException.XMPPErrorException Get Public Address from the Server.- Parameters:
xmppConnection
- TODO javadoc me please- Returns:
- public IP String or null if not found
- Throws:
SmackException.NotConnectedException
- if the XMPP connection is not connected.InterruptedException
- if the calling thread was interrupted.XMPPException.XMPPErrorException
- if there was an XMPP error returned.SmackException.NoResponseException
- if there was no response from the remote entity.
-