This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
This interface deals with how to connect a stream to an
endpoint. It contains all that is required to describe the
local endpoint, to succesfully establish a connection. While a
call is established, one may try to connect to multiple remote
endpoints at the same time. This is called forking in the SIP
jargon. Informations related to the connections are on the
If the CM wants to do an ICE restart, then the
For more information on ICE restarts see RFC 5245 section 9.1.1.1
Called in response to
Called in response to
Used to set the username fragment and password for streams that have global credentials.
Extra information about the candidate. Allowed and mandatory keys depend on the transport protocol used. The following keys are commenly used:
type
- ufoundation
- sprotocol
- upriority
- ubase-ip
- sbase-port
- uusername
- spassword
- sttl
- uThe IP addresses of possible STUN servers to use for NAT
traversal, as dotted-quad IPv4 address literals or RFC2373
IPv6 address literals. Change notification is via the
A list of mappings describing TURN or Google relay servers available for the client to use in its candidate gathering, as determined from the protocol. Well-known map keys are:
ip
- stype
- sEither udp
for UDP (UDP MUST be assumed if this
key is omitted), tcp
for TCP, or
tls
.
The precise meaning of this key depends on the
tls
means
TLS over TCP as referenced by ICE draft 19, and if
Transport is GTalk_P2P, tls
means
a fake SSL session over TCP as implemented by libjingle.
port
- qunique-id
- stype
s, there
is usually little point in connecting to both. Use
priority
to determine which version to prefer in this
case. Can also be used by the streaming implementation to avoid
connecting to the same relay multiple times if relaying is
required for both audio and video.priority
- uunique-id
,
the one with the highest priority should be used, or the streaming
implementation should use the one whose type
has the
most desirable properties)username
- spassword
- scomponent
- uAn equivalent of the gtalk-p2p-relay-token property on MediaSignalling channels is not included here. The connection manager should be responsible for making the necessary HTTP requests to turn the token into a username and password.
The type of relay server that this represents depends on
the value of the
If relaying is not possible for this stream, the list is empty.
Change notification is given via the
Signals that the initial information about STUN and Relay servers
has been retrieved, i.e. the
True if all the initial information about STUN servers and Relay
servers has been retrieved. Change notification is via the
The list of
Change notification is via the