diff --git a/asterisk.conf b/asterisk.conf
index a660775..9db3ddc 100644
--- a/asterisk.conf
+++ b/asterisk.conf
@@ -10,7 +10,7 @@ astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
-;[options]
+[options]
;verbose = 3
;debug = 3
;alwaysfork = yes ; same as -F at startup
@@ -39,6 +39,9 @@ astlogdir => /var/log/asterisk
;transcode_via_sln = yes ; Build transcode paths via SLINEAR, instead of directly
;runuser = asterisk ; The user to run as
;rungroup = asterisk ; The group to run as
+;lightbackground = yes ; If your terminal is set for a light-colored background
+documentation_language = en_US ; Set the Language you want Documentation displayed in. Value is in the same format as locale names
+;hideconnect = yes ; Hide messages displayed when a remote console connects and disconnects
; Changing the following lines may compromise your security.
;[files]
diff --git a/cdr.conf b/cdr.conf
index 2e4b9f0..40b56c9 100644
--- a/cdr.conf
+++ b/cdr.conf
@@ -14,12 +14,12 @@
;enable=yes
; Define whether or not to log unanswered calls. Setting this to "yes" will
-; report every attempt to ring a phone in dialing attempts, when it was not
+; report every attempt to ring a phone in dialing attempts, when it was not
; answered. For example, if you try to dial 3 extensions, and this option is "yes",
; you will get 3 CDR's, one for each phone that was rung. Default is "no". Some
; find this information horribly useless. Others find it very valuable. Note, in "yes"
; mode, you will see one CDR, with one of the call targets on one side, and the originating
-; channel on the other, and then one CDR for each channel attempted. This may seem
+; channel on the other, and then one CDR for each channel attempted. This may seem
; redundant, but cannot be helped.
unanswered = yes
@@ -69,19 +69,19 @@ unanswered = yes
;
; CHOOSING A CDR "BACKEND" (what kind of output to generate)
;
-; To choose a backend, you have to make sure either the right category is
-; defined in this file, or that the appropriate config file exists, and has the
+; To choose a backend, you have to make sure either the right category is
+; defined in this file, or that the appropriate config file exists, and has the
; proper definitions in it. If there are any problems, usually, the entry will
; silently ignored, and you get no output.
-;
-; Also, please note that you can generate CDR records in as many formats as you
+;
+; Also, please note that you can generate CDR records in as many formats as you
; wish. If you configure 5 different CDR formats, then each event will be logged
; in 5 different places! In the example config files, all formats are commented
; out except for the cdr-csv format.
;
; Here are all the possible back ends:
;
-; csv, custom, manager, odbc, pgsql, radius, sqlite, tds
+; csv, custom, manager, odbc, pgsql, radius, sqlite, tds
; (also, mysql is available via the asterisk-addons, due to licensing
; requirements)
; (please note, also, that other backends can be created, by creating
@@ -95,7 +95,7 @@ unanswered = yes
; backend is marked with XXX, you know that the "configure" command could not find
; the required libraries for that option.
;
-; To get CDRs to be logged to the plain-jane /var/log/asterisk/cdr-csv/Master.csv
+; To get CDRs to be logged to the plain-jane /var/log/asterisk/cdr-csv/Master.csv
; file, define the [csv] category in this file. No database necessary. The example
; config files are set up to provide this kind of output by default.
;
@@ -117,7 +117,7 @@ unanswered = yes
; shows that the modules are available, and the cdr_pgsql.conf file exists, and
; has a [global] section with the proper variables defined.
;
-; For logging to radius databases, make sure all the proper libs are installed, that
+; For logging to radius databases, make sure all the proper libs are installed, that
; "make menuselect" shows that the modules are available, and the [radius]
; category is defined in this file, and in that section, make sure the 'radiuscfg'
; variable is properly pointing to an existing radiusclient.conf file.
@@ -126,7 +126,7 @@ unanswered = yes
; which is usually /var/log/asterisk. Of course, the proper libraries should be available
; during the 'configure' operation.
;
-; For tds logging, make sure the proper libraries are available during the 'configure'
+; For tds logging, make sure the proper libraries are available during the 'configure'
; phase, and that cdr_tds.conf exists and is properly set up with a [global] category.
;
; Also, remember, that if you wish to log CDR info to a database, you will have to define
diff --git a/extensions.conf b/extensions.conf
index d0c872d..5e7b2a3 100644
--- a/extensions.conf
+++ b/extensions.conf
@@ -1,21 +1,21 @@
; extensions.conf - the Asterisk dial plan
;
; Static extension configuration file, used by
-; the pbx_config module. This is where you configure all your
-; inbound and outbound calls in Asterisk.
-;
-; This configuration file is reloaded
+; the pbx_config module. This is where you configure all your
+; inbound and outbound calls in Asterisk.
+;
+; This configuration file is reloaded
; - With the "dialplan reload" command in the CLI
; - With the "reload" command (that reloads everything) in the CLI
;
-; The "General" category is for certain variables.
+; The "General" category is for certain variables.
;
[general]
;
; If static is set to no, or omitted, then the pbx_config will rewrite
; this file when extensions are modified. Remember that all comments
-; made in the file will be lost when that happens.
+; made in the file will be lost when that happens.
;
; XXX Not yet implemented XXX
;
@@ -30,8 +30,8 @@ writeprotect=yes
; things to do, it will terminate the call with BUSY, CONGESTION
; or HANGUP depending on Asterisk's best guess. This is the default.
;
-; If autofallthrough is not set, then if an extension runs out of
-; things to do, Asterisk will wait for a new extension to be dialed
+; If autofallthrough is not set, then if an extension runs out of
+; things to do, Asterisk will wait for a new extension to be dialed
; (this is the original behavior of Asterisk 1.0 and earlier).
;
;autofallthrough=no
@@ -41,7 +41,7 @@ writeprotect=yes
; If extenpatternmatchnew is set (true, yes, etc), then a new algorithm that uses
; a Trie to find the best matching pattern is used. In dialplans
; with more than about 20-40 extensions in a single context, this
-; new algorithm can provide a noticeable speedup.
+; new algorithm can provide a noticeable speedup.
; With 50 extensions, the speedup is 1.32x
; with 88 extensions, the speedup is 2.23x
; with 138 extensions, the speedup is 3.44x
@@ -49,15 +49,15 @@ writeprotect=yes
; with 438 extensions, the speedup is 10.4x
; With 1000 extensions, the speedup is ~25x
; with 10,000 extensions, the speedup is 374x
-; Basically, the new algorithm provides a flat response
+; Basically, the new algorithm provides a flat response
; time, no matter the number of extensions.
;
-; By default, the old pattern matcher is used.
+; By default, the old pattern matcher is used.
;
; ****This is a new feature! *********************
-; The new pattern matcher is for the brave, the bold, and
+; The new pattern matcher is for the brave, the bold, and
; the desperate. If you have large dialplans (more than about 50 extensions
-; in a context), and/or high call volume, you might consider setting
+; in a context), and/or high call volume, you might consider setting
; this value to "yes" !!
; Please, if you try this out, and are forced to return to the
; old pattern matcher, please report your reasons in a bug report
@@ -69,7 +69,7 @@ writeprotect=yes
;
;extenpatternmatchnew=no
;
-; If clearglobalvars is set, global variables will be cleared
+; If clearglobalvars is set, global variables will be cleared
; and reparsed on a dialplan reload, or Asterisk reload.
;
; If clearglobalvars is not set, then global variables will persist
@@ -108,7 +108,7 @@ clearglobalvars=no
;#include "filename.conf"
;
; You can execute a program or script that produces config files, and they
-; will be inserted where you insert the #exec command. The #exec command
+; will be inserted where you insert the #exec command. The #exec command
; works on all asterisk configuration files. However, you will need to
; activate them within asterisk.conf with the "execincludes" option. They
; are otherwise considered a security risk.
@@ -131,8 +131,8 @@ IAXINFO=guest ; IAXtel username/password
TRUNK=DAHDI/G2 ; Trunk interface
;
; Note the 'G2' in the TRUNK variable above. It specifies which group (defined
-; in dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use in
-; the specified group. The four possible options are:
+; in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use
+; in the specified group. The four possible options are:
;
; g: select the lowest-numbered non-busy DAHDI channel
; (aka. ascending sequential hunt group).
@@ -156,8 +156,8 @@ DYNAMIC_FEATURES=automixmon
; yourself a ton of grief.
; WARNING WARNING WARNING WARNING
;
-; Any category other than "General" and "Globals" represent
-; extension contexts, which are collections of extensions.
+; Any category other than "General" and "Globals" represent
+; extension contexts, which are collections of extensions.
;
; Extension names may be numbers, letters, or combinations
; thereof. If an extension name is prefixed by a '_'
@@ -168,12 +168,12 @@ DYNAMIC_FEATURES=automixmon
; Z - any digit from 1-9
; N - any digit from 2-9
; [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
-; . - wildcard, matches anything remaining (e.g. _9011. matches
+; . - wildcard, matches anything remaining (e.g. _9011. matches
; anything starting with 9011 excluding 9011 itself)
; ! - wildcard, causes the matching process to complete as soon as
; it can unambiguously determine that no other matches are possible
;
-; For example, the extension _NXXXXXX would match normal 7 digit dialings,
+; For example, the extension _NXXXXXX would match normal 7 digit dialings,
; while _1NXXNXXXXXX would represent an area code plus phone number
; preceded by a one.
;
@@ -200,9 +200,9 @@ DYNAMIC_FEATURES=automixmon
;[context]
;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...)
;
-; Timing list for includes is
+; Timing list for includes is
;
-; <time range>,<days of week>,<days of month>,<months>
+; <time range>,<days of week>,<days of month>,<months>[,<timezone>]
;
; Note that ranges may be specified to wrap around the ends. Also, minutes are
; fine-grained only down to the closest even minute.
@@ -249,7 +249,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;;
;;EX;; If you are freely delivering calls to the PSTN, list them here
;;EX;;
-;;EX;;exten => _1256428XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Expose all of 256-428
+;;EX;;exten => _1256428XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Expose all of 256-428
;;EX;;exten => _1256325XXXX,1,Dial(DAHDI/G2/${EXTEN:7}) ; Ditto for 256-325
;;EX;
;;EX;[dundi-e164-local]
@@ -275,15 +275,15 @@ DYNAMIC_FEATURES=automixmon
;;EX;include => dundi-e164-local
;;EX;include => dundi-e164-switch
;;EX;;
-;;EX;; DUNDi can also be implemented as a Macro instead of using
-;;EX;; the Local channel driver.
+;;EX;; DUNDi can also be implemented as a Macro instead of using
+;;EX;; the Local channel driver.
;;EX;;
;;EX;[macro-dundi-e164]
;;EX;;
;;EX;; ARG1 is the extension to Dial
;;EX;;
;;EX;; Extension "s" is not a wildcard extension that matches "anything".
-;;EX;; In macros, it is the start extension. In most other cases,
+;;EX;; In macros, it is the start extension. In most other cases,
;;EX;; you have to goto "s" to execute that extension.
;;EX;;
;;EX;; For wildcard matches, see above - all pattern matches start with
@@ -370,10 +370,10 @@ DYNAMIC_FEATURES=automixmon
;;EX;include => parkedcalls
;;EX;;
;;EX;; You can use an alternative switch type as well, to resolve
-;;EX;; extensions that are not known here, for example with remote
+;;EX;; extensions that are not known here, for example with remote
;;EX;; IAX switching you transparently get access to the remote
;;EX;; Asterisk PBX
-;;EX;;
+;;EX;;
;;EX;; switch => IAX2/user:password@bigserver/local
;;EX;;
;;EX;; An "lswitch" is like a switch but is literal, in that
@@ -391,7 +391,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;
;;EX;[macro-trunkdial]
;;EX;;
-;;EX;; Standard trunk dial macro (hangs up on a dialstatus that should
+;;EX;; Standard trunk dial macro (hangs up on a dialstatus that should
;;EX;; terminate call)
;;EX;; ${ARG1} - What to dial
;;EX;;
@@ -461,7 +461,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
;;EX;
;;EX;exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
-;;EX;exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
+;;EX;exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
;;EX; ; option (or use P for databased call _X.creening)
;;EX;exten => _X.,n,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
;;EX;
@@ -523,7 +523,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;; We also create an example user, 1234, who is on the console and has
;;EX;; voicemail, etc.
;;EX;;
-;;EX;exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
+;;EX;exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
;;EX; ; (but skip if channel is not up)
;;EX;exten => 1234,n,Gosub(stdexten(1234,${GLOBAL(CONSOLE)}))
;;EX;exten => 1234,n,Goto(default,s,1) ; exited Voicemail
@@ -586,7 +586,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;
;;EX;;
;;EX;; The page context calls up the page macro that sets variables needed for auto-answer
-;;EX;; It is in is own context to make calling it from the Page() application as simple as
+;;EX;; It is in is own context to make calling it from the Page() application as simple as
;;EX;; Local/{peername}@page
;;EX;;
;;EX;[page]
@@ -613,7 +613,7 @@ DYNAMIC_FEATURES=automixmon
;;EX;
;;EX;[default]
;;EX;;
-;;EX;; By default we include the demo. In a production system, you
+;;EX;; By default we include the demo. In a production system, you
;;EX;; probably don't want to have the demo there.
;;EX;;
;;EX;include => demo
@@ -726,12 +726,12 @@ DYNAMIC_FEATURES=automixmon
;;EX;; friendly Asterisk CLI prompt.
;;EX;;
;;EX;; "core show application <command>" will show details of how you
-;;EX;; use that particular application in this file, the dial plan.
+;;EX;; use that particular application in this file, the dial plan.
;;EX;; "core show functions" will list all dialplan functions
;;EX;; "core show function <COMMAND>" will show you more information about
;;EX;; one function. Remember that function names are UPPER CASE.
-;;EX;
-;;EX;
+
+
[macro-echo]
exten => s,1,Answer()
diff --git a/features.conf b/features.conf
index 4b07b01..464c9e3 100644
--- a/features.conf
+++ b/features.conf
@@ -9,12 +9,12 @@ parkpos => 701-720 ; What extensions to park calls on. (defafult parking lot)
; and increments with one for the next parked call.
context => parkedcalls ; Which context parked calls are in (default parking lot)
;parkinghints = no ; Add hints priorities automatically for parking slots (default is no).
-;parkingtime => 45 ; Number of seconds a call can be parked for
+;parkingtime => 45 ; Number of seconds a call can be parked for
; (default is 45 seconds)
;comebacktoorigin = yes ; Whether to return to the original calling extension upon parking
; timeout or to send the call to context 'parkedcallstimeout' at
; extension 's', priority '1' (default is yes).
-;courtesytone = beep ; Sound file to play to the parked caller
+;courtesytone = beep ; Sound file to play to the parked caller
; when someone dials a parked call
; or the Touch Monitor is activated/deactivated.
;parkedplay = caller ; Who to play the courtesy tone to when picking up a parked call
@@ -28,7 +28,7 @@ context => parkedcalls ; Which context parked calls are in (default parking lot
;parkedcallrecording = caller ; Enables or disables DTMF based one-touch recording when picking up a parked call.
; one of: callee, caller, both, no (default is no)
;adsipark = yes ; if you want ADSI parking announcements
-;findslot => next ; Continue to the 'next' free parking space.
+;findslot => next ; Continue to the 'next' free parking space.
; Defaults to 'first' available
;parkedmusicclass=default ; This is the MOH class to use for the parked channel
; as long as the class is not set on the channel directly
@@ -39,7 +39,9 @@ context => parkedcalls ; Which context parked calls are in (default parking lot
;xfersound = beep ; to indicate an attended transfer is complete
;xferfailsound = beeperr ; to indicate a failed transfer
pickupexten = *8 ; Configure the pickup extension. (default is *8)
-;featuredigittimeout = 1000 ; Max time (ms) between digits for
+;pickupsound = beep ; to indicate a successful pickup (default: no sound)
+;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)
+;featuredigittimeout = 1000 ; Max time (ms) between digits for
; feature activation (default is 1000 ms)
;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds.
;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transferred
@@ -117,11 +119,6 @@ automixmon => *0 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set
; ;on their channel
;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring
; ;on their channel
-
-;nway-start => *3,self/both,Macro,nway-start
-;nway-inv => **,self/both,Macro,nway-ok
-;nway-noinv => *#,self/both,Macro,nway-notok
-
;
;*** Define another parking lot
;
diff --git a/musiconhold.conf b/musiconhold.conf
index 420c437..6ae189a 100644
--- a/musiconhold.conf
+++ b/musiconhold.conf
@@ -8,9 +8,9 @@
; valid mode options:
-; files -- read files from a directory in any Asterisk supported
+; files -- read files from a directory in any Asterisk supported
; media format
-; quietmp3 -- default
+; quietmp3 -- default
; mp3 -- loud
; mp3nb -- unbuffered
; quietmp3nb -- quiet unbuffered
@@ -29,6 +29,11 @@
; Files can be present in as many formats as you wish, and the
; 'best' format will be chosen at playback time.
;
+; The path specified can be either an absolute path (starts with '/'),
+; or a relative path; relative paths are interpreted as being relative
+; to the 'astvarlibdir' in asterisk.conf, which defaults to
+; /var/lib/asterisk.
+;
; NOTE:
; If you are not using "autoload" in modules.conf, then you
; must ensure that the format modules for any formats you wish
@@ -39,12 +44,12 @@
[default]
mode=files
-directory=/var/lib/asterisk/moh
+directory=moh
sort=random
;
;[native-random]
;mode=files
-;directory=/var/lib/asterisk/moh
+;directory=moh
;digit=# ; If this option is set for a class, then when callers are
; ; listening to music on hold, they can press this digit, and
; ; they will switch to listening to this music class.
@@ -52,7 +57,7 @@ sort=random
;[native-alphabetical]
;mode=files
-;directory=/var/lib/asterisk/moh
+;directory=moh
;sort=alpha ; Sort the files in alphabetical order. If this option is
; ; not specified, the sort order is undefined.
diff --git a/res_odbc.conf b/res_odbc.conf
index 50ab141..d5418f0 100644
--- a/res_odbc.conf
+++ b/res_odbc.conf
@@ -1,4 +1,4 @@
-;;; odbc setup file
+;;; odbc setup file
; ENV is a global set of environmental variables that will get set.
; Note that all environmental variables can be seen by all connections,
@@ -54,7 +54,17 @@ pre-connect => yes
;;EX;password => thegrouch
;;EX;pre-connect => yes
;;EX;sanitysql => select count(*) from systables
+;;EX;; forcecommit => no ; Default to committing uncommitted transactions?
+;;EX;; isolation => read_committed ; Isolation level; supported levels are:
+;;EX; ; read_uncommitted, read_committed, repeatable_read,
+;;EX; ; serializable. Note that not all databases support
+;;EX; ; all isolation levels (e.g. Postgres only supports
+;;EX; ; repeatable_read and serializable). See database
+;;EX; ; documentation for further information.
;;EX;;
;;EX;; Many databases have a default of '\' to escape special characters. MS SQL
;;EX;; Server does not.
;;EX;backslash_is_escape => no
+;;EX;
+;;EX;
+;;EX;
diff --git a/sip.conf b/sip.conf
index 8952bd4..af3b8de 100644
--- a/sip.conf
+++ b/sip.conf
@@ -3,7 +3,7 @@
;
; SIP dial strings
;-----------------------------------------------------------
-; In the dialplan (extensions.conf) you can use several
+; In the dialplan (extensions.conf) you can use several
; syntaxes for dialing SIP devices.
; SIP/devicename
; SIP/username@domain (SIP uri)
@@ -17,11 +17,11 @@
; username@domain
; Call any SIP user on the Internet
; (Don't forget to enable DNS SRV records if you want to use this)
-;
+;
; devicename/extension
; If you define a SIP proxy as a peer below, you may call
-; SIP/proxyhostname/user or SIP/user@proxyhostname
-; where the proxyhostname is defined in a section below
+; SIP/proxyhostname/user or SIP/user@proxyhostname
+; where the proxyhostname is defined in a section below
; This syntax also works with ATA's with FXO ports
;
; SIP/username[:password[:md5secret[:authname]]]@host[:port]
@@ -43,20 +43,18 @@
; -------------------------------------------------------------
; Useful CLI commands to check peers/users:
; sip show peers Show all SIP peers (including friends)
-; sip show users Show all SIP users (including friends)
; sip show registry Show status of hosts we register with
;
; sip set debug on Show all SIP messages
;
; module reload chan_sip.so Reload configuration file
-; Active SIP peers will not be reconfigured
;
;------- Naming devices ------------------------------------------------------
;
; When naming devices, make sure you understand how Asterisk matches calls
; that come in.
; 1. Asterisk checks the SIP From: address username and matches against
-; names of devices with type=user
+; names of devices with type=user
; The name is the text between square brackets [name]
; 2. Asterisk checks the From: addres and matches the list of devices
; with a type=peer
@@ -66,14 +64,14 @@
; Don't mix extensions with the names of the devices. Devices need a unique
; name. The device name is *not* used as phone numbers. Phone numbers are
; anything you declare as an extension in the dialplan (extensions.conf).
-;
+;
; When setting up trunks, make sure there's no risk that any From: username
-; (caller ID) will match any of your device names, because then Asterisk
+; (caller ID) will match any of your device names, because then Asterisk
; might match the wrong device.
;
; Note: The parameter "username" is not the username and in most cases is
; not needed at all. Check below. In later releases, it's renamed
-; to "defaultuser" which is a better name, since it is used in
+; to "defaultuser" which is a better name, since it is used in
; combination with the "defaultip" setting.
;-----------------------------------------------------------------------------
@@ -83,7 +81,7 @@
; You are encouraged to use the dialplan groupcount functionality
; to enforce call limits instead of using this channel-specific method.
;
-; You can still set limits per device in sip.conf or in a database by using
+; You can still set limits per device in sip.conf or in a database by using
; "setvar" to set variables that can be used in the dialplan for various limits.
[general]
@@ -119,38 +117,38 @@ tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0
; Remember that the IP address must match the common name (hostname) in the
; certificate, so you don't want to bind a TLS socket to multiple IP addresses.
-;tlscertfile=asterisk.pem ; Certificate file (*.pem only) to use for TLS connections
+;tlscertfile=asterisk.pem ; Certificate file (*.pem only) to use for TLS connections
; default is to look for "asterisk.pem" in current directory
;tlscafile=</path/to/certificate>
; If the server your connecting to uses a self signed certificate
-; you should have their certificate installed here so the code can
+; you should have their certificate installed here so the code can
; verify the authenticity of their certificate.
;tlscadir=</path/to/ca/dir>
-; A directory full of CA certificates. The files must be named with
-; the CA subject name hash value.
-; (see man SSL_CTX_load_verify_locations for more info)
+; A directory full of CA certificates. The files must be named with
+; the CA subject name hash value.
+; (see man SSL_CTX_load_verify_locations for more info)
;tlsdontverifyserver=[yes|no]
-; If set to yes, don't verify the servers certificate when acting as
+; If set to yes, don't verify the servers certificate when acting as
; a client. If you don't have the server's CA certificate you can
; set this and it will connect without requiring tlscafile to be set.
; Default is no.
;tlscipher=<SSL cipher string>
; A string specifying which SSL ciphers to use or not use
-; A list of valid SSL cipher strings can be found at:
+; A list of valid SSL cipher strings can be found at:
; http://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
- ; Note: Asterisk only uses the first host
+ ; Note: Asterisk only uses the first host
; in SRV records
- ; Disabling DNS SRV lookups disables the
- ; ability to place SIP calls based on domain
+ ; Disabling DNS SRV lookups disables the
+ ; ability to place SIP calls based on domain
; names to some other SIP users on the Internet
-;pedantic=yes ; Enable checking of tags in headers,
+;pedantic=yes ; Enable checking of tags in headers,
; international character conversions in URIs
; and multiline formatted headers for strict
; SIP compatibility (defaults to "no")
@@ -170,16 +168,19 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; and subscriptions (seconds)
;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60)
;defaultexpiry=120 ; Default length of incoming/outgoing registration
-;qualifyfreq=60 ; Qualification: How often to check for the
+;mwiexpiry=3600 ; Expiry time for outgoing MWI subscriptions
+;qualifyfreq=60 ; Qualification: How often to check for the
; host to be up in seconds
; Set to low value if you use low timeout for
; NAT of UDP sessions
+;qualifygap=100 ; Number of milliseconds between each group of peers being qualified
+;qualifypeers=1 ; Number of peers in a group to be qualified at the same time
;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY
;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC
; fully. Enable this option to not get error messages
; when sending MWI to phones with this bug.
-;vmexten=voicemail ; dialplan extension to reach mailbox sets the
- ; Message-Account in the MWI notify message
+;vmexten=voicemail ; dialplan extension to reach mailbox sets the
+ ; Message-Account in the MWI notify message
; defaults to "asterisk"
;disallow=all ; First disallow all codecs
;allow=ulaw ; Allow codecs in order of preference
@@ -228,7 +229,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;usereqphone = no ; If yes, ";user=phone" is added to uri that contains
; a valid phone number
;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
- ; Other options:
+ ; Other options:
; info : SIP INFO messages (application/dtmf-relay)
; shortinfo : SIP INFO messages (application/dtmf)
; inband : Inband audio (requires 64 kbit codec -alaw, ulaw)
@@ -250,7 +251,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s)
; Videosupport and maxcallbitrate is settable
; for peers and users as well
-;callevents=no ; generate manager events when sip ua
+;callevents=no ; generate manager events when sip ua
; performs events (e.g. hold)
;authfailureevents=no ; generate manager "peerstatus" events when peer can't
; authenticate with Asterisk. Peerstatus will be "rejected".
@@ -269,7 +270,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the devices
;outboundproxy=proxy.provider.domain:8080 ; send outbound signaling to this proxy, not directly to the devices
;outboundproxy=proxy.provider.domain,force ; Send ALL outbound signalling to proxy, ignoring route: headers
-;outboundproxy=tls://proxy.provider.domain ; same as '=proxy.provider.domain' except we try to connect with tls
+;outboundproxy=tls://proxy.provider.domain ; same as '=proxy.provider.domain' except we try to connect with tls
; ; (could also be tcp,udp) - defining transports on the proxy line only
; ; applies for the global proxy, otherwise use the transport= option
;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches
@@ -289,12 +290,12 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;
; If regcontext is specified, Asterisk will dynamically create and destroy a
; NoOp priority 1 extension for a given peer who registers or unregisters with
-; us and have a "regexten=" configuration item.
-; Multiple contexts may be specified by separating them with '&'. The
+; us and have a "regexten=" configuration item.
+; Multiple contexts may be specified by separating them with '&'. The
; actual extension is the 'regexten' parameter of the registering peer or its
; name if 'regexten' is not provided. If more than one context is provided,
; the context must be specified within regexten by appending the desired
-; context after '@'. More than one regexten may be supplied if they are
+; context after '@'. More than one regexten may be supplied if they are
; separated by '&'. Patterns may be used in regexten.
;
;regcontext=sipregistrations
@@ -304,7 +305,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; extension for the peer
;
;--------------------------- SIP timers ----------------------------------------------------
-; These timers are used primarily in INVITE transactions.
+; These timers are used primarily in INVITE transactions.
; The default for Timer T1 is 500 ms or the measured run-trip time between
; Asterisk and the device if you have qualify=yes for the device.
;
@@ -371,7 +372,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;--------------------------- SIP DEBUGGING ---------------------------------------------------
;sipdebug = yes ; Turn on SIP debugging by default, from
; the moment the channel loads this configuration
-;recordhistory=yes ; Record SIP history by default
+;recordhistory=yes ; Record SIP history by default
; (see sip history / sip no history)
;dumphistory=yes ; Dump SIP history at end of SIP dialogue
; SIP history is output to the DEBUG logging channel
@@ -380,12 +381,12 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ----------------------------
; You can subscribe to the status of extensions with a "hint" priority
; (See extensions.conf.sample for examples)
-; chan_sip support two major formats for notifications: dialog-info and SIMPLE
+; chan_sip support two major formats for notifications: dialog-info and SIMPLE
;
; You will get more detailed reports (busy etc) if you have a call counter enabled
-; for a device.
+; for a device.
;
-; If you set the busylevel, we will indicate busy when we have a number of calls that
+; If you set the busylevel, we will indicate busy when we have a number of calls that
; matches the busylevel treshold.
;
; For queues, you will need this level of detail in status reporting, regardless
@@ -399,47 +400,58 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;subscribecontext = default ; Set a specific context for SUBSCRIBE requests
; Useful to limit subscriptions to local extensions
; Settable per peer/user also
-;notifyringing = yes ; Control whether subscriptions already INUSE get sent
- ; RINGING when another call is sent (default: no)
+;notifyringing = no ; Control whether subscriptions already INUSE get sent
+ ; RINGING when another call is sent (default: yes)
;notifyhold = yes ; Notify subscriptions on HOLD state (default: no)
; Turning on notifyringing and notifyhold will add a lot
; more database transactions if you are using realtime.
+;notifycid = yes ; Control whether caller ID information is sent along with
+ ; dialog-info+xml notifications (supported by snom phones).
+ ; Note that this feature will only work properly when the
+ ; incoming call is using the same extension and context that
+ ; is being used as the hint for the called extension. This means
+ ; that it won't work when using subscribecontext for your sip
+ ; user or peer (if subscribecontext is different than context).
+ ; This is also limited to a single caller, meaning that if an
+ ; extension is ringing because multiple calls are incoming,
+ ; only one will be used as the source of caller ID. Specify
+ ; 'ignore-context' to ignore the called context when looking
+ ; for the caller's channel. The default value is 'no.' Setting
+ ; notifycid to 'ignore-context' also causes call-pickups attempted
+ ; via SNOM's NOTIFY mechanism to set the context for the call pickup
+ ; to PICKUPMARK.
;callcounter = yes ; Enable call counters on devices. This can be set per
; device too.
-;counteronpeer = yes ; Apply call counting on peers only. This will improve
- ; status notification when you are using type=friend
- ; Inbound calls, that really apply to the user part
- ; of a friend will now be added to and compared with
- ; the peer counter instead of applying two call counters,
- ; one for the peer and one for the user.
- ; "sip show inuse" will only show active calls on
- ; the peer side of a "type=friend" object if this
- ; setting is turned on.
;----------------------------------------- T.38 FAX PASSTHROUGH SUPPORT -----------------------
;
; This setting is available in the [general] section as well as in device configurations.
; Setting this to yes, enables T.38 fax (UDPTL) passthrough on SIP to SIP calls, provided
-; both parties have T38 support enabled in their Asterisk configuration
+; both parties have T38 support enabled in their Asterisk configuration
; This has to be enabled in the general section for all devices to work. You can then
-; disable it on a per device basis.
+; disable it on a per device basis.
;
; T.38 faxing only works in SIP to SIP calls, with no local or agent channel being used.
;
; t38pt_udptl = yes ; Default false
;
+; Fax Detect will cause the SIP channel to jump to the 'fax' extension (if it exists)
+; after T.38 is successfully negotiated.
+;
+; faxdetect = yes ; Default false
+;
;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------
; Asterisk can register as a SIP user agent to a SIP proxy (provider)
; Format for the register statement is:
-; register => [transport://]user[:secret[:authuser]]@domain[:port][/extension][~expiry]
+; register => [transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]
;
+;
;
-;
-; domain is either
+; domain is either
; - domain in DNS
; - host name in DNS
; - the name of a peer defined below or in realtime
-; The domain is where you register your username, so your SIP uri you are registering to
+; The domain is where you register your username, so your SIP uri you are registering to
; is username@domain
;
; If no extension is given, the 's' extension is used. The extension needs to
@@ -470,7 +482,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;
; Examples:
;
-;register => 1234:password@mysipprovider.com
+;register => 1234:password@mysipprovider.com
;
; This will pass incoming calls to the 's' extension
;
@@ -482,15 +494,30 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; unless you configure a [sip_proxy] section below, and configure a
; context.
; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com]
-; Tip 2: Use separate type=peer and type=user sections for SIP providers
+; Tip 2: Use separate inbound and outbound sections for SIP providers
; (instead of type=friend) if you have calls in both directions
-
+;
+;register => 3456@mydomain:5082::@mysipprovider.com
+;
+; Note that in this example, the optional authuser and secret portions have
+; been left blank because we have specified a port in the user section
+
;registertimeout=20 ; retry registration calls every 20 seconds (default)
;registerattempts=10 ; Number of registration attempts before we give up
; 0 = continue forever, hammering the other server
; until it accepts the registration
; Default is 0 tries, continue forever
-
+;----------------------------------------- OUTBOUND MWI SUBSCRIPTIONS -------------------------
+; Asterisk can subscribe to receive the MWI from another SIP server and store it locally for retrieval
+; by other phones.
+; Format for the mwi register statement is:
+; mwi => user[:secret[:authuser]]@host[:port][/mailbox]
+;
+; Examples:
+;mwi => 1234:password@mysipprovider.com/1234
+;
+; MWI received will be stored in the 1234 mailbox of the SIP_Remote context. It can be used by other phones by following the below:
+; mailbox=1234@SIP_Remote
;----------------------------------------- NAT SUPPORT ------------------------
;
; WARNING: SIP operation behind a NAT is tricky and you really need
@@ -576,7 +603,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; nat = no ; default. Use NAT mode only according to RFC3581 (;rport)
; nat = yes ; Always ignore info and assume NAT
; nat = never ; Never attempt NAT mode or RFC3581 support
-; nat = route ; route = Assume NAT, don't send rport
+; nat = route ; route = Assume NAT, don't send rport
; ; (work around more UNIDEN bugs)
;----------------------------------- MEDIA HANDLING --------------------------------
@@ -600,7 +627,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up
; the call directly with media peer-2-peer without re-invites.
- ; Will not work for video and cases where the callee sends
+ ; Will not work for video and cases where the callee sends
; RTP payloads and fmtp headers in the 200 OK that does not match the
; callers INVITE. This will also fail if canreinvite is enabled when
; the device is actually behind NAT.
@@ -615,6 +642,15 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; instead of INVITE. This can be combined with 'nonat', as
; 'canreinvite=update,nonat'. It implies 'yes'.
+;ignoresdpversion=yes ; By default, Asterisk will honor the session version
+ ; number in SDP packets and will only modify the SDP
+ ; session if the version number changes. This option will
+ ; force asterisk to ignore the SDP session version number
+ ; and treat all SDP data as new data. This is required
+ ; for devices that send us non standard SDP packets
+ ; (observed with Microsoft OCS). By default this option is
+ ; off.
+
;----------------------------------------- REALTIME SUPPORT ------------------------
; For additional information on ARA, the Asterisk Realtime Architecture,
; please read realtime.txt and extconfig.txt in the /doc directory of the
@@ -630,7 +666,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;rtupdate=yes ; Send registry updates to database using realtime? (yes|no)
; If set to yes, when a SIP UA registers successfully, the ip address,
; the origination port, the registration period, and the username of
- ; the UA will be set to database via realtime.
+ ; the UA will be set to database via realtime.
; If not present, defaults to 'yes'. Note: realtime peers will
; probably not function across reloads in the way that you expect, if
; you turn this option off.
@@ -650,8 +686,8 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;
; For realtime peers, when the peer is retrieved from realtime storage,
; the registration information will be used regardless of whether
- ; it has expired or not; if it expires while the realtime peer
- ; is still in memory (due to caching or other reasons), the
+ ; it has expired or not; if it expires while the realtime peer
+ ; is still in memory (due to caching or other reasons), the
; information will not be removed from realtime storage
;----------------------------------------- SIP DOMAIN SUPPORT ------------------------
@@ -691,7 +727,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; address. This is to be polite and
; it may be a mandatory requirement for some
; destinations which do not have a prior
- ; account relationship with your server.
+ ; account relationship with your server.
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
@@ -734,90 +770,109 @@ canreinvite = nonat
; any credentials in peer/register definition if realm is matched.
;
; This way, Asterisk can authenticate for outbound calls to other
-; realms. We match realm on the proxy challenge and pick an set of
+; realms. We match realm on the proxy challenge and pick an set of
; credentials from this list
; Syntax:
; auth = <user>:<secret>@<realm>
; auth = <user>#<md5secret>@<realm>
; Example:
;auth=mark:topsecret@digium.com
-;
-; You may also add auth= statements to [peer] definitions
+;
+; You may also add auth= statements to [peer] definitions
; Peer auth= override all other authentication settings if we match on realm
;------------------------------------------------------------------------------
-; Users and peers have different settings available. Friends have all settings,
-; since a friend is both a peer and a user
-;
-; User config options: Peer configuration:
-; -------------------- -------------------
-; context context
-; callingpres callingpres
-; permit permit
-; deny deny
-; secret secret
-; md5secret md5secret
-; transport transport
-; dtmfmode dtmfmode
-; canreinvite canreinvite
-; nat nat
-; callgroup callgroup
-; pickupgroup pickupgroup
-; language language
-; allow allow
-; disallow disallow
-; insecure insecure
-; trustrpid trustrpid
-; progressinband progressinband
-; promiscredir promiscredir
-; useclientcode useclientcode
-; accountcode accountcode
-; setvar setvar
-; callerid callerid
-; amaflags amaflags
-; call-limit call-limit (deprecated)
-; callcounter callcounter
-; allowoverlap allowoverlap
-; allowsubscribe allowsubscribe
-; allowtransfer allowtransfer
-; subscribecontext subscribecontext
-; videosupport videosupport
-; maxcallbitrate maxcallbitrate
-; rfc2833compensate mailbox
-; session-timers busylevel
+; DEVICE CONFIGURATION
+;
+; The SIP channel has two types of devices, the friend and the peer.
+; * The type=friend is a device type that accepts both incoming and outbound calls,
+; where Asterisk match on the From: username on incoming calls.
+; (A synonym for friend is "user"). This is a type you use for your local
+; SIP phones.
+; * The type=peer also handles both incoming and outbound calls. On inbound calls,
+; Asterisk only matches on IP/port, not on names. This is mostly used for SIP
+; trunks.
+;
+; For device names, we recommend using only a-z, numerics (0-9) and underscore
+;
+; For local phones, type=friend works most of the time
+;
+; If you have one-way audio, you probably have NAT problems.
+; If Asterisk is on a public IP, and the phone is inside of a NAT device
+; you will need to configure nat option for those phones.
+; Also, turn on qualify=yes to keep the nat session open
+;
+; Configuration options available
+; --------------------
+; context
+; callingpres
+; permit
+; deny
+; secret
+; md5secret
+; remotesecret
+; transport
+; dtmfmode
+; canreinvite
+; nat
+; callgroup
+; pickupgroup
+; language
+; allow
+; disallow
+; insecure
+; trustrpid
+; progressinband
+; promiscredir
+; useclientcode
+; accountcode
+; setvar
+; callerid
+; amaflags
+; callcounter
+; busylevel
+; allowoverlap
+; allowsubscribe
+; allowtransfer
+; ignoresdpversion
+; subscribecontext
+; template
+; videosupport
+; maxcallbitrate
+; rfc2833compensate
+; mailbox
+; session-timers
; session-expires
-; session-minse template
-; session-refresher fromdomain
-; t38pt_usertpsource regexten
-; fromuser
-; host
-; port
-; qualify
-; defaultip
-; defaultuser
-; rtptimeout
-; rtpholdtimeout
-; sendrpid
-; outboundproxy
-; rfc2833compensate
-; callbackextension
-; registertrying
-; session-timers
-; session-expires
-; session-minse
-; session-refresher
-; timert1
-; timerb
-; qualifyfreq
-; t38pt_usertpsource
-; contactpermit ; Limit what a host may register as (a neat trick
-; contactdeny ; is to register at the same IP as a SIP provider,
-; ; then call oneself, and get redirected to that
-; ; same location).
+; session-minse
+; session-refresher
+; t38pt_usertpsource
+; regexten
+; fromdomain
+; fromuser
+; host
+; port
+; qualify
+; defaultip
+; defaultuser
+; rtptimeout
+; rtpholdtimeout
+; sendrpid
+; outboundproxy
+; rfc2833compensate
+; callbackextension
+; registertrying
+; timert1
+; timerb
+; qualifyfreq
+; t38pt_usertpsource
+; contactpermit ; Limit what a host may register as (a neat trick
+; contactdeny ; is to register at the same IP as a SIP provider,
+; ; then call oneself, and get redirected to that
+; ; same location).
;[sip_proxy]
; For incoming calls only. Example: FWD (Free World Dialup)
-; We match on IP address of the proxy for incoming calls
+; We match on IP address of the proxy for incoming calls
; since we can not match on username (caller id)
;type=peer
;context=from-fwd
@@ -825,14 +880,17 @@ canreinvite = nonat
;[sip_proxy-out]
;type=peer ; we only want to call out, not be called
-;secret=guessit
+;remotesecret=guessit ; Our password to their service
;defaultuser=yourusername ; Authentication user for outbound proxies
;fromuser=yourusername ; Many SIP providers require this!
-;fromdomain=provider.sip.domain
+;fromdomain=provider.sip.domain
;host=box.provider.com
-;transport=udp,tcp ; This sets the transport type to udp for outgoing, and will
-; ; accept both tcp and udp. Default is udp. The first transport
-; ; listed will always be used for outgoing connections.
+;transport=udp,tcp ; This sets the default transport type to udp for outgoing, and will
+; ; accept both tcp and udp. The default transport type is only used for
+; ; outbound messages until a Registration takes place. During the
+; ; peer Registration the transport type may change to another supported
+; ; type if the peer requests so.
+
;usereqphone=yes ; This provider requires ";user=phone" on URI
;callcounter=yes ; Enable call counter
;busylevel=2 ; Signal busy at 2 or more calls
@@ -845,27 +903,13 @@ canreinvite = nonat
;type=peer
;host=sip.provider1.com
;fromuser=4015552299 ; how your provider knows you
-;secret=youwillneverguessit
+;remotesecret=youwillneverguessit ; The password we use to authenticate to them
+;secret=gissadetdu ; The password they use to contact us
;callbackextension=123 ; Register with this server and require calls coming back to this extension
;transport=udp,tcp ; This sets the transport type to udp for outgoing, and will
; ; accept both tcp and udp. Default is udp. The first transport
; ; listed will always be used for outgoing connections.
-;------------------------------------------------------------------------------
-; Definitions of locally connected SIP devices
-;
-; type = user a device that authenticates to us by "from" field to place calls
-; type = peer a device we place calls to or that calls us and we match by host
-; type = friend two configurations (peer+user) in one
-;
-; For device names, we recommend using only a-z, numerics (0-9) and underscore
-;
-; For local phones, type=friend works most of the time
-;
-; If you have one-way audio, you probably have NAT problems.
-; If Asterisk is on a public IP, and the phone is inside of a NAT device
-; you will need to configure nat option for those phones.
-; Also, turn on qualify=yes to keep the nat session open
;
; Because you might have a large number of similar sections, it is generally
; convenient to use templates for the common parameters, and add them
@@ -912,7 +956,7 @@ canreinvite = nonat
; Standard configurations not using templates look like this:
;
;[grandstream1]
-;type=friend
+;type=friend
;context=from-sip ; Where to start in the dialplan when this phone calls
;callerid=John Doe <1234> ; Full caller ID, to override the phones config
; on incoming calls to Asterisk
@@ -962,14 +1006,14 @@ canreinvite = nonat
;context=from-sip ; Context for incoming calls from this user
;secret=blah
;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions
-;language=de ; Use German prompts for this user
+;language=de ; Use German prompts for this user
;host=dynamic ; This peer register with us
;dtmfmode=inband ; Choices are inband, rfc2833, or info
;defaultip=192.168.0.59 ; IP used until peer registers
;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator
-;subscribemwi=yes ; Only send notifications if this phone
+;subscribemwi=yes ; Only send notifications if this phone
; subscribes for mailbox notification
-;vmexten=voicemail ; dialplan extension to reach mailbox
+;vmexten=voicemail ; dialplan extension to reach mailbox
; sets the Message-Account in the MWI notify message
; defaults to global vmexten which defaults to "asterisk"
;disallow=all
@@ -994,14 +1038,14 @@ canreinvite = nonat
;type=friend
;secret=blah
;host=dynamic
-;insecure=port ; Allow matching of peer by IP address without
+;insecure=port ; Allow matching of peer by IP address without
; matching port number
;insecure=invite ; Do not require authentication of incoming INVITEs
;insecure=port,invite ; (both)
;qualify=1000 ; Consider it down if it's 1 second to reply
; Helps with NAT session
; qualify=yes uses default value
-;qualifyfreq=60 ; Qualification: How often to check for the
+;qualifyfreq=60 ; Qualification: How often to check for the
; host to be up in seconds
; Set to low value if you use low timeout for
; NAT of UDP sessions
@@ -1019,18 +1063,18 @@ canreinvite = nonat
;secret=blah
;qualify=200 ; Qualify peer is no more than 200ms away
;nat=yes ; This phone may be natted
- ; Send SIP and RTP to the IP address that packet is
- ; received from instead of trusting SIP headers
+ ; Send SIP and RTP to the IP address that packet is
+ ; received from instead of trusting SIP headers
;host=dynamic ; This device registers with us
;canreinvite=no ; Asterisk by default tries to redirect the
; RTP media stream (audio) to go directly from
; the caller to the callee. Some devices do not
- ; support this (especially if one of them is
+ ; support this (especially if one of them is
; behind a NAT).
;defaultip=192.168.0.4 ; IP address to use until registration
;defaultuser=goran ; Username to use when calling this device before registration
; Normally you do NOT need to set this parameter
-;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device
+;setvar=CUSTID=5678 ; Channel variable to be set for all calls from or to this device
;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
; cause the given audio file to
; be played upon completion of
diff --git a/voicemail.conf b/voicemail.conf
index 4042e1e..8b1e57e 100644
--- a/voicemail.conf
+++ b/voicemail.conf
@@ -65,7 +65,7 @@ maxlogins=3
;userscontext=default
;
; If you need to have an external program, i.e. /usr/bin/myapp
-; called when a voicemail is left, delivered, or your voicemailbox
+; called when a voicemail is left, delivered, or your voicemailbox
; is checked, uncomment this.
;externnotify=/usr/bin/myapp
@@ -93,7 +93,7 @@ maxlogins=3
;directoryintro=dir-intro
; The character set for voicemail messages can be specified here
;charset=ISO-8859-1
-; The ADSI feature descriptor number to download to
+; The ADSI feature descriptor number to download to
;adsifdn=0000000F
; The ADSI security lock code
;adsisec=9BDBF7AC
@@ -156,58 +156,58 @@ emaildateformat=%A, %B %d, %Y at %r
; ; enables polling mailboxes for changes. Normally, it will
; ; expect that changes are only made when someone called in
; ; to one of the voicemail applications.
-; ; Examples of situations that would require this option are
-; ; web interfaces to voicemail or an email client in the case
+; ; Examples of situations that would require this option are
+; ; web interfaces to voicemail or an email client in the case
; ; of using IMAP storage.
;
;pollfreq=30 ; If the "pollmailboxes" option is enabled, this option
; ; sets the polling frequency. The default is once every
; ; 30 seconds.
-; If using IMAP storage, specify whether voicemail greetings should be stored
+; If using IMAP storage, specify whether voicemail greetings should be stored
; via IMAP. If no, then greetings are stored as if IMAP storage were not enabled
;imapgreetings=no
; If imapgreetings=yes, then specify which folder to store your greetings in. If
; you do not specify a folder, then INBOX will be used
;greetingsfolder=INBOX
-; Some IMAP server implementations store folders under INBOX instead of
+; Some IMAP server implementations store folders under INBOX instead of
; using a top level folder (ex. INBOX/Friends). In this case, user
; imapparentfolder to set the parent folder. For example, Cyrus IMAP does
; NOT use INBOX as the parent. Default is to have no parent folder set.
;imapparentfolder=INBOX
-;
-; Users may be located in different timezones, or may have different
-; message announcements for their introductory message when they enter
-; the voicemail system. Set the message and the timezone each user
-; hears here. Set the user into one of these zones with the tz= attribute
-; in the options field of the mailbox. Of course, language substitution
-; still applies here so you may have several directory trees that have
-; alternate language choices.
-;
-; Look in /usr/share/zoneinfo/ for names of timezones.
-; Look at the manual page for strftime for a quick tutorial on how the
-; variable substitution is done on the values below.
-;
-; Supported values:
+;
+; Users may be located in different timezones, or may have different
+; message announcements for their introductory message when they enter
+; the voicemail system. Set the message and the timezone each user
+; hears here. Set the user into one of these zones with the tz= attribute
+; in the options field of the mailbox. Of course, language substitution
+; still applies here so you may have several directory trees that have
+; alternate language choices.
+;
+; Look in /usr/share/zoneinfo/ for names of timezones.
+; Look at the manual page for strftime for a quick tutorial on how the
+; variable substitution is done on the values below.
+;
+; Supported values:
; 'filename' filename of a soundfile (single ticks around the filename
; required)
-; ${VAR} variable substitution
-; A or a Day of week (Saturday, Sunday, ...)
-; B or b or h Month name (January, February, ...)
-; d or e numeric day of month (first, second, ..., thirty-first)
-; Y Year
-; I or l Hour, 12 hour clock
-; H Hour, 24 hour clock (single digit hours preceded by "oh")
-; k Hour, 24 hour clock (single digit hours NOT preceded by "oh")
-; M Minute, with 00 pronounced as "o'clock"
+; ${VAR} variable substitution
+; A or a Day of week (Saturday, Sunday, ...)
+; B or b or h Month name (January, February, ...)
+; d or e numeric day of month (first, second, ..., thirty-first)
+; Y Year
+; I or l Hour, 12 hour clock
+; H Hour, 24 hour clock (single digit hours preceded by "oh")
+; k Hour, 24 hour clock (single digit hours NOT preceded by "oh")
+; M Minute, with 00 pronounced as "o'clock"
; N Minute, with 00 pronounced as "hundred" (US military time)
-; P or p AM or PM
+; P or p AM or PM
; Q "today", "yesterday" or ABdY
-; (*note: not standard strftime value)
+; (*note: not standard strftime value)
; q "" (for today), "yesterday", weekday, or ABdY
-; (*note: not standard strftime value)
-; R 24 hour time, including minute
-;
-;
+; (*note: not standard strftime value)
+; R 24 hour time, including minute
+;
+;
;
; Each mailbox is listed in the form <mailbox>=<password>,<name>,<email>,<pager_email>,<options>
; if the e-mail is specified, a message will be sent when a message is
@@ -218,24 +218,24 @@ emaildateformat=%A, %B %d, %Y at %r
; Advanced options example is extension 4069
; NOTE: All options can be expressed globally in the general section, and
; overridden in the per-mailbox settings, unless listed otherwise.
-;
-; tz=european ; Timezone from zonemessages below. Irrelevant if envelope=no.
+;
+; tz=central ; Timezone from zonemessages below. Irrelevant if envelope=no.
; attach=yes ; Attach the voicemail to the notification email *NOT* the pager email
; attachfmt=wav49 ; Which format to attach to the email. Normally this is the
; first format specified in the format parameter above, but this
; option lets you customize the format sent to particular mailboxes.
; Useful if Windows users want wav49, but Linux users want gsm.
; [per-mailbox only]
-; saycid=yes ; Say the caller id information before the message. If not described,
+; saycid=yes ; Say the caller id information before the message. If not described,
; or set to no, it will be in the envelope
-; cidinternalcontexts=intern ; Internal Context for Name Playback instead of
+; cidinternalcontexts=intern ; Internal Context for Name Playback instead of
; extension digits when saying caller id.
; sayduration=no ; Turn on/off the duration information before the message. [ON by default]
; saydurationm=2 ; Specify the minimum duration to say. Default is 2 minutes
-; dialout=fromvm ; Context to dial out from [option 4 from mailbox's advanced menu].
- ; If not specified, option 4 will not be listed and dialing out
+; dialout=fromvm ; Context to dial out from [option 4 from mailbox's advanced menu].
+ ; If not specified, option 4 will not be listed and dialing out
; from within VoiceMailMain() will not be permitted.
-sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
+sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; VoiceMailMain() [option 5 from mailbox's advanced menu].
; If set to 'no', option 5 will not be listed.
; searchcontexts=yes ; Current default behavior is to search only the default context
@@ -244,7 +244,7 @@ sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; Note: If you have this option enabled, then you will be required to have
; unique mailbox names across all contexts. Otherwise, an ambiguity is created
; since it is impossible to know which mailbox to retrieve when one is requested.
-; callback=fromvm ; Context to call back from
+; callback=fromvm ; Context to call back from
; if not listed, calling the sender back will not be permitted
; exitcontext=fromvm ; Context to go to on user exit such as * or 0
; The default is the current context.
@@ -253,10 +253,10 @@ sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; reach an operator. This option REQUIRES an 'o' extension in the
; same context (or in exitcontext, if set), as that is where the
; 0 key will send you. [OFF by default]
-; envelope=no ; Turn on/off envelope playback before message playback. [ON by default]
+; envelope=no ; Turn on/off envelope playback before message playback. [ON by default]
; This does NOT affect option 3,3 from the advanced options menu
; delete=yes ; After notification, the voicemail is deleted from the server. [per-mailbox only]
- ; This is intended for use with users who wish to receive their
+ ; This is intended for use with users who wish to receive their
; voicemail ONLY by email. Note: "deletevoicemail" is provided as an
; equivalent option for Realtime configuration.
; volgain=0.0 ; Emails bearing the voicemail may arrive in a volume too
@@ -264,7 +264,7 @@ sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside
; much gain to add to the message when sending a voicemail.
; NOTE: sox must be installed for this option to work.
; nextaftercmd=yes ; Skips to the next message after hitting 7 or 9 to delete/save current message.
- ; [global option only at this time]
+ ; [global option only at this time]
; forcename=yes ; Forces a new user to record their name. A new user is
; determined by the password being the same as
; the mailbox number. The default is "no".
@@ -333,7 +333,7 @@ european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
;4300 => 3456,Ben Rigas,ben@american-computer.net
;4310 => -5432,Sales,sales@marko.net
;4069 => 6522,Matt Brooks,matt@marko.net,,|tz=central|attach=yes|saycid=yes|dialout=fromvm|callback=fromvm|review=yes|operator=yes|envelope=yes|moveheard=yes|sayduration=yes|saydurationm=1
-;4073 => 1099,Bianca Paige,bianca@biancapaige.com,,delete=1
+;4073 => 1099,Bianca Paige,bianca@biancapaige.com,,delete=1|emailsubject=You have a new voicemail.|emailbody=Click on the attachment to listen.
;4110 => 3443,Rob Flynn,rflynn@blueridge.net
;4235 => 1234,Jim Holmes,jim@astricon.ips,,Tz=european
@@ -357,3 +357,11 @@ european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM
;111 => 7383,Pete,pete@acme-widgets.com,,tz=central
;112 => 6262,Nancy,nancy@acme-widgets.com
;
+
+;
+; When using IMAP storage, imapuser and imappassword can be used to specify the
+; user's credentials.
+;
+;[imapvm]
+;4324 => 7764,Ellis Redding,red@buxton.us,,imapuser=eredding|imappassword=g3tbusy
+;4325 => 2392,Andrew Dufresne,andy@dufresne.info,,imapuser=adufresne|imappassword=rockh@mmer
