Methods
SetSelectedCandidatePair | ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) | → | nothing | |
SetEndpointState | (u: Component, u: State) | → | nothing | |
AcceptSelectedCandidatePair | ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) | → | nothing | |
RejectSelectedCandidatePair | ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) | → | nothing | |
SetControlling | (b: Controlling) | → | nothing |
Signals
RemoteCredentialsSet | (s: Username, s: Password) | |
RemoteCandidatesAdded | (a(usua{sv}): Candidates) | |
CandidatePairSelected | ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) | |
EndpointStateChanged | (u: Component, u: State) | |
ControllingChanged | (b: Controlling) |
Properties
RemoteCredentials | (ss) (Stream_Credentials) | Read only | ||
RemoteCandidates | a(usua{sv}) (Candidate_List) | Read only | ||
SelectedCandidatePairs | a((usua{sv})(usua{sv})) (Candidate_Pair_List) | Read only | ||
EndpointState | a{uu} (Component_State_Map) | Read only | ||
Transport | u (Stream_Transport_Type) | Read only | ||
Controlling | b | Read only | ||
IsICELite | b | Read only |
Types
Stream_Endpoint_State | Enum | u | |
Component_State_Map | Mapping | a{uu} | |
Candidate_Pair | Struct | ((usua{sv})(usua{sv})) |
Description
This object represents an endpoint for a stream. In a one-to-one call, there will be one (bidirectional) stream per content and one endpoint per stream (as there is only one remote contact). In a multi-user call there is a stream for each remote contact and each stream has one endpoint as it refers to the one physical machine on the other end of the stream.
The multiple endpoint use case appears when SIP call forking is used. Unlike jingle call forking (which is just making multiple jingle calls to different resources appear as one call), SIP call forking is actually done at the server so you have one stream to the remote contact and then and endpoint for each SIP client to be called.
Methods
SetSelectedCandidatePair ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) → nothing
Parameters
Update the entry in SelectedCandidatePairs for a particular component, and signal it to the remote side.
This method should only be called by the controlling side of an ICE session. See CandidatePairSelected for details.
Rationale:
In the SDP offer/answer model, this signalling will take place as generating an updated offer. Note that updates may be queued up until information about all components of all streams is gathered.
Possible Errors
- Invalid Argument
SetEndpointState (u: Component, u: State) → nothing
Parameters
- Component — u (Stream_Component)
- State — u (Stream_Endpoint_State)
Possible Errors
- Invalid Argument
- Not Available
AcceptSelectedCandidatePair ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) → nothing
Parameters
Possible Errors
- Invalid Argument
RejectSelectedCandidatePair ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate) → nothing
Parameters
Possible Errors
- Invalid Argument
SetControlling (b: Controlling) → nothing
Parameters
- Controlling — b
Signals
RemoteCredentialsSet (s: Username, s: Password)
Parameters
- Username — s
- Password — s
RemoteCandidatesAdded (a(usua{sv}): Candidates)
Parameters
- Candidates — a(usua{sv}) (Candidate_List)
CandidatePairSelected ((usua{sv}): Local_Candidate, (usua{sv}): Remote_Candidate)
Parameters
EndpointStateChanged (u: Component, u: State)
Parameters
- Component — u (Stream_Component)
- State — u (Stream_Endpoint_State)
ControllingChanged (b: Controlling)
Parameters
- Controlling — b
Properties
RemoteCredentials — (ss) (Stream_Credentials)
RemoteCandidates — a(usua{sv}) (Candidate_List)
SelectedCandidatePairs — a((usua{sv})(usua{sv})) (Candidate_Pair_List)
The candidates that have been selected for use to stream packets to the remote contact for each component of the stream. Change notification is given via the the CandidatePairSelected signal.
Note to client implementors (from RFC 5245 section 9.2.2.3):
If at least one of the pairs is In-Progress, the agent SHOULD wait for those checks to complete, and as each completes, redo the processing in this section until there are no losing pairs.
Also note that some or all of the local candidates in this list may represent a peer-reflexive candidate that do not appear in LocalCandidates.
See RFC 5245 Appendix B.6. for more details about why this is.
EndpointState — a{uu} (Component_State_Map)
Transport — u (Stream_Transport_Type)
Controlling — b
The local side is taking the controlling role (as defined by ICE RFC 5245). Change notification is given via the ControllingChanged signal.
Rationale:
IsICELite — b
Types
Stream_Endpoint_State — u
- Connecting (0)
- Provisionally_Connected (1)
- Fully_Connected (2)
- Exhausted_Candidates (3)
- Failed (4)
Component_State_Map — a{uu}
- Component — u (Stream_Component)
- State — u (Stream_Endpoint_State)