public class IceTransportManagerSipImpl extends TransportManagerSipImpl
TransportManager
implementation for SIP that uses ICE for candidate
management.Constructor and Description |
---|
IceTransportManagerSipImpl(CallPeerSipImpl callPeer)
Creates a new instance of this transport manager, binding it to the
specified peer.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Releases the resources acquired by this TransportManager and
prepares it for garbage collection.
|
void |
startCandidateHarvest(javax.sdp.SessionDescription ourOffer,
java.lang.Object trickleCallback,
boolean advertiseTrickle,
boolean useBundle,
boolean advertiseBundle,
boolean useRtcpMux,
boolean advertiseRtcpMux)
Starts transport candidate harvest.
|
void |
startCandidateHarvest(javax.sdp.SessionDescription theirOffer,
javax.sdp.SessionDescription ourAnswer,
java.lang.Object trickleCallback,
boolean isInitiator)
Starts transport candidate harvest.
|
boolean |
startConnectivityEstablishment(java.lang.Iterable<org.ice4j.ice.RemoteCandidate> remote)
Starts the connectivity establishment of this
TransportManagerJabberImpl i.e.
|
java.util.List<org.ice4j.ice.Candidate<?>> |
wrapupCandidateHarvest()
Notifies the transport manager that it should conclude candidate
harvesting as soon as possible and return the lists of candidates
gathered so far.
|
void |
wrapupConnectivityEstablishment()
Notifies this TransportManagerJabberImpl that it should conclude
any started connectivity establishment.
|
getHarvestingTime, getICECandidateExtendedType, getICELocalHostAddress, getICELocalReflexiveAddress, getICELocalRelayedAddress, getICERemoteHostAddress, getICERemoteReflexiveAddress, getICERemoteRelayedAddress, getICEState, getIntendedDestination, getNbHarvesting, getNbHarvesting, getTotalHarvestingTime
closeStreamConnector, closeStreamConnector, createIceAgent, createIceStream, createStreamConnector, getCallPeer, getICECandidateExtendedType, getLastUsedLocalHost, getPortTracker, getPortTracker, getStreamConnector, initializePortNumbers, sendHolePunchPacket, sendHolePunchPacket, setTrafficClass
public IceTransportManagerSipImpl(CallPeerSipImpl callPeer)
callPeer
- the CallPeerMediaHandler
whose traffic we
will be taking care of.public void startCandidateHarvest(javax.sdp.SessionDescription ourOffer, java.lang.Object trickleCallback, boolean advertiseTrickle, boolean useBundle, boolean advertiseBundle, boolean useRtcpMux, boolean advertiseRtcpMux) throws OperationFailedException
wrapupCandidateHarvest()
method which would be called once we
absolutely need the candidates.ourOffer
- the SDP that should tell us how many stream connectors we
actually need.trickleCallback
- the callback that will be taking care of
candidates that we discover asynchronously or null in case we
wouldn't won't to use trickle ICE (either because it is disabled or,
potentially, because we are doing half trickle).advertiseTrickle
- indicates whether we should be including the
ice-options:trickle attribute in the SDP. Note that this parameter is
ignored and considered true if trickleCallback is not
null.useBundle
- indicates whether or not we are using bundle.advertiseBundle
- indicates whether or not we should be advertising
bundle to the remote party ( assumed as true in case
useBundle is already set to true).useRtcpMux
- indicates whether or not we are using rtcp-mux.advertiseRtcpMux
- indicates whether or not we should be advertising
rtcp-mux to the remote party ( assumed as true in case
useRtcpMux is already set to true).OperationFailedException
- if we fail to allocate a port number.public void startCandidateHarvest(javax.sdp.SessionDescription theirOffer, javax.sdp.SessionDescription ourAnswer, java.lang.Object trickleCallback, boolean isInitiator) throws OperationFailedException
wrapupCandidateHarvest()
method which would be called once we
absolutely need the candidates.trickleCallback
- the callback that will be taking care of
candidates that we discover asynchronously.isInitiator
- specifies whether we are the initiating party in this
call and hence must be the controlling ICE agent.OperationFailedException
- if we fail to allocate a port number.public java.util.List<org.ice4j.ice.Candidate<?>> wrapupCandidateHarvest()
public boolean startConnectivityEstablishment(java.lang.Iterable<org.ice4j.ice.RemoteCandidate> remote)
remote
- the collection of RemoteCandidate
s which
represents the remote counterpart of the negotiation between the local
and the remote peerpublic void wrapupConnectivityEstablishment() throws OperationFailedException
OperationFailedException
- if anything goes wrong with connectivity
establishment (i.e. ICE failed, ...)public void close()
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.