Are you a regular stikked user? Signup so you can keep track of your pastes!
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
 

Reply to "Untitled"

Here you can reply to the paste above

Create a snipurl

Make Private

Feeling clever? Set some advanced options.