...
There is a lot to ICE that is beyond the scope of this document. For in-depth detail, see the links to the relevant RFCs below. While the RFCs contain a lot of information, it is mostly oriented at implementation of the ICE protocol and is not necessary for using Asterisk's ICE support. At a user level ICE uses SDP offer/answer, so the general concepts are fairly easy to follow for those familiar with SIP. Also, the details of visually interpreting candidate lists are fairly straightforward and are as easily digestible as media format SDP after a small amount of practice.
...
Enabling ICE Support
Asterisk ICE support is enabled globally by default throughout Asterisk, but is disabled by default for chan_sip specifically, and can be enabled globally in rtp.conf
and inside chan_sip both globally or on a SIP peer basis in sip.conf
.
No Format |
---|
icesupport=yes |
However, as ICE needs a STUN and/or TURN server to gather usable candidates, these do need to be configured to get things working. Since ICE is an RTP level feature, the configuration can be found in the rtp.conf
file. The configuration applies to all RTP based communications so the options are set in the general
section. To configure a STUN server add a stunaddr
option with the hostname of the STUN server. For example,
...
Generation of SDP for ICE candidate lists can be disabled by adding the following:
No Format |
---|
icesupport=no |
to the general section in sip.conf
or on a peer-by-peer basis. Since ICE operates on RTP, ICE details are configured in the rtp.conf
file. To disable ICE support in RTP, add icesupport = no
the same line to the general section in rtp.conf
.
...