diff options
author | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-09 18:51:52 +0000 |
---|---|---|
committer | bbryant <bbryant@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-09 18:51:52 +0000 |
commit | 722eb3c4c3cfa1c0cee915c949c5f95199ee24dd (patch) | |
tree | 25683963c5e51bdedd6211cd0ea92a85639505c3 /configs | |
parent | 815b5b09da5e555add7bba3d8fca588e7611248a (diff) |
Merged revisions 285710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r285710 | bbryant | 2010-09-09 14:50:13 -0400 (Thu, 09 Sep 2010) | 8 lines
Fixes an issue with dialplan pattern matching where the specificity for pattern ranges and pattern special characters was inconsistent.
(closes issue #16903)
Reported by: Nick_Lewis
Patches:
pbx.c-specificity.patch uploaded by Nick Lewis (license 657)
Tested by: Nick_Lewis
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@285711 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'configs')
-rw-r--r-- | configs/cdr.conf.sample | 31 | ||||
-rw-r--r-- | configs/cel.conf.sample | 15 | ||||
-rw-r--r-- | configs/cel_custom.conf.sample | 12 | ||||
-rw-r--r-- | configs/cel_odbc.conf.sample (renamed from configs/cel_adaptive_odbc.conf.sample) | 2 | ||||
-rw-r--r-- | configs/iax.conf.sample | 9 | ||||
-rw-r--r-- | configs/manager.conf.sample | 18 | ||||
-rw-r--r-- | configs/res_curl.conf.sample | 8 | ||||
-rw-r--r-- | configs/res_stun_monitor.conf.sample | 22 | ||||
-rw-r--r-- | configs/say.conf.sample | 115 | ||||
-rw-r--r-- | configs/sip.conf.sample | 55 |
10 files changed, 237 insertions, 50 deletions
diff --git a/configs/cdr.conf.sample b/configs/cdr.conf.sample index 3866ab1fa..b0c38c6cf 100644 --- a/configs/cdr.conf.sample +++ b/configs/cdr.conf.sample @@ -29,6 +29,22 @@ ; channel.) ;unanswered = no +; Normally, CDR's are not closed out until after all extensions are finished +; executing. By enabling this option, the CDR will be ended before executing +; the "h" extension so that CDR values such as "end" and "billsec" may be +; retrieved inside of of this extension. The default value is "no". +;endbeforehexten=no + +; Normally, the 'billsec' field logged to the backends (text files or databases) +; is simply the end time (hangup time) minus the answer time in seconds. Internally, +; asterisk stores the time in terms of microseconds and seconds. By setting +; initiatedseconds to 'yes', you can force asterisk to report any seconds +; that were initiated (a sort of round up method). Technically, this is +; when the microsecond part of the end time is greater than the microsecond +; part of the answer time, then the billsec time is incremented one second. +; The default value is "no". +;initiatedseconds=no + ; Define the CDR batch mode, where instead of posting the CDR at the end of ; every call, the data will be stored in a buffer to help alleviate load on the ; asterisk server. Default is "no". @@ -65,21 +81,6 @@ ; is "yes". ;safeshutdown=yes -; Normally, CDR's are not closed out until after all extensions are finished -; executing. By enabling this option, the CDR will be ended before executing -; the "h" extension so that CDR values such as "end" and "billsec" may be -; retrieved inside of of this extension. -;endbeforehexten=no - -; Normally, the 'billsec' field logged to the backends (text files or databases) -; is simply the end time (hangup time) minus the answer time in seconds. Internally, -; asterisk stores the time in terms of microseconds and seconds. By setting -; initiatedseconds to 'yes', you can force asterisk to report any seconds -; that were initiated (a sort of round up method). Technically, this is -; when the microsecond part of the end time is greater than the microsecond -; part of the answer time, then the billsec time is incremented one second. -;initiatedseconds=no - ; ; ; CHOOSING A CDR "BACKEND" (what kind of output to generate) diff --git a/configs/cel.conf.sample b/configs/cel.conf.sample index e99a34897..dba886604 100644 --- a/configs/cel.conf.sample +++ b/configs/cel.conf.sample @@ -90,7 +90,6 @@ events=APP_START,CHAN_START,CHAN_END,ANSWER,HANGUP,BRIDGE_START,BRIDGE_END ; ; Asterisk Manager Interface (AMI) CEL Backend ; - [manager] ; AMI Backend Activation @@ -100,5 +99,17 @@ events=APP_START,CHAN_START,CHAN_END,ANSWER,HANGUP,BRIDGE_START,BRIDGE_END ; ; Accepted values: yes and no ; Default value: no - ;enabled=yes + +; +; RADIUS CEL Backend +; +[radius] +; +; Log date/time in GMT +;usegmtime=yes +; +; Set this to the location of the radiusclient-ng configuration file +; The default is /etc/radiusclient-ng/radiusclient.conf +;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf +; diff --git a/configs/cel_custom.conf.sample b/configs/cel_custom.conf.sample index 4c5fbb093..37491a48b 100644 --- a/configs/cel_custom.conf.sample +++ b/configs/cel_custom.conf.sample @@ -17,5 +17,15 @@ ; in the cel-custom directory under your Asterisk logs directory. ; +; +; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve +; details from the CEL event. There are also a few variables created by this +; module that can be used in a mapping: +; +; eventtype - The name of the CEL event. +; eventtime - The timestamp of the CEL event. +; eventextra - Extra data included with this CEL event, typically along with +; an event of type USER_DEFINED from CELGenUserEvent(). +; [mappings] -;Master.csv => "${eventtype}","${eventtime}","${CALLERID(name)}","${CALLERID(num)}","${CALLERID(ANI)}","${CALLERID(RDNIS)}","${CALLERID(DNID)}","${CHANNEL(exten)}","${CHANNEL(context)}","${CHANNEL(channame)}","${CHANNEL(appname)}","${CHANNEL(appdata)}","${CHANNEL(amaflags)}","${CHANNEL(accountcode)}","${CHANNEL(uniqueid)}","${CHANNEL(linkedid)}","${CHANNEL(peer)}","${CHANNEL(userfield)}" +;Master.csv => ${CSV_QUOTE(${eventtype})},${CSV_QUOTE(${eventtime})},${CSV_QUOTE(${CALLERID(name)})},${CSV_QUOTE(${CALLERID(num)})},${CSV_QUOTE(${CALLERID(ANI)})},${CSV_QUOTE(${CALLERID(RDNIS)})},${CSV_QUOTE(${CALLERID(DNID)})},${CSV_QUOTE(${CHANNEL(exten)})},${CSV_QUOTE(${CHANNEL(context)})},${CSV_QUOTE(${CHANNEL(channame)})},${CSV_QUOTE(${CHANNEL(appname)})},${CSV_QUOTE(${CHANNEL(appdata)})},${CSV_QUOTE(${CHANNEL(amaflags)})},${CSV_QUOTE(${CHANNEL(accountcode)})},${CSV_QUOTE(${CHANNEL(uniqueid)})},${CSV_QUOTE(${CHANNEL(linkedid)})},${CSV_QUOTE(${CHANNEL(peer)})},${CSV_QUOTE(${CHANNEL(userfield)})},${CSV_QUOTE(${eventextra})} diff --git a/configs/cel_adaptive_odbc.conf.sample b/configs/cel_odbc.conf.sample index 01702d192..5f21326df 100644 --- a/configs/cel_adaptive_odbc.conf.sample +++ b/configs/cel_odbc.conf.sample @@ -61,7 +61,7 @@ ; peeraccount ; uniqueid ; linkedid -; amaflag (an int) +; amaflags (an int) ; userfield ; peer diff --git a/configs/iax.conf.sample b/configs/iax.conf.sample index b516d4b85..73ae78afb 100644 --- a/configs/iax.conf.sample +++ b/configs/iax.conf.sample @@ -244,6 +244,15 @@ forcejitterbuffer=no ; ;register => FWDNumber:passwd@iax.fwdnet.net ; +; Through the use of the res_stun_monitor module, Asterisk has the ability to detect when the +; perceived external network address has changed. When the stun_monitor is installed and +; configured, chan_iax will renew all outbound registrations when the monitor detects any sort +; of network change has occurred. By default this option is enabled, but only takes effect once +; res_stun_monitor is configured. If res_stun_monitor is enabled and you wish to not +; generate all outbound registrations on a network change, use the option below to disable +; this feature. +; +; subscribe_network_change_event = yes ; on by default ; ; You can disable authentication debugging to reduce the amount of ; debugging traffic. diff --git a/configs/manager.conf.sample b/configs/manager.conf.sample index bfa13430c..253a3ffa4 100644 --- a/configs/manager.conf.sample +++ b/configs/manager.conf.sample @@ -23,15 +23,8 @@ [general] enabled = no ;webenabled = yes -port = 5038 - -;httptimeout = 60 -; a) httptimeout sets the Max-Age of the http cookie -; b) httptimeout is the amount of time the webserver waits -; on a action=waitevent request (actually its httptimeout-10) -; c) httptimeout is also the amount of time the webserver keeps -; a http session alive after completing a successful action +port = 5038 bindaddr = 0.0.0.0 ; Parameters that control AMI over TLS. ("enabled" must be set too). @@ -69,6 +62,15 @@ bindaddr = 0.0.0.0 ; debug = on ; enable some debugging info in AMI messages (default off). ; Also accessible through the "manager debug" CLI command. + +;httptimeout = 60 +; a) httptimeout sets the Max-Age of the http cookie +; b) httptimeout is the amount of time the webserver waits +; on a action=waitevent request (actually its httptimeout-10) +; c) httptimeout is also the amount of time the webserver keeps +; a http session alive after completing a successful action + + ;[mark] ;secret = mysecret ;deny=0.0.0.0/0.0.0.0 diff --git a/configs/res_curl.conf.sample b/configs/res_curl.conf.sample new file mode 100644 index 000000000..2cc92dcbd --- /dev/null +++ b/configs/res_curl.conf.sample @@ -0,0 +1,8 @@ +; +; CURLOPT global settings (mostly set for realtime) +; +[globals] +;proxy=myproxy.example.com +;proxytype=http +;proxyport=8001 +;proxyuserpwd=asterisk:asteriskrocks diff --git a/configs/res_stun_monitor.conf.sample b/configs/res_stun_monitor.conf.sample new file mode 100644 index 000000000..9237799c5 --- /dev/null +++ b/configs/res_stun_monitor.conf.sample @@ -0,0 +1,22 @@ +; +; Configuration file for the res_stun_monitor module +; +; The res_stun_monitor module sends STUN requests to a configured STUN server +; periodically. If the monitor detects a change in the external ip or port +; provided by the STUN server an event is sent out internally within Asterisk +; to alert all listeners to that event of the change. + +; The current default listeners for the netork change event include chan_sip +; and chan_iax. Both of these channel drivers by default react to this event +; by renewing all outbound registrations. This allows the endpoints Asterisk +; is registering with to become aware of the address change and know the new +; location. +; +[general] +; +; ---- STUN Server configuration --- +; Setting the 'stunaddr' option to a valid address enables the stun monitor. +; +; stunaddr = mystunserver.com ; address of the stun server to query. +; stunrefresh = 30 ; number of seconds between stun refreshes. default is 30 +; diff --git a/configs/say.conf.sample b/configs/say.conf.sample index 670e3944e..6285dbe1e 100644 --- a/configs/say.conf.sample +++ b/configs/say.conf.sample @@ -86,16 +86,23 @@ mode=old ; method for playing numbers and dates ; the 'SAY' variable contains YYYYMMDDHHmm.ss-dow-doy ; these rule map the strftime attributes. _date:Y:. => num:${SAY:0:4} ; year, 19xx - _date:[Bb]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11 + _date:[Bbh]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11 _date:[Aa]:. => digits/day-${SAY:16:1} ; day of week _date:[de]:. => num:${SAY:6:2} ; day of month - _date:[hH]:. => num:${SAY:8:2} ; hour + _date:[H]:. => digits/oh, num:${SAY:8:2} ; hour (oh one, oh two, ..., oh nine, ten, eleven, ..., twenty-three) _date:[I]:. => num:$[${SAY:8:2} % 12] ; hour 0-12 _date:[M]:. => num:${SAY:10:2} ; minute ; XXX too bad the '?' function does not remove the quotes ; _date:[pP]:. => digits/$[ ${SAY:10:2} > 12 ? "p-m" :: "a-m"] ; am pm _date:[pP]:. => digits/p-m ; am pm _date:[S]:. => num:${SAY:13:2} ; seconds + _date:[Ii]:. => num:$[${SAY:8:2} % 12] ; hour 0-12 + _date:[k]:. => num:${SAY:8:2} ; hour (one, two. three, ...,twenty three + _date:[m]:. => num:${SAY:4:2} ; month number + _date:[Q]:. => date:dby ;incompleat ; "today", "yesterday" or ABdY + _date:[q]:. => date:dby ;incompleat ; "" (for today), "yesterday", weekday, or ABdY + _date:[R]:. => date:HM${SAY} ; 24 hour time, including minute + _date:[T]:. => date:HMS${SAY} ; 24 hour, minure, seconds [en-base](!) _[n]um:0. => num:${SAY:1} @@ -106,16 +113,25 @@ mode=old ; method for playing numbers and dates _[n]um:X00 => num:${SAY:0:1}, digits/hundred _[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:X000 => num:${SAY:0:1}, digits/thousand _[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousand _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousand _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3} + _[n]um:X000000 => num:${SAY:0:1}, digits/million _[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/million _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/million _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3} + _[n]um:X000000000 => num:${SAY:0:1}, digits/billion _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1} + _[n]um:XX000000000 => num:${SAY:0:2}, digits/billion _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2} + _[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3} ; enumeration @@ -123,7 +139,8 @@ mode=old ; method for playing numbers and dates _e[n]um:1X => digits/h-${SAY} _e[n]um:[2-9]0 => digits/h-${SAY} _e[n]um:[2-9][1-9] => num:${SAY:0:1}0, digits/h-${SAY:1} - _e[n]um:[1-9]XX => num:${SAY:0:1}, digits/hundred, enum:${SAY:1} + _e[n]um:[1-9]00 => num:${SAY:0:1}, digits/h-hundred + _e[n]um:[1-9]XX => num:${SAY:0:1}, digits/h-hundred, enum:${SAY:1} [en_GB](date-base,digit-base,en-base) _[n]um:XXX => num:${SAY:0:1}, digits/hundred, vm-and, num:${SAY:1} @@ -139,16 +156,31 @@ mode=old ; method for playing numbers and dates _[n]um:[2-9]00 => num:${SAY:0:1}, digits/hundred _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:1000 => digits/thousand _[n]um:1XXX => digits/thousand, num:${SAY:1} + _[n]um:[2-9]000 => num:${SAY:0:1}, digits/thousands _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousands _[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousands _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3} + _[n]um:1000000 => num:${SAY:0:1}, digits/million _[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:[2-9]000000 => num:${SAY:0:1}, digits/millions _[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/millions _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/millions _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3} + _[n]um:X000000000 => num:${SAY:0:1}, digits/billion + _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1} + _[n]um:XX000000000 => num:${SAY:0:2}, digits/billion + _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2} + _[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion + _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3} + _datetime::. => date:AdBY 'digits/at' IMp:${SAY} _date::. => date:AdBY:${SAY} _time::. => date:IMp:${SAY} @@ -168,14 +200,23 @@ mode=old ; method for playing numbers and dates _[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1} _[n]um:[2-9]00 => digits/${SAY:0:1}, digits/hundred _[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1} + + _[n]um:1000 => digits/ein, digits/thousand _[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1} + _[n]um:[2-9]000 => digits/${SAY:0:1}, digits/thousand _[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousand _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} - _[n]um:X00XXX => digits/${SAY:0:1}, digits/hundred, digits/thousand, num:${SAY:3} - _[n]um:XXXXXX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousand + _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:1} + + _[n]um:1000000 => digits/eine, digits/million _[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1} + _[n]um:[2-9]000000 => digits/${SAY:0:1}, digits/millions _[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/millions _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/millions _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3} _datetime::. => date:AdBY 'digits/at' IMp:${SAY} @@ -191,16 +232,25 @@ mode=old ; method for playing numbers and dates _[n]um:[3-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1} _[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:X000 => num:${SAY:0:1}, digits/thousand _[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousand _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousand _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3} + _[n]um:X000000 => num:${SAY:0:1}, digits/million _[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/million _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/million _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3} + _[n]um:X000000000 => num:${SAY:0:1}, digits/billion _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1} + _[n]um:XX000000000 => num:${SAY:0:2}, digits/billion _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2} + _[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3} _datetime::. => date:YBdA k 'ora' M 'perc':${SAY} @@ -222,14 +272,22 @@ mode=old ; method for playing numbers and dates _[n]um:[2-9]00 => num:${SAY:0:1}, digits/hundred _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:1000 => digits/thousand _[n]um:1XXX => digits/thousand, num:${SAY:1} + _[n]um:[2-9]000 => num:${SAY:0:1}, digits/thousand _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousand _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousand _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3} + _[n]um:1000000 => num:${SAY:0:1}, digits/million _[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:[2-9]000000 => num:${SAY:0:1}, digits/million _[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/million _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/million _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3} _datetime::. => date:AdBY 'digits/at' H 'hours' M 'perc':${SAY} @@ -276,3 +334,50 @@ mode=old ; method for playing numbers and dates _date::. => date:Ad 'letters/d' B 'letters/d' Y:${SAY} _time::. => date:HMp:${SAY} +[da](date-base,digit-base) + _[n]um:0. => num:${SAY:1} + _[n]um:X => digits/${SAY} + _[n]um:1X => digits/${SAY} + _[n]um:[2-9]0 => digits/${SAY} + _[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0 + _[n]um:100 => digits/1N, digits/hundred + _[n]um:1XX => digits/1N, digits/hundred, num:${SAY:1} + _[n]um:[2-9]00 => digits/${SAY:0:1}, digits/hundred + _[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1} + + _[n]um:1000 => digits/1N, digits/thousand + _[n]um:1XXX => digits/1N, digits/thousand, num:${SAY:1} + _[n]um:[2-9]000 => digits/${SAY:0:1}, digits/thousand + _[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XX000 => num:${SAY:0:2}, digits/thousand + _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} + _[n]um:XXX000 => num:${SAY:0:3}, digits/thousand + _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3} + + _[n]um:X000000 => digits/${SAY:0:1}, digits/million + _[n]um:XXXXXXX => digits/${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:XX000000 => num:${SAY:0:2}, digits/millions + _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2} + _[n]um:XXX000000 => num:${SAY:0:3}, digits/millions + _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3} + + _[n]um:X000000000 => num:${SAY:0:1}, digits/billion + _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1} + _[n]um:XX000000000 => num:${SAY:0:2}, digits/billion + _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2} + _[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion + _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3} + + _datetime::. => date:AdBY 'digits/at' kM:${SAY} + _date::. => date:AdBY:${SAY} + _time::. => date:HM:${SAY} + + ; enumeration + _e[n]um:X => digits/h-${SAY} + _e[n]um:1X => digits/h-${SAY} + _e[n]um:[2-9]0 => digits/h-${SAY} + _e[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/h-${SAY:0:1}0 + _e[n]um:100 => digits/1N, digits/h-hundred + _e[n]um:1XX => digits/1N, digits/h-hundred, enum:${SAY:1} + _e[n]um:[2-9]00 => num:${SAY:0:1}, digits/h-hundred + _e[n]um:[2-9]XX => num:${SAY:0:1}, digits/h-hundred, enum:${SAY:1} diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index 01fd29b00..320895669 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -144,6 +144,8 @@ allowoverlap=no ; Disable overlap dialing support. (Default is y ; d) Listen on the IPv4 and IPv6 wildcards. Example: bindaddr=:: ; (You can choose independently for UDP, TCP, and TLS, by specifying different values for ; "udpbindaddr", "tcpbindaddr", and "tlsbindaddr".) +; (Note that using bindaddr=:: will show only a single IPv6 socket in netstat. +; IPv4 is supported at the same time using IPv4-mapped IPv6 addresses.) ; ; You may optionally add a port number. (The default is port 5060 for UDP and TCP, 5061 ; for TLS). @@ -213,7 +215,7 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ;pedantic=yes ; Enable checking of tags in headers, ; international character conversions in URIs ; and multiline formatted headers for strict - ; SIP compatibility (defaults to "no") + ; SIP compatibility (defaults to "yes") ; See qos.tex or Quality of Service section of asterisk.pdf for a description of these parameters. ;tos_sip=cs3 ; Sets TOS for SIP packets. @@ -253,6 +255,18 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; Message-Account in the MWI notify message ; defaults to "asterisk" +; Codec negotiation +; +; When Asterisk is receiving a call, the codec will initially be set to the +; first codec in the allowed codecs defined for the user receiving the call +; that the caller also indicates that it supports. But, after the caller +; starts sending RTP, Asterisk will switch to using whatever codec the caller +; is sending. +; +; When Asterisk is placing a call, the codec used will be the first codec in +; the allowed codecs that the callee indicates that it supports. Asterisk will +; *not* switch to whatever codec the callee is sending. +; ;preferred_codec_only=yes ; Respond to a SIP invite with the single most preferred codec ; rather than advertising all joint codec capabilities. This ; limits the other side's codec choice to exactly what we prefer. @@ -354,6 +368,10 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; instead of letting the requester know whether there was ; a matching user or peer for their request. This reduces ; the ability of an attacker to scan for valid SIP usernames. + ; This option is set to "yes" by default. + +;auth_options_requests = yes ; Enabling this option will authenticate OPTIONS requests just like + ; INVITE requests are. By default this option is disabled. ;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing ; order instead of RFC3551 packing order (this is required @@ -364,6 +382,10 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ;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=192.0.2.1 ; IPv4 address literal (default port is 5060) +;outboundproxy=2001:db8::1 ; IPv6 address literal (default port is 5060) +;outboundproxy=192.168.0.2.1:5062 ; IPv4 address literal with explicit port +;outboundproxy=[2001:db8::1]:5062 ; IPv6 address literal with explicit port ; ; (could also be tcp,udp) - defining transports on the proxy line only ; ; applies for the global proxy, otherwise use the transport= option ;matchexternaddrlocally = yes ; Only substitute the externaddr or externhost setting if it matches @@ -720,31 +742,18 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; externhost=foo.dyndns.net ; refreshed periodically ; externrefresh=180 ; change the refresh interval ; -; c. "stunaddr = stun.server[:port]" queries the STUN server specified -; as an argument to obtain the external address/port. -; Queries are also sent periodically every "externrefresh" seconds -; (as a side effect, sending the query also acts as a keepalive for -; the state entry on the nat box): -; -; stunaddr = foo.stun.com:3478 -; externrefresh = 15 -; -; NOTE: STUN is only implemented for IPv4. -; ; Note that at the moment all these mechanism work only for the SIP socket. -; The IP address discovered with externaddr/externhost/STUN is reused for +; The IP address discovered with externaddr/externhost is reused for ; media sessions as well, but the port numbers are not remapped so you ; may still experience problems. ; ; NOTE 1: in some cases, NAT boxes will use different port numbers in ; the internal<->external mapping. In these cases, the "externaddr" and -; "externhost" might not help you configure addresses properly, and you -; really need to use STUN. +; "externhost" might not help you configure addresses properly. ; ; NOTE 2: when using "externaddr" or "externhost", the address part is -; also used as the external address for media sessions. Even if you -; use "stunaddr", STUN queries will be sent only from the SIP port, -; not from media sockets. Thus, the port information in the SDP may be wrong! +; also used as the external address for media sessions. Thus, the port +; information in the SDP may be wrong! ; ; In addition to the above, Asterisk has an additional "nat" parameter to ; address NAT-related issues in incoming SIP or media sessions. @@ -776,6 +785,16 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; can not be set per-user or per-peer. ; ; media_address = 172.16.42.1 +; +; Through the use of the res_stun_monitor module, Asterisk has the ability to detect when the +; perceived external network address has changed. When the stun_monitor is installed and +; configured, chan_sip will renew all outbound registrations when the monitor detects any sort +; of network change has occurred. By default this option is enabled, but only takes effect once +; res_stun_monitor is configured. If res_stun_monitor is enabled and you wish to not +; generate all outbound registrations on a network change, use the option below to disable +; this feature. +; +; subscribe_network_change_event = yes ; on by default ;----------------------------------- MEDIA HANDLING -------------------------------- ; By default, Asterisk tries to re-invite media streams to an optimal path. If there's |