318 lines
13 KiB
Plaintext
318 lines
13 KiB
Plaintext
; Trunking notes:
|
|
; Trunking can be enabled when routing by a 'trunkout' parameter for outgoing calls
|
|
; and 'trunkin' parameter for incoming calls.
|
|
; When registering a line to a remote server trunking can be enabled using a 'trunking'
|
|
; parameter set in 'user.login' message
|
|
; The following parameters can be set in 'user.login' to override the defaults:
|
|
; trunk_timestamps, trunk_sendinterval, trunk_maxlen, trunk_efficient_use,
|
|
; trunk_nominits_sync_use_ts, trunk_nominits_ts_diff_restart
|
|
; When setting trunking parameters for a call the order is:
|
|
; - init with configured parameters value
|
|
; - override with parameters set for line (outgoing calls only)
|
|
; - override parameters set when routing
|
|
; IMPORTANT: When a call is set to send trunked data all parameters related to
|
|
; trunk (timestamps use, send interval, max packet length) are ignored if there
|
|
; is another call using trunking with the same remote ip/port.
|
|
; TAKE CARE WHEN SETTING TRUNKING PARAMETERS IN MORE THEN 1 PLACE FOR THE SAME
|
|
; REMOTE IP/PORT !!!
|
|
; When routing a call to iax module a specific listener can be specfied:
|
|
; 1: Its name can be set in 'oconnection_id' parameter.
|
|
; The name of the listener created from 'general' section is 'iaxengine'
|
|
; 2: Local ip/port can be specified in 'oip_transport_localip' and
|
|
; 'oip_transport_localport'. The port defaults to 4569 if missing.
|
|
; If a non empty connection id or local address is specified and a valid listener
|
|
; is not found the call will fail
|
|
|
|
|
|
[general]
|
|
; This section sets global variables of the implementation
|
|
; It also sets the default listener named 'iaxengine'
|
|
; Unless specified all parameters are listener specific
|
|
|
|
; port: int: UDP port for incoming connections
|
|
;port=4569
|
|
|
|
; addr: ipaddress: IP address to bind to
|
|
;addr=0.0.0.0
|
|
|
|
; force_bind: boolean: Try to use a random port if failed to bind on configured one
|
|
; Defaults to yes
|
|
;force_bind=yes
|
|
|
|
; default: boolean: Specifiy if this is the default transport to use when none specified
|
|
; Defaults to yes (unlike the other listeners)
|
|
;default=yes
|
|
|
|
; numtype: string: Default calling number type for outgoing calls
|
|
; This parameter is applied on reload
|
|
; It can be overridden from routing by 'callernumtype' parameter
|
|
; Values: unknown,international,national,net-specific,subscriber,abbreviated,reserved
|
|
; Defaults to unknown if missing or incorrect
|
|
;numtype=unknown
|
|
|
|
; presentation: string: Default number presentation for outgoing calls
|
|
; This parameter is applied on reload
|
|
; It can be overridden from routing by 'callerpres' parameter
|
|
; Values: allowed, restricted, unavailable
|
|
; Defaults to allowed if missing or incorrect
|
|
;presentation=allowed
|
|
|
|
; screening: string: Default number screening for outgoing calls
|
|
; This parameter is applied on reload
|
|
; It can be overridden from routing by 'callerscreening' parameter
|
|
; Values: user-provided, user-provided-passed, user-provided-failed, network-provided
|
|
; Defaults to user-provided if missing or incorrect
|
|
;screening=user-provided
|
|
|
|
; trunk_timestamps: boolean: Configure how trunked audio data is sent, enable it for
|
|
; trunked data with timestamps and disable it to send trunked data without timestamps
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_timestamps' for incoming calls
|
|
; or 'trunkout_timestamps' for outgoing calls
|
|
; This parameter is applied when a new trunk is created (a trunked call is created and
|
|
; there is no trunk for the same remote address)
|
|
; Defaults to yes
|
|
;trunk_timestamps=yes
|
|
|
|
; trunk_sendinterval: integer: Interval, in milliseconds, to send trunked trunked audio data
|
|
; The interval is measured from the first packet put in a trunk
|
|
; Trunked data is sent when this interval ellapses or the buffer is full
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_sendinterval' for incoming calls
|
|
; or 'trunkout_sendinterval' for outgoing calls
|
|
; This parameter is applied when a new trunk is created (a trunked call is created and
|
|
; there is no trunk for the same remote address)
|
|
; Minimum allowed value is 5
|
|
; Defaults to 20
|
|
;trunk_sendinterval=20
|
|
|
|
; trunk_maxlen: integer: Maximum value for trunked data frames.
|
|
; This value includes the length if trunk frame header (8 bytes)
|
|
; Trunked data is sent when the send interval ellapses or the buffer is full
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_maxlen' for incoming calls
|
|
; or 'trunkout_maxlen' for outgoing calls
|
|
; This parameter is applied when a new trunk is created (a trunked call is created and
|
|
; there is no trunk for the same remote address)
|
|
; Minimum allowed value is 20
|
|
; Defaults to 1400
|
|
;trunk_maxlen=1400
|
|
|
|
; trunk_efficient_use: boolean: Use the trunk efficiently: don't send trunking data when
|
|
; there is only 1 call using it
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_efficient_use' for incoming calls
|
|
; or 'trunkout_efficient_use' for outgoing calls
|
|
; Defaults to no
|
|
;trunk_efficient_use=0
|
|
|
|
; trunk_nominits_sync_use_ts: boolean: Configure how to re-build timestamps when
|
|
; processing incoming trunked audio without miniframe timestamps
|
|
; When enabled the transaction will use trunk timestamp and last received full voice
|
|
; frame time and timestamp to build miniframe timestamps
|
|
; When disabled the transaction will use the time difference between current time and
|
|
; last received full voice frame to build the miniframe timestamps
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_nominits_sync_use_ts' for incoming calls
|
|
; or 'trunkout_nominits_sync_use_ts' for outgoing calls
|
|
; Defaults to yes
|
|
;trunk_nominits_sync_use_ts=yes
|
|
|
|
; trunk_nominits_ts_diff_restart: integer: The difference (in milliseconds) between
|
|
; current timestamp and first timestamp of incoming trunked audio data without miniframe
|
|
; timestamps at which to restart timestamps build data
|
|
; This value is used when received trunk timestamp is older then first timestamp
|
|
; If the difference is less then this value the miniframes will be dropped
|
|
; This will deal with trunk timestamp wraparound or restarted by remote party
|
|
; This parameter is ignored if trunk_nominits_sync_use_ts is disabled
|
|
; This parameter is applied on reload
|
|
; It can be overridden when routing by 'trunkin_nominits_ts_diff_restart' for incoming
|
|
; calls or 'trunkout_nominits_ts_diff_restart' for outgoing calls
|
|
; Minimum allowed value is 1000
|
|
; Defaults to 5000
|
|
;trunk_nominits_ts_diff_restart=5000
|
|
|
|
; calltoken_in: boolean: Use call token ip address authentication on incoming calls
|
|
; Note: If the caller don't support the call token IAX extension the call request
|
|
; will be ignored anyway
|
|
; This parameter is applied on reload
|
|
; Defaults to no
|
|
;calltoken_in=no
|
|
|
|
; calltoken_out: boolean: Offer call token ip address authentication on outgoing calls
|
|
; This is not a listener specific parameter, it will be applied for all listeners
|
|
; This parameter is applied on reload and can be overridden from routing
|
|
; Defaults to yes
|
|
;calltoken_out=yes
|
|
|
|
; calltoken_rejectmissing: boolean: Reject incoming calls without call token support
|
|
; when calltoken_in is enabled
|
|
; If disabled the requests will be ignored (dropped)
|
|
; This parameter is applied on reload
|
|
; Defaults to yes
|
|
;calltoken_rejectmissing=yes
|
|
|
|
; retrans_count: integer: The number of frame retransmissions
|
|
; This parameter is applied on reload for new calls only
|
|
; Allowed interval: 1..10
|
|
; Defaults to 4
|
|
;retrans_count=4
|
|
|
|
; retrans_interval: integer: The first frame retransmission interval in milliseconds
|
|
; This parameter is applied on reload for new calls only
|
|
; Allowed interval: 200..5000
|
|
; Defaults to 500
|
|
;retrans_interval=500
|
|
|
|
; ping_interval: integer: The interval, in milliseconds, to send ping
|
|
; This parameter is applied on reload for new calls only
|
|
; Minimum allowed value is 10000
|
|
; Defaults to 20000
|
|
;ping_interval=20000
|
|
|
|
; adjust_ts_out_threshold: integer: The difference, in milliseconds, between sent audio data
|
|
; timestamp and transaction timestamp at which audio data timestamp will be adjusted
|
|
; Its value will be rouded up to a multiple of 10
|
|
; This value is applied on reload for new calls only
|
|
; It can be overridden from routing
|
|
; Defaults to 120
|
|
; Allowed interval: 20 .. 300
|
|
;adjust_ts_out_threshold=120
|
|
|
|
; adjust_ts_out_over: integer: Interval, in milliseconds, to adjust sent audio data
|
|
; timestamp on data overrun (the sender transmits data on a rate greater then expected)
|
|
; When applied the packets will be dropped until data timestamp will be at least at the
|
|
; value of last sent packet timestamp
|
|
; NOTE: Choose values greater the packet time to drop more packets at a time.
|
|
; Lower values will drop less packets in a row but this will happen more frequently
|
|
; Its value will be rouded up to a multiple of 10
|
|
; This value is applied on reload for new calls only
|
|
; It can be overridden from routing
|
|
; It can't be greater then adjust_ts_out_threshold
|
|
; Defaults to 120
|
|
; Allowed interval: 10 .. adjust_ts_out_threshold
|
|
;adjust_ts_out_over=120
|
|
|
|
; adjust_ts_out_under: integer: Interval, in milliseconds, to adjust sent audio data
|
|
; timestamp on data underrun (the sender transmits data on a rate less then expected)
|
|
; Its value will be rouded up to a multiple of 10
|
|
; This value is applied on reload for new calls only
|
|
; It can be overridden from routing
|
|
; It can't be greater then 2 * adjust_ts_out_threshold - 1
|
|
; Defaults to 60
|
|
; Allowed interval: 10 .. 2 * adjust_ts_out_threshold - 1
|
|
;adjust_ts_out_under=60
|
|
|
|
; challenge_timeout: integer: Interval, in milliseconds, in which a remote party should
|
|
; reply with credentials when we are challenging it
|
|
; This value is applied on reload
|
|
; Minimum allowed value is 5000
|
|
; Defaults to 30000
|
|
;challenge_timeout=30000
|
|
|
|
; tos: keyword: Type Of Service to set in outgoing UDP packets
|
|
; numeric TOS value or: lowdelay, throughput, reliability, mincost
|
|
;tos=0
|
|
|
|
; read_threads: int: Number of threads that read packets from socket
|
|
;read_threads=1 in client mode, 3 in server mode
|
|
|
|
; event_threads: int: Number of threads that process events
|
|
;event_threads=1 in client mode, 3 in server mode
|
|
|
|
; trunk_threads: int: Number of threads that service trunked voice packets
|
|
;trunk_threads=1
|
|
|
|
; thread: keyword: Default priority of the data service threads (socket listener and data trunking)
|
|
; Can be one of: lowest, low, normal, high, highest
|
|
; It is a bad idea to set a low priority for anything but testing
|
|
;thread=normal
|
|
|
|
; maxchans: int: Maximum number of channels running at once
|
|
; This is not a listener specific parameter, it will be applied for all listeners
|
|
; A value of 0 specifies that there is no limit enforced.
|
|
; Defaults to the value set by the maxchans setting from yate.conf
|
|
;maxchans=
|
|
|
|
; printmsg: boolean: Print sent/received frames to output if the module's debug
|
|
; level is at least 9
|
|
; This parameter is applied on reload
|
|
; Defaults to yes
|
|
;printmsg=yes
|
|
|
|
|
|
[registrar]
|
|
; Controls the behaviour when acting as registrar
|
|
|
|
; expires_min: int: Minimum allowed expiration time in seconds
|
|
; This parameter is applied on reload
|
|
; Minimum allowed value is 1
|
|
; Defaults to 60 if missing
|
|
;expires_min=60
|
|
|
|
; expires_max: int: Value used to limit the expiration time to something sane
|
|
; This parameter is applied on reload
|
|
; Minimum allowed value is the value set in expires_min
|
|
; Defaults to 3600 if missing
|
|
;expires_max=3600
|
|
|
|
; expires_def: int: Default expiration time if not present in register requests
|
|
; This parameter is applied on reload
|
|
; The value is checked to be between expires_min and expires_max
|
|
; Defaults to 60 if missing
|
|
;expires_def=60
|
|
|
|
|
|
[formats]
|
|
; This section allows to individually enable or disable the codecs
|
|
|
|
; default: bool: Default enabling state for codecs
|
|
;default=enable
|
|
|
|
; preferred: string: Preferred format to use
|
|
;preferred=
|
|
|
|
; slin: bool: Uncompressed 16-bit signed linear
|
|
;slin=enable
|
|
|
|
; mulaw: bool: Companded-only G711 mu-law
|
|
;mulaw=enable
|
|
|
|
; alaw: bool: Companded-only G711 a-law
|
|
;alaw=enable
|
|
|
|
; gsm: bool: European GSM 06.10
|
|
;gsm=enable
|
|
|
|
; gsmhr: bool: European GSM 06.20 (GSM Half Rate)
|
|
;gsmhr=enable
|
|
|
|
; lpc10: bool: LPC 10
|
|
;lpc10=enable
|
|
|
|
|
|
;[listener listener_name]
|
|
; This section configures an extra listener to use
|
|
; 'iaxengine' can't be used as listener name
|
|
; Listed parameters can't use the default value from 'general' section
|
|
; All other parameters from 'general' section who are listener specific can be overriden
|
|
; for this listener
|
|
|
|
; enable: boolean: Enable or disable this listener
|
|
; This parameter is applied on reload and defaults to yes
|
|
;enable=yes
|
|
|
|
; port: int: UDP port for incoming connections
|
|
;port=4569
|
|
|
|
; addr: ipaddress: IP address to bind to
|
|
;addr=0.0.0.0
|
|
|
|
; force_bind: boolean: Try to use a random port if failed to bind on configured one
|
|
; Defaults to yes
|
|
;force_bind=yes
|
|
|
|
; default: boolean: Specifiy if this is the default transport to use when none specified
|
|
; Defaults to no
|
|
;default=no
|