res_rtp_asterisk: Add ability to propose local address in ICE
[asterisk/asterisk.git] / configs / samples / rtp.conf.sample
index fdd1d53..a2664e4 100644 (file)
@@ -21,9 +21,21 @@ rtpend=20000
 ; rtcpinterval = 5000  ; Milliseconds between rtcp reports
                        ;(min 500, max 60000, default 5000)
 ;
-; Enable strict RTP protection. This will drop RTP packets that
-; do not come from the source of the RTP stream. This option is
-; enabled by default.
+; Enable strict RTP protection.  This will drop RTP packets that do not come
+; from the recoginized source of the RTP stream.  Strict RTP qualifies RTP
+; packet stream sources before accepting them upon initial connection and
+; when the connection is renegotiated (e.g., transfers and direct media).
+; Initial connection and renegotiation starts a learning mode to qualify
+; stream source addresses.  Once Asterisk has recognized a stream it will
+; allow other streams to qualify and replace the current stream for 5
+; seconds after starting learning mode.  Once learning mode completes the
+; current stream is locked in and cannot change until the next
+; renegotiation.
+; Valid options are "no" to disable strictrtp, "yes" to enable strictrtp,
+; and "seqno", which does the same thing as strictrtp=yes, but only checks
+; to make sure the sequence number is correct rather than checking the time
+; interval as well.
+; This option is enabled by default.
 ; strictrtp=yes
 ;
 ; Number of packets containing consecutive sequence values needed
@@ -33,8 +45,8 @@ rtpend=20000
 ; connected. This option is set to 4 by default.
 ; probation=8
 ;
-; Whether to enable or disable ICE support. This option is disabled by default.
-; icesupport=true
+; Whether to enable or disable ICE support. This option is enabled by default.
+; icesupport=false
 ;
 ; Hostname or address for the STUN server used when determining the external
 ; IP address and port an RTP session can be reached at. The port number is
@@ -45,6 +57,25 @@ rtpend=20000
 ;
 ; stunaddr=
 ;
+; Some multihomed servers have IP interfaces that cannot reach the STUN
+; server specified by stunaddr.  Blacklist those interface subnets from
+; trying to send a STUN packet to find the external IP address.
+; Attempting to send the STUN packet needlessly delays processing incoming
+; and outgoing SIP INVITEs because we will wait for a response that can
+; never come until we give up on the response.
+; * Multiple subnets may be listed.
+; * Blacklisting applies to IPv4 only.  STUN isn't needed for IPv6.
+; * Blacklisting applies when binding RTP to specific IP addresses and not
+; the wildcard 0.0.0.0 address.  e.g., A PJSIP endpoint binding RTP to a
+; specific address using the bind_rtp_to_media_address and media_address
+; options.  Or the PJSIP endpoint specifies an explicit transport that binds
+; to a specific IP address.
+;
+; e.g. stun_blacklist = 192.168.1.0/255.255.255.0
+;      stun_blacklist = 10.32.77.0/255.255.255.0
+;
+; stun_blacklist =
+;
 ; Hostname or address for the TURN server to be used as a relay. The port
 ; number is optional. If omitted the default value of 3478 will be used.
 ; This option is disabled by default.
@@ -87,13 +118,19 @@ rtpend=20000
 ;
 ; The format for these overrides is:
 ;
-;    <local address> => <advertised address>
+;    <local address> => <advertised address>,[include_local_address]
 ;
 ; The following will replace 192.168.1.10 with 1.2.3.4 during ICE
 ; negotiation:
 ;
 ;192.168.1.10 => 1.2.3.4
 ;
+; The following will include BOTH 192.168.1.10 and 1.2.3.4 during ICE
+; negotiation instead of replacing 192.168.1.10.  This can make it easier
+; to serve both local and remote clients.
+;
+;192.168.1.10 => 1.2.3.4,include_local_address
+;
 ; You can define an override for more than 1 interface if you have a multihomed
 ; server. Any local interface that is not matched will be passed through
 ; unaltered. Both IPv4 and IPv6 addresses are supported.