mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-27 14:41:58 +00:00
Add documentation on rtp packetization.
Technically, ooh323 doesn't support it yet, but there is a patch that should be committed very soon. Issue #7989, patch by DEA, slightly modified. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -24,6 +24,7 @@ port = 1720
|
|||||||
;allow=all ; turns on all installed codecs
|
;allow=all ; turns on all installed codecs
|
||||||
;disallow=g723.1 ; Hm... Proprietary, don't use it...
|
;disallow=g723.1 ; Hm... Proprietary, don't use it...
|
||||||
;allow=gsm ; Always allow GSM, it's cool :)
|
;allow=gsm ; Always allow GSM, it's cool :)
|
||||||
|
;allow=ulaw ; see doc/rtp-packetization for framing options
|
||||||
;
|
;
|
||||||
; User-Input Mode (DTMF)
|
; User-Input Mode (DTMF)
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
|
|||||||
; defaults to "asterisk"
|
; defaults to "asterisk"
|
||||||
;disallow=all ; First disallow all codecs
|
;disallow=all ; First disallow all codecs
|
||||||
;allow=ulaw ; Allow codecs in order of preference
|
;allow=ulaw ; Allow codecs in order of preference
|
||||||
;allow=ilbc ;
|
;allow=ilbc ; see doc/rtp-packetization for framing options
|
||||||
;
|
;
|
||||||
; This option specifies a preference for which music on hold class this channel
|
; This option specifies a preference for which music on hold class this channel
|
||||||
; should listen to when put on hold if the music class has not been set on the
|
; should listen to when put on hold if the music class has not been set on the
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ bindport=2000 ; Port to bind to, default tcp/2000
|
|||||||
dateformat=M-D-Y ; M,D,Y in any order (5 chars max)
|
dateformat=M-D-Y ; M,D,Y in any order (5 chars max)
|
||||||
keepalive=120
|
keepalive=120
|
||||||
|
|
||||||
;allow=all
|
;allow=all ; see doc/rtp-packetization for framing options
|
||||||
;disallow=
|
;disallow=
|
||||||
|
|
||||||
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
|
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
|
||||||
|
|||||||
73
doc/rtp-packetization.txt
Normal file
73
doc/rtp-packetization.txt
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
Overview
|
||||||
|
-------
|
||||||
|
Asterisk currently supports configurable RTP packetization per codec for
|
||||||
|
select RTP-based channels.
|
||||||
|
|
||||||
|
Channels
|
||||||
|
-------
|
||||||
|
These channel drivers allow RTP packetization on a user/peer/friend
|
||||||
|
or global level:
|
||||||
|
chan_sip
|
||||||
|
chan_skinny
|
||||||
|
chan_h323
|
||||||
|
chan_ooh323 (Asterisk-Addons)
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------
|
||||||
|
To set a desired packetization interval on a specific codec,
|
||||||
|
append that inteval to the allow= statement.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
allow=ulaw:30,alaw,g729:60
|
||||||
|
|
||||||
|
No packetization is specified in the case of alaw in this example,
|
||||||
|
so the default of 20ms is used.
|
||||||
|
|
||||||
|
Autoframing
|
||||||
|
-------
|
||||||
|
In addition, chan_sip has the ability to negotiate the desired
|
||||||
|
framing at call establishment.
|
||||||
|
|
||||||
|
In sip.conf if autoframing=yes is set in the global section, then
|
||||||
|
all calls will try to set the packetization based on the remote
|
||||||
|
endpoint's preferences. This behaviour depends on the endpoints
|
||||||
|
ability to present the desired packetization (ptime:) in the SDP.
|
||||||
|
If the endpoint does not include a ptime attribute, the call will
|
||||||
|
be established with 20ms packetization.
|
||||||
|
|
||||||
|
Autoframing can be set at the global level or on a user/peer/friend
|
||||||
|
basis. If it is enabled at the global level, it applies to all
|
||||||
|
users/peers/friends regardless of their prefered codec packetization.
|
||||||
|
|
||||||
|
Codec framing options
|
||||||
|
-------
|
||||||
|
The following table lists the minimum and maximum values that are
|
||||||
|
valid per codec, as well as the increment value used for each.
|
||||||
|
Please note that the maximum values here are only recommended
|
||||||
|
maximums, and should not exceed the RTP MTU.
|
||||||
|
|
||||||
|
Name Min Max Default Increment
|
||||||
|
g723 30 300 30 30
|
||||||
|
gsm 20 60 20 20
|
||||||
|
ulaw 10 30 20 10
|
||||||
|
alaw 10 30 20 10
|
||||||
|
g726 10 50 20 10
|
||||||
|
ADPCM 10 30 20 10
|
||||||
|
SLIN 10 70 20 10
|
||||||
|
lpc10 20 20 20 20
|
||||||
|
g729 10 230 20 10
|
||||||
|
speex 10 60 20 10
|
||||||
|
ilbc 30 30 30 30
|
||||||
|
g726_aal2 10 50 20 10
|
||||||
|
|
||||||
|
Invalid framing options are handled based on the following rules:
|
||||||
|
1. If the specified framing is less than the codec's minimum, then
|
||||||
|
the minimum value is used.
|
||||||
|
2. If the specific framing is greater than the codec's maximum, then
|
||||||
|
the maximum value is used
|
||||||
|
3. If the specificed framing does not meet the increment requirement,
|
||||||
|
the specified framing is rounded down to the closest valid
|
||||||
|
framing options.
|
||||||
|
example allow=ulaw:33 will set the codec to 30ms framing
|
||||||
|
4. If no framing is specified in the allow= directive, then the
|
||||||
|
codec default is used.
|
||||||
Reference in New Issue
Block a user