diff options
author | lmadsen <lmadsen@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-01-21 13:19:16 +0000 |
---|---|---|
committer | lmadsen <lmadsen@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-01-21 13:19:16 +0000 |
commit | 503ebba846b30a4d9e493a7e8578f9c40cf89bf4 (patch) | |
tree | 6cbe6c63e6e2dc3c25cd344c1cbee12b45143d54 /1.4.23-rc4/configs | |
parent | d84f827ff6a3ac7853c45205604010ef13715276 (diff) |
Creating tag for asterisk-1.4.23 (in the right location this time too!)
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.23@169668 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to '1.4.23-rc4/configs')
61 files changed, 7926 insertions, 0 deletions
diff --git a/1.4.23-rc4/configs/adsi.conf.sample b/1.4.23-rc4/configs/adsi.conf.sample new file mode 100644 index 000000000..0f36f80da --- /dev/null +++ b/1.4.23-rc4/configs/adsi.conf.sample @@ -0,0 +1,8 @@ +; +; Sample ADSI Configuration file +; +[intro] +alignment = center +greeting => Welcome to the +greeting => Asterisk +greeting => Open Source PBX diff --git a/1.4.23-rc4/configs/adtranvofr.conf.sample b/1.4.23-rc4/configs/adtranvofr.conf.sample new file mode 100644 index 000000000..dc7bcfc7c --- /dev/null +++ b/1.4.23-rc4/configs/adtranvofr.conf.sample @@ -0,0 +1,39 @@ +; +; Voice over Frame Relay (Adtran style) +; +; Configuration file + +[interfaces] +; +; Default language +; +;language=en +; +; Lines for which we are the user termination. They accept incoming +; and outgoing calls. We use the default context on the first 8 lines +; used by internal phones. +; +context=default +;user => voice00 +;user => voice01 +;user => voice02 +;user => voice03 +;user => voice04 +;user => voice05 +;user => voice06 +;user => voice07 +; Calls on 16 and 17 come from the outside world, so they get +; a little bit special treatment +context=remote +;user => voice16 +;user => voice17 +; +; Next we have lines which we only accept calls on, and typically +; do not send outgoing calls on (i.e. these are where we are the +; network termination) +; +;network => voice08 +;network => voice09 +;network => voice10 +;network => voice11 +;network => voice12 diff --git a/1.4.23-rc4/configs/agents.conf.sample b/1.4.23-rc4/configs/agents.conf.sample new file mode 100644 index 000000000..8c8889e24 --- /dev/null +++ b/1.4.23-rc4/configs/agents.conf.sample @@ -0,0 +1,107 @@ +; +; Agent configuration +; + +[general] +; +; Define whether callbacklogins should be stored in astdb for +; persistence. Persistent logins will be reloaded after +; Asterisk restarts. +; +persistentagents=yes + +; Enable or disable a single extension from logging in as multiple agents. +; The default value is "yes". +;multiplelogin=yes + +[agents] +; +; Define maxlogintries to allow agent to try max logins before +; failed. +; default to 3 +; +;maxlogintries=5 +; +; +; Define autologoff times if appropriate. This is how long +; the phone has to ring with no answer before the agent is +; automatically logged off (in seconds) +; +;autologoff=15 +; +; Define autologoffunavail to have agents automatically logged +; out when the extension that they are at returns a CHANUNAVAIL +; status when a call is attempted to be sent there. +; Default is "no". +; +;autologoffunavail=yes +; +; Define ackcall to require an acknowledgement by '#' when +; an agent logs in using agentcallbacklogin. Default is "no". +; Can also be set to "always", which will also require AgentLogin +; agents to acknowledge calls by pressing '#'. +; +;ackcall=no +; +; Define endcall to allow an agent to hangup a call by '*'. +; Default is "yes". Set this to "no" to ignore '*'. +; +;endcall=yes +; +; Define wrapuptime. This is the minimum amount of time when +; after disconnecting before the caller can receive a new call +; note this is in milliseconds. +; +;wrapuptime=5000 +; +; Define the default musiconhold for agents +; musiconhold => music_class +; +;musiconhold => default +; +; Define the default good bye sound file for agents +; default to vm-goodbye +; +;goodbye => goodbye_file +; +; Define updatecdr. This is whether or not to change the source +; channel in the CDR record for this call to agent/agent_id so +; that we know which agent generates the call +; +;updatecdr=no +; +; Group memberships for agents (may change in mid-file) +; +;group=3 +;group=1,2 +;group= +; +; -------------------------------------------------- +; This section is devoted to recording agent's calls +; The keywords are global to the chan_agent channel driver +; +; Enable recording calls addressed to agents. It's turned off by default. +;recordagentcalls=yes +; +; The format to be used to record the calls: wav, gsm, wav49. +; By default its "wav". +;recordformat=gsm +; +; The text to be added to the name of the recording. Allows forming a url link. +;urlprefix=http://localhost/calls/ +; +; The optional directory to save the conversations in. The default is +; /var/spool/asterisk/monitor +;savecallsin=/var/calls +; +; An optional custom beep sound file to play to always-connected agents. +;custom_beep=beep +; +; -------------------------------------------------- +; +; This section contains the agent definitions, in the form: +; +; agent => agentid,agentpassword,name +; +;agent => 1001,4321,Mark Spencer +;agent => 1002,4321,Will Meadows diff --git a/1.4.23-rc4/configs/alarmreceiver.conf.sample b/1.4.23-rc4/configs/alarmreceiver.conf.sample new file mode 100644 index 000000000..bf767dea3 --- /dev/null +++ b/1.4.23-rc4/configs/alarmreceiver.conf.sample @@ -0,0 +1,80 @@ +; +; alarmreceiver.conf +; +; Sample configuration file for the Asterisk alarm receiver application. +; + + +[general] + +; +; Specify a timestamp format for the metadata section of the event files +; Default is %a %b %d, %Y @ %H:%M:%S %Z + +timestampformat = %a %b %d, %Y @ %H:%M:%S %Z + +; +; Specify a command to execute when the caller hangs up +; +; Default is none +; + +;eventcmd = yourprogram -yourargs ... + +; +; Specify a spool directory for the event files. This setting is required +; if you want the app to be useful. Event files written to the spool +; directory will be of the template event-XXXXXX, where XXXXXX is a random +; and unique alphanumeric string. +; +; Default is none, and the events will be dropped on the floor. +; + +eventspooldir = /tmp + +; +; The alarmreceiver app can either log the events one-at-a-time to individual +; files in the spool directory, or it can store them until the caller +; disconnects and write them all to one file. +; +; The default setting for logindividualevents is no. +; + +logindividualevents = no + +; +; The timeout for receiving the first DTMF digit is adjustable from 1000 msec. +; to 10000 msec. The default is 2000 msec. Note: if you wish to test the +; receiver by entering digits manually, set this to a reasonable time out +; like 10000 milliseconds. + +fdtimeout = 2000 + +; +; The timeout for receiving subsequent DTMF digits is adjustable from +; 110 msec. to 4000 msec. The default is 200 msec. Note: if you wish to test +; the receiver by entering digits manually, set this to a reasonable time out +; like 4000 milliseconds. +; + +sdtimeout = 200 + +; +; The loudness of the ACK and Kissoff tones is adjustable from 100 to 8192. +; The default is 8192. This shouldn't need to be messed with, but is included +; just in case there are problems with signal levels. +; + +loudness = 8192 + +; +; The db-family setting allows the user to capture statistics on the number of +; calls, and the errors the alarm receiver sees. The default is for no +; db-family name to be defined and the database logging to be turned off. +; + +;db-family = yourfamily: + +; +; End of alarmreceiver.conf +; diff --git a/1.4.23-rc4/configs/alsa.conf.sample b/1.4.23-rc4/configs/alsa.conf.sample new file mode 100644 index 000000000..f55030618 --- /dev/null +++ b/1.4.23-rc4/configs/alsa.conf.sample @@ -0,0 +1,62 @@ +; +; Open Sound System Console Driver Configuration File +; +[general] +; +; Automatically answer incoming calls on the console? Choose yes if +; for example you want to use this as an intercom. +; +autoanswer=yes +; +; Default context (is overridden with @context syntax) +; +context=local +; +; Default extension to call +; +extension=s +; +; Default language +; +;language=en +; +; Default Music on Hold class to use when this channel is placed on hold in +; the case that the music class is not set on the channel with +; Set(CHANNEL(musicclass)=whatever) in the dialplan and the peer channel +; putting this one on hold did not suggest a class to use. +; +;mohinterpret=default +; +; Silence suppression can be enabled when sound is over a certain threshold. +; The value for the threshold should probably be between 500 and 2000 or so, +; but your mileage may vary. Use the echo test to evaluate the best setting. +;silencesuppression = yes +;silencethreshold = 1000 +; +; To set which ALSA device to use, change this parameter +;input_device=hw:0,0 +;output_device=hw:0,0 + +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of an + ; ALSA channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The ALSA channel can't accept jitter, + ; thus an enabled jitterbuffer on the receive ALSA side will always + ; be used if the sending side can create jitter. + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- + diff --git a/1.4.23-rc4/configs/amd.conf.sample b/1.4.23-rc4/configs/amd.conf.sample new file mode 100644 index 000000000..ce4808a0c --- /dev/null +++ b/1.4.23-rc4/configs/amd.conf.sample @@ -0,0 +1,18 @@ +; +; Answering Machine Detection Configuration +; + +[general] +initial_silence = 2500 ; Maximum silence duration before the greeting. + ; If exceeded then MACHINE. +greeting = 1500 ; Maximum length of a greeting. If exceeded then MACHINE. +after_greeting_silence = 800 ; Silence after detecting a greeting. + ; If exceeded then HUMAN +total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide + ; on a HUMAN or MACHINE +min_word_length = 100 ; Minimum duration of Voice to considered as a word +between_words_silence = 50 ; Minimum duration of silence after a word to consider + ; the audio what follows as a new word +maximum_number_of_words = 3 ; Maximum number of words in the greeting. + ; If exceeded then MACHINE +silence_threshold = 256 diff --git a/1.4.23-rc4/configs/asterisk.adsi b/1.4.23-rc4/configs/asterisk.adsi new file mode 100644 index 000000000..a275502ac --- /dev/null +++ b/1.4.23-rc4/configs/asterisk.adsi @@ -0,0 +1,159 @@ +; +; Asterisk default ADSI script +; +; +; Begin with the preamble requirements +; +DESCRIPTION "Asterisk PBX" ; Name of vendor +VERSION 0x00 ; Version of stuff +;SECURITY "_AST" ; Security code +SECURITY 0X9BDBF7AC ; Security code +FDN 0x0000000F ; Descriptor number + +; +; Flags +; +FLAG "nocallwaiting" + +; +; Predefined strings +; +DISPLAY "titles" IS "** Asterisk PBX **" +DISPLAY "talkingto" IS "Call active." JUSTIFY LEFT +DISPLAY "callname" IS "$Call1p" JUSTIFY LEFT +DISPLAY "callnum" IS "$Call1s" JUSTIFY LEFT +DISPLAY "incoming" IS "Incoming call!" JUSTIFY LEFT +DISPLAY "ringing" IS "Calling... " JUSTIFY LEFT +DISPLAY "callended" IS "Call ended." JUSTIFY LEFT +DISPLAY "missedcall" IS "Missed call." JUSTIFY LEFT +DISPLAY "busy" IS "Busy." JUSTIFY LEFT +DISPLAY "reorder" IS "Reorder." JUSTIFY LEFT +DISPLAY "cwdisabled" IS "Callwait disabled" +DISPLAY "empty" IS "asdf" + +; +; Begin soft key definitions +; +KEY "callfwd" IS "CallFwd" OR "Call Forward" + OFFHOOK + VOICEMODE + WAITDIALTONE + SENDDTMF "*60" + GOTO "offHook" +ENDKEY + +KEY "vmail_OH" IS "VMail" OR "Voicemail" + OFFHOOK + VOICEMODE + WAITDIALTONE + SENDDTMF "8500" +ENDKEY + +KEY "vmail" IS "VMail" OR "Voicemail" + SENDDTMF "8500" +ENDKEY + +KEY "backspace" IS "BackSpc" OR "Backspace" + BACKSPACE +ENDKEY + +KEY "cwdisable" IS "CWDsble" OR "Disable Call Wait" + SENDDTMF "*70" + SETFLAG "nocallwaiting" + SHOWDISPLAY "cwdisabled" AT 4 + TIMERCLEAR + TIMERSTART 1 +ENDKEY + +KEY "cidblock" IS "CIDBlk" OR "Block Callerid" + SENDDTMF "*67" + SETFLAG "nocallwaiting" +ENDKEY + +; +; Begin main subroutine +; + +SUB "main" IS + IFEVENT NEARANSWER THEN + CLEAR + SHOWDISPLAY "titles" AT 1 NOUPDATE + SHOWDISPLAY "talkingto" AT 2 NOUPDATE + SHOWDISPLAY "callname" AT 3 + SHOWDISPLAY "callnum" AT 4 + GOTO "stableCall" + ENDIF + IFEVENT OFFHOOK THEN + CLEAR + CLEARFLAG "nocallwaiting" + CLEARDISPLAY + SHOWDISPLAY "titles" AT 1 + SHOWKEYS "vmail" + SHOWKEYS "cidblock" + SHOWKEYS "cwdisable" UNLESS "nocallwaiting" + GOTO "offHook" + ENDIF + IFEVENT IDLE THEN + CLEAR + SHOWDISPLAY "titles" AT 1 + SHOWKEYS "vmail_OH" + ENDIF + IFEVENT CALLERID THEN + CLEAR +; SHOWDISPLAY "titles" AT 1 NOUPDATE +; SHOWDISPLAY "incoming" AT 2 NOUPDATE + SHOWDISPLAY "callname" AT 3 NOUPDATE + SHOWDISPLAY "callnum" AT 4 + ENDIF + IFEVENT RING THEN + CLEAR + SHOWDISPLAY "titles" AT 1 NOUPDATE + SHOWDISPLAY "incoming" AT 2 + ENDIF + IFEVENT ENDOFRING THEN + SHOWDISPLAY "missedcall" AT 2 + CLEAR + SHOWDISPLAY "titles" AT 1 + SHOWKEYS "vmail_OH" + ENDIF + IFEVENT TIMER THEN + CLEAR + SHOWDISPLAY "empty" AT 4 + ENDIF +ENDSUB + +SUB "offHook" IS + IFEVENT FARRING THEN + CLEAR + SHOWDISPLAY "titles" AT 1 NOUPDATE + SHOWDISPLAY "ringing" AT 2 NOUPDATE + SHOWDISPLAY "callname" at 3 NOUPDATE + SHOWDISPLAY "callnum" at 4 + ENDIF + IFEVENT FARANSWER THEN + CLEAR + SHOWDISPLAY "talkingto" AT 2 + GOTO "stableCall" + ENDIF + IFEVENT BUSY THEN + CLEAR + SHOWDISPLAY "titles" AT 1 NOUPDATE + SHOWDISPLAY "busy" AT 2 NOUPDATE + SHOWDISPLAY "callname" at 3 NOUPDATE + SHOWDISPLAY "callnum" at 4 + ENDIF + IFEVENT REORDER THEN + CLEAR + SHOWDISPLAY "titles" AT 1 NOUPDATE + SHOWDISPLAY "reorder" AT 2 NOUPDATE + SHOWDISPLAY "callname" at 3 NOUPDATE + SHOWDISPLAY "callnum" at 4 + ENDIF +ENDSUB + +SUB "stableCall" IS + IFEVENT REORDER THEN + SHOWDISPLAY "callended" AT 2 + ENDIF +ENDSUB + diff --git a/1.4.23-rc4/configs/cdr.conf.sample b/1.4.23-rc4/configs/cdr.conf.sample new file mode 100644 index 000000000..693b28092 --- /dev/null +++ b/1.4.23-rc4/configs/cdr.conf.sample @@ -0,0 +1,148 @@ +; +; Asterisk Call Detail Record engine configuration +; +; CDR is Call Detail Record, which provides logging services via a variety of +; pluggable backend modules. Detailed call information can be recorded to +; databases, files, etc. Useful for billing, fraud prevention, compliance with +; Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more. +; + +[general] + +; Define whether or not to use CDR logging. Setting this to "no" will override +; any loading of backend CDR modules. Default is "yes". +;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 +; 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 +; redundant, but cannot be helped. +;unanswered = 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". +; +; WARNING WARNING WARNING +; Use of batch mode may result in data loss after unsafe asterisk termination +; ie. software crash, power failure, kill -9, etc. +; WARNING WARNING WARNING +; +;batch=no + +; Define the maximum number of CDRs to accumulate in the buffer before posting +; them to the backend engines. 'batch' must be set to 'yes'. Default is 100. +;size=100 + +; Define the maximum time to accumulate CDRs in the buffer before posting them +; to the backend engines. If this time limit is reached, then it will post the +; records, regardless of the value defined for 'size'. 'batch' must be set to +; 'yes'. Note that time is in seconds. Default is 300 (5 minutes). +;time=300 + +; The CDR engine uses the internal asterisk scheduler to determine when to post +; records. Posting can either occur inside the scheduler thread, or a new +; thread can be spawned for the submission of every batch. For small batches, +; it might be acceptable to just use the scheduler thread, so set this to "yes". +; For large batches, say anything over size=10, a new thread is recommended, so +; set this to "no". Default is "no". +;scheduleronly=no + +; When shutting down asterisk, you can block until the CDRs are submitted. If +; you don't, then data will likely be lost. You can always check the size of +; the CDR batch buffer with the CLI "cdr status" command. To enable blocking on +; submission of CDR data during asterisk shutdown, set this to "yes". Default +; 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 + +; +; +; 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 +; 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 +; 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 +; (also, mysql is available via the asterisk-addons, due to licensing +; requirements) +; (please note, also, that other backends can be created, by creating +; a new backend module in the source cdr/ directory!) +; +; Some of the modules required to provide these backends will not build or install +; unless some dependency requirements are met. Examples of this are pgsql, odbc, +; etc. If you are not getting output as you would expect, the first thing to do +; is to run the command "make menuselect", and check what modules are available, +; by looking in the "2. Call Detail Recording" option in the main menu. If your +; 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 +; 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. +; +; To get custom csv CDR records, make sure the cdr_custom.conf file +; is present, and contains the proper [mappings] section. The advantage to +; using this backend, is that you can define which fields to output, and in +; what order. By default, the example configs are set up to mimic the cdr-csv +; output. If you don't make any changes to the mappings, you are basically generating +; the same thing as cdr-csv, but expending more CPU cycles to do so! +; +; To get manager events generated, make sure the cdr_manager.conf file exists, +; and the [general] section is defined, with the single variable 'enabled = yes'. +; +; For odbc, make sure all the proper libs are installed, that "make menuselect" +; shows that the modules are available, and the cdr_odbc.conf file exists, and +; has a [global] section with the proper variables defined. +; +; For pgsql, make sure all the proper libs are installed, that "make menuselect" +; 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 +; "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. +; +; For logging to sqlite databases, make sure the 'cdr.db' file exists in the log directory, +; 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' +; 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 +; a specific table in that databse to make things work! See the doc directory for more details +; on how to create this table in each database. +; + +[csv] +usegmtime=yes ; log date/time in GMT. Default is "no" +loguniqueid=yes ; log uniqueid. Default is "no" +loguserfield=yes ; log user field. Default is "no" + +;[radius] +;usegmtime=yes ; log date/time in GMT +;loguniqueid=yes ; log uniqueid +;loguserfield=yes ; log user field +; 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/1.4.23-rc4/configs/cdr_custom.conf.sample b/1.4.23-rc4/configs/cdr_custom.conf.sample new file mode 100644 index 000000000..8bc2cb34e --- /dev/null +++ b/1.4.23-rc4/configs/cdr_custom.conf.sample @@ -0,0 +1,10 @@ +; +; Mappings for custom config file +; +; to get your csv output in a format tailored to your liking, uncomment the following +; and look for the output in the cdr-custom/Master.csv file (usually in /var/log/asterisk). +; +; +;[mappings] +;Master.csv => "${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(channel)}","${CDR(dstchannel)}","${CDR(lastapp)}","${CDR(lastdata)}","${CDR(start)}","${CDR(answer)}","${CDR(end)}","${CDR(duration)}","${CDR(billsec)}","${CDR(disposition)}","${CDR(amaflags)}","${CDR(accountcode)}","${CDR(uniqueid)}","${CDR(userfield)}" + diff --git a/1.4.23-rc4/configs/cdr_manager.conf.sample b/1.4.23-rc4/configs/cdr_manager.conf.sample new file mode 100644 index 000000000..1d7984ba4 --- /dev/null +++ b/1.4.23-rc4/configs/cdr_manager.conf.sample @@ -0,0 +1,6 @@ +; +; Asterisk Call Management CDR +; +[general] +enabled = no + diff --git a/1.4.23-rc4/configs/cdr_odbc.conf.sample b/1.4.23-rc4/configs/cdr_odbc.conf.sample new file mode 100644 index 000000000..6245e37eb --- /dev/null +++ b/1.4.23-rc4/configs/cdr_odbc.conf.sample @@ -0,0 +1,12 @@ +; +; cdr_odbc.conf +; + +;[global] +;dsn=MySQL-test +;username=username +;password=password +;loguniqueid=yes +;dispositionstring=yes +;table=cdr ;"cdr" is default table name +;usegmtime=no ; set to "yes" to log in GMT diff --git a/1.4.23-rc4/configs/cdr_pgsql.conf.sample b/1.4.23-rc4/configs/cdr_pgsql.conf.sample new file mode 100644 index 000000000..0784c7b08 --- /dev/null +++ b/1.4.23-rc4/configs/cdr_pgsql.conf.sample @@ -0,0 +1,9 @@ +; Sample Asterisk config file for CDR logging to PostgresSQL + +[global] +;hostname=localhost +;port=5432 +;dbname=asterisk +;password=password +;user=postgres +;table=cdr ;SQL table where CDRs will be inserted diff --git a/1.4.23-rc4/configs/cdr_tds.conf.sample b/1.4.23-rc4/configs/cdr_tds.conf.sample new file mode 100644 index 000000000..d8c7d075c --- /dev/null +++ b/1.4.23-rc4/configs/cdr_tds.conf.sample @@ -0,0 +1,11 @@ +; Sample Asterisk config file for CDR logging to FreeTDS + +;[global] +;hostname=fs.malico.loc +;port=1433 +;dbname=MalicoHN +;user=mangUsr +;password= +;charset=BIG5 +;table=cdr + diff --git a/1.4.23-rc4/configs/chan_dahdi.conf.sample b/1.4.23-rc4/configs/chan_dahdi.conf.sample new file mode 100644 index 000000000..2dbbb41d0 --- /dev/null +++ b/1.4.23-rc4/configs/chan_dahdi.conf.sample @@ -0,0 +1,675 @@ +; +; DAHDI telephony interface +; +; Configuration file +; +; You need to restart Asterisk to re-configure the DAHDI channels +; CLI> reload chan_dahdi.so +; will reload the configuration file, +; but not all configuration options are +; re-configured during a reload. + + + +[trunkgroups] +; +; Trunk groups are used for NFAS or GR-303 connections. +; +; Group: Defines a trunk group. +; trunkgroup => <trunkgroup>,<dchannel>[,<backup1>...] +; +; trunkgroup is the numerical trunk group to create +; dchannel is the DAHDI channel which will have the +; d-channel for the trunk. +; backup1 is an optional list of backup d-channels. +; +;trunkgroup => 1,24,48 +;trunkgroup => 1,24 +; +; Spanmap: Associates a span with a trunk group +; spanmap => <dahdispan>,<trunkgroup>[,<logicalspan>] +; +; dahdispan is the DAHDI span number to associate +; trunkgroup is the trunkgroup (specified above) for the mapping +; logicalspan is the logical span number within the trunk group to use. +; if unspecified, no logical span number is used. +; +;spanmap => 1,1,1 +;spanmap => 2,1,2 +;spanmap => 3,1,3 +;spanmap => 4,1,4 + +[channels] +; +; Default language +; +;language=en +; +; Default context +; +context=default +; +; Switchtype: Only used for PRI. +; +; national: National ISDN 2 (default) +; dms100: Nortel DMS100 +; 4ess: AT&T 4ESS +; 5ess: Lucent 5ESS +; euroisdn: EuroISDN (also known as ETSI NET/5; Cisco calls this "primary-net5") +; ni1: Old National ISDN 1 +; qsig: Q.SIG +; +switchtype=national +; +; Some switches (AT&T especially) require network specific facility IE +; supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet' +; +;nsf=none +; +; PRI Dialplan: Only RARELY used for PRI. +; +; unknown: Unknown +; private: Private ISDN +; local: Local ISDN +; national: National ISDN +; international: International ISDN +; dynamic: Dynamically selects the appropriate dialplan +; +;pridialplan=national +; +; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's numbering plan) +; +; unknown: Unknown +; private: Private ISDN +; local: Local ISDN +; national: National ISDN +; international: International ISDN +; dynamic: Dynamically selects the appropriate dialplan +; +;prilocaldialplan=national +; +; PRI callerid prefixes based on the given TON/NPI (dialplan) +; This is especially needed for euroisdn E1-PRIs +; +; sample 1 for Germany +;internationalprefix = 00 +;nationalprefix = 0 +;localprefix = 0711 +;privateprefix = 07115678 +;unknownprefix = +; +; sample 2 for Germany +;internationalprefix = + +;nationalprefix = +49 +;localprefix = +49711 +;privateprefix = +497115678 +;unknownprefix = +; +; PRI resetinterval: sets the time in seconds between restart of unused +; channels, defaults to 3600; minimum 60 seconds. Some PBXs don't like +; channel restarts. so set the interval to a very long interval e.g. 100000000 +; or 'never' to disable *entirely*. +; +;resetinterval = 3600 +; +; Overlap dialing mode (sending overlap digits) +; +;overlapdial=yes +; +; Allow inband audio (progress) when a call is RELEASEd by the far end of a PRI +; +;inbanddisconnect=yes +; +; PRI Out of band indications. +; Enable this to report Busy and Congestion on a PRI using out-of-band +; notification. Inband indication, as used by Asterisk doesn't seem to work +; with all telcos. +; +; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT +; inband: Signal Busy/Congestion using in-band tones +; +; priindication = outofband +; +; If you need to override the existing channels selection routine and force all +; PRI channels to be marked as exclusively selected, set this to yes. +; priexclusive = yes +; +; ISDN Timers +; All of the ISDN timers and counters that are used are configurable. Specify +; the timer name, and its value (in ms for timers). +; K: Layer 2 max number of outstanding unacknowledged I frames (default 7) +; N200: Layer 2 max number of retransmissions of a frame (default 3) +; T200: Layer 2 max time before retransmission of a frame (default 1000 ms) +; T203: Layer 2 max time without frames being exchanged (default 10000 ms) +; T305: Wait for DISCONNECT acknowledge (default 30000 ms) +; T308: Wait for RELEASE acknowledge (default 4000 ms) +; T309: Maintain active calls on Layer 2 disconnection (default -1, Asterisk clears calls) +; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s +; May vary in other ISDN standards (Q.931 1993 : 90000 ms) +; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms) +; +; pritimer => t200,1000 +; pritimer => t313,4000 +; +; To enable transmission of facility-based ISDN supplementary services (such +; as caller name from CPE over facility), enable this option. +; facilityenable = yes +; +; +; Signalling method (default is fxs). Valid values: +; em: E & M +; em_w: E & M Wink +; featd: Feature Group D (The fake, Adtran style, DTMF) +; featdmf: Feature Group D (The real thing, MF (domestic, US)) +; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through +; a Tandem Access point +; featb: Feature Group B (MF (domestic, US)) +; fgccama Feature Group C-CAMA (DP DNIS, MF ANI) +; fgccamamf Feature Group C-CAMA MF (MF DNIS, MF ANI) +; fxs_ls: FXS (Loop Start) +; fxs_gs: FXS (Ground Start) +; fxs_ks: FXS (Kewl Start) +; fxo_ls: FXO (Loop Start) +; fxo_gs: FXO (Ground Start) +; fxo_ks: FXO (Kewl Start) +; pri_cpe: PRI signalling, CPE side +; pri_net: PRI signalling, Network side +; gr303fxoks_net: GR-303 Signalling, FXO Loopstart, Network side +; gr303fxsks_cpe: GR-303 Signalling, FXS Loopstart, CPE side +; sf: SF (Inband Tone) Signalling +; sf_w: SF Wink +; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF) +; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US)) +; sf_featb: SF Feature Group B (MF (domestic, US)) +; e911: E911 (MF) style signalling +; +; The following are used for Radio interfaces: +; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the +; channel bank) +; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the +; channel bank) +; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the +; channel bank) +; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at +; the channel bank) +; em_rx: Receive audio/COR on an E&M interface (1-way) +; em_tx: Transmit audio/PTT on an E&M interface (1-way) +; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface +; (2-way) +; em_rxtx: Same as em_txrx (for our dyslexic friends) +; sf_rx: Receive audio/COR on an SF interface (1-way) +; sf_tx: Transmit audio/PTT on an SF interface (1-way) +; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface +; (2-way) +; sf_rxtx: Same as sf_txrx (for our dyslexic friends) +; +signalling=fxo_ls +; +; If you have an outbound signalling format that is different from format +; specified above (but compatible), you can specify outbound signalling format, +; (see below). The 'signalling' format specified will be the inbound signalling +; format. If you only specify 'signalling', then it will be the format for +; both inbound and outbound. +; +; signalling=featdmf +; outsignalling=featb +; +; For Feature Group D Tandem access, to set the default CIC and OZZ use these +; parameters: +;defaultozz=0000 +;defaultcic=303 +; +; A variety of timing parameters can be specified as well +; Including: +; prewink: Pre-wink time (default 50ms) +; preflash: Pre-flash time (default 50ms) +; wink: Wink time (default 150ms) +; flash: Flash time (default 750ms) +; start: Start time (default 1500ms) +; rxwink: Receiver wink time (default 300ms) +; rxflash: Receiver flashtime (default 1250ms) +; debounce: Debounce timing (default 600ms) +; +rxwink=300 ; Atlas seems to use long (250ms) winks +; +; How long generated tones (DTMF and MF) will be played on the channel +; (in milliseconds) +;toneduration=100 +; +; Whether or not to do distinctive ring detection on FXO lines +; +;usedistinctiveringdetection=yes +;distinctiveringaftercid=yes ; enable dring detection after callerid for those countries like Australia + ; where the ring cadence is changed *after* the callerid spill. +; +; Whether or not to use caller ID +; +usecallerid=yes +; +; Type of caller ID signalling in use +; bell = bell202 as used in US +; v23 = v23 as used in the UK +; v23_jp = v23 as used in Japan +; dtmf = DTMF as used in Denmark, Sweden and Netherlands +; smdi = Use SMDI for callerid. Requires SMDI to be enabled (usesmdi). +; +;cidsignalling=bell +; +; What signals the start of caller ID +; ring = a ring signals the start +; polarity = polarity reversal signals the start +; +;cidstart=ring +; +; Whether or not to hide outgoing caller ID (Override with *67 or *82) +; +hidecallerid=no +; +; Whether or not to enable call waiting on internal extensions +; With this set to 'yes', busy extensions will hear the call-waiting +; tone, and can use hook-flash to switch between callers. The Dial() +; app will not return the "BUSY" result for extensions. +; +callwaiting=yes +; +; Whether or not restrict outgoing caller ID (will be sent as ANI only, not +; available for the user) +; Mostly use with FXS ports +; +;restrictcid=no +; +; Whether or not use the caller ID presentation for the outgoing call that the +; calling switch is sending. +; See doc/callingpres.txt +; +usecallingpres=yes +; +; Some countries (UK) have ring tones with different ring tones (ring-ring), +; which means the callerid needs to be set later on, and not just after +; the first ring, as per the default. +; +;sendcalleridafter=1 +; +; +; Support Caller*ID on Call Waiting +; +callwaitingcallerid=yes +; +; Support three-way calling +; +threewaycalling=yes +; +; For FXS ports (either direct analog or over T1/E1): +; Support flash-hook call transfer (requires three way calling) +; Also enables call parking (overrides the 'canpark' parameter) +; +; For digital ports using ISDN PRI protocols: +; Support switch-side transfer (called 2BCT, RLT or other names) +; This setting must be enabled on both ports involved, and the +; 'facilityenable' setting must also be enabled to allow sending +; the transfer to the ISDN switch, since it sent in a FACILITY +; message. +; +transfer=yes +; +; Allow call parking +; ('canpark=no' is overridden by 'transfer=yes') +; +canpark=yes +; +; Support call forward variable +; +cancallforward=yes +; +; Whether or not to support Call Return (*69) +; +callreturn=yes +; +; Stutter dialtone support: If a mailbox is specified without a voicemail +; context, then when voicemail is received in a mailbox in the default +; voicemail context in voicemail.conf, taking the phone off hook will cause a +; stutter dialtone instead of a normal one. +; +; If a mailbox is specified *with* a voicemail context, the same will result +; if voicemail received in mailbox in the specified voicemail context. +; +; for default voicemail context, the example below is fine: +; +;mailbox=1234 +; +; for any other voicemail context, the following will produce the stutter tone: +; +;mailbox=1234@context +; +; Enable echo cancellation +; Use either "yes", "no", or a power of two from 32 to 256 if you wish to +; actually set the number of taps of cancellation. +; +; Note that when setting the number of taps, the number 256 does not translate +; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms. +; +; Note that if any of your DAHDI cards have hardware echo cancellers, +; then this setting only turns them on and off; numeric settings will +; be treated as "yes". There are no special settings required for +; hardware echo cancellers; when present and enabled in their kernel +; modules, they take precedence over the software echo canceller compiled +; into DAHDI automatically. +; +echocancel=yes +; +; Generally, it is not necessary (and in fact undesirable) to echo cancel when +; the circuit path is entirely TDM. You may, however, change this behavior +; by enabling the echo cancel during pure TDM bridging below. +; +echocancelwhenbridged=yes +; +; In some cases, the echo canceller doesn't train quickly enough and there +; is echo at the beginning of the call. Enabling echo training will cause +; asterisk to briefly mute the channel, send an impulse, and use the impulse +; response to pre-train the echo canceller so it can start out with a much +; closer idea of the actual echo. Value may be "yes", "no", or a number of +; milliseconds to delay before training (default = 400) +; +; WARNING: In some cases this option can make echo worse! If you are +; trying to debug an echo problem, it is worth checking to see if your echo +; is better with the option set to yes or no. Use whatever setting gives +; the best results. +; +; Note that these parameters do not apply to hardware echo cancellers. +; +;echotraining=yes +;echotraining=800 +; +; If you are having trouble with DTMF detection, you can relax the DTMF +; detection parameters. Relaxing them may make the DTMF detector more likely +; to have "talkoff" where DTMF is detected when it shouldn't be. +; +;relaxdtmf=yes +; +; You may also set the default receive and transmit gains (in dB) +; +rxgain=0.0 +txgain=0.0 +; +; Logical groups can be assigned to allow outgoing rollover. Groups range +; from 0 to 63, and multiple groups can be specified. +; +group=1 +; +; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing +; and it is a member of a group which is one of your pickup groups, then +; you can answer it by picking up and dialling *8#. For simple offices, just +; make these both the same. Groups range from 0 to 63. +; +callgroup=1 +pickupgroup=1 + +; +; Specify whether the channel should be answered immediately or if the simple +; switch should provide dialtone, read digits, etc. +; Note: If immediate=yes the dialplan execution will always start at extension +; 's' priority 1 regardless of the dialed number! +; +immediate=no +; +; Specify whether flash-hook transfers to 'busy' channels should complete or +; return to the caller performing the transfer (default is yes). +; +;transfertobusy=no +; +; CallerID can be set to "asreceived" or a specific number if you want to +; override it. Note that "asreceived" only applies to trunk interfaces. +; +;callerid=2564286000 +; +; AMA flags affects the recording of Call Detail Records. If specified +; it may be 'default', 'omit', 'billing', or 'documentation'. +; +;amaflags=default +; +; Channels may be associated with an account code to ease +; billing +; +;accountcode=lss0101 +; +; ADSI (Analog Display Services Interface) can be enabled on a per-channel +; basis if you have (or may have) ADSI compatible CPE equipment +; +;adsi=yes +; +; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel +; basis if you would like that channel to behave like an SMDI message desk. +; The SMDI port specified should have already been defined in smdi.conf. The +; default port is /dev/ttyS0. +; +;usesmdi=yes +;smdiport=/dev/ttyS0 +; +; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D +; etc, it can be useful to perform busy detection either in an effort to +; detect hangup or for detecting busies. This enables listening for +; the beep-beep busy pattern. +; +;busydetect=yes +; +; If busydetect is enabled, it is also possible to specify how many busy tones +; to wait for before hanging up. The default is 4, but better results can be +; achieved if set to 6 or even 8. Mind that the higher the number, the more +; time that will be needed to hangup a channel, but lowers the probability +; that you will get random hangups. +; +;busycount=4 +; +; If busydetect is enabled, it is also possible to specify the cadence of your +; busy signal. In many countries, it is 500msec on, 500msec off. Without +; busypattern specified, we'll accept any regular sound-silence pattern that +; repeats <busycount> times as a busy signal. If you specify busypattern, +; then we'll further check the length of the sound (tone) and silence, which +; will further reduce the chance of a false positive. +; +;busypattern=500,500 +; +; NOTE: In the Asterisk Makefile you'll find further options to tweak the busy +; detector. If your country has a busy tone with the same length tone and +; silence (as many countries do), consider defining the +; -DBUSYDETECT_COMPARE_TONE_AND_SILENCE option. +; +; Use a polarity reversal to mark when a outgoing call is answered by the +; remote party. +; +;answeronpolarityswitch=yes +; +; In some countries, a polarity reversal is used to signal the disconnect of a +; phone line. If the hanguponpolarityswitch option is selected, the call will +; be considered "hung up" on a polarity reversal. +; +;hanguponpolarityswitch=yes +; +; On trunk interfaces (FXS) it can be useful to attempt to follow the progress +; of a call through RINGING, BUSY, and ANSWERING. If turned on, call +; progress attempts to determine answer, busy, and ringing on phone lines. +; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers, +; so don't count on it being very accurate. +; +; Few zones are supported at the time of this writing, but may be selected +; with "progzone" +; +; This feature can also easily detect false hangups. The symptoms of this is +; being disconnected in the middle of a call for no reason. +; +;callprogress=yes +;progzone=us +; +; FXO (FXS signalled) devices must have a timeout to determine if there was a +; hangup before the line was answered. This value can be tweaked to shorten +; how long it takes before DAHDI considers a non-ringing line to have hungup. +; +;ringtimeout=8000 +; +; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF +; +;pulsedial=yes +; +; For fax detection, uncomment one of the following lines. The default is *OFF* +; +;faxdetect=both +;faxdetect=incoming +;faxdetect=outgoing +;faxdetect=no +; +; This option specifies a preference for which music on hold class this channel +; should listen to when put on hold if the music class has not been set on the +; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer +; channel putting this one on hold did not suggest a music class. +; +; If this option is set to "passthrough", then the hold message will always be +; passed through as signalling instead of generating hold music locally. This +; setting is only valid when used on a channel that uses digital signalling. +; +; This option may be specified globally, or on a per-channel basis. +; +;mohinterpret=default +; +; This option specifies which music on hold class to suggest to the peer channel +; when this channel places the peer on hold. It may be specified globally or on +; a per-channel. +; +;mohsuggest=default +; +; PRI channels can have an idle extension and a minunused number. So long as +; at least "minunused" channels are idle, chan_dahdi will try to call "idledial" +; on them, and then dump them into the PBX in the "idleext" extension (which +; is of the form exten@context). When channels are needed the "idle" calls +; are disconnected (so long as there are at least "minidle" calls still +; running, of course) to make more channels available. The primary use of +; this is to create a dynamic service, where idle channels are bundled through +; multilink PPP, thus more efficiently utilizing combined voice/data services +; than conventional fixed mappings/muxings. +; +;idledial=6999 +;idleext=6999@dialout +;minunused=2 +;minidle=1 +; +; Configure jitter buffers in DAHDI (each one is 20ms, default is 4) +; +;jitterbuffers=4 +; +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The DAHDI channel can't accept jitter, + ; thus an enabled jitterbuffer on the receive DAHDI side will always + ; be used if the sending side can create jitter. + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- +; +; You can define your own custom ring cadences here. You can define up to 8 +; pairs. If the silence is negative, it indicates where the callerid spill is +; to be placed. Also, if you define any custom cadences, the default cadences +; will be turned off. +; +; Syntax is: cadence=ring,silence[,ring,silence[...]] +; +; These are the default cadences: +; +;cadence=125,125,2000,-4000 +;cadence=250,250,500,1000,250,250,500,-4000 +;cadence=125,125,125,125,125,-4000 +;cadence=1000,500,2500,-5000 +; +; Each channel consists of the channel number or range. It inherits the +; parameters that were specified above its declaration. +; +; For GR-303, CRV's are created like channels except they must start with the +; trunk group followed by a colon, e.g.: +; +; crv => 1:1 +; crv => 2:1-2,5-8 +; +; +;callerid="Green Phone"<(256) 428-6121> +;channel => 1 +;callerid="Black Phone"<(256) 428-6122> +;channel => 2 +;callerid="CallerID Phone" <(256) 428-6123> +;callerid="CallerID Phone" <(630) 372-1564> +;callerid="CallerID Phone" <(256) 704-4666> +;channel => 3 +;callerid="Pac Tel Phone" <(256) 428-6124> +;channel => 4 +;callerid="Uniden Dead" <(256) 428-6125> +;channel => 5 +;callerid="Cortelco 2500" <(256) 428-6126> +;channel => 6 +;callerid="Main TA 750" <(256) 428-6127> +;channel => 44 +; +; For example, maybe we have some other channels which start out in a +; different context and use E & M signalling instead. +; +;context=remote +;signaling=em +;channel => 15 +;channel => 16 + +;signalling=em_w +; +; All those in group 0 I'll use for outgoing calls +; +; Strip most significant digit (9) before sending +; +;stripmsd=1 +;callerid=asreceived +;group=0 +;signalling=fxs_ls +;channel => 45 + +;signalling=fxo_ls +;group=1 +;callerid="Joe Schmoe" <(256) 428-6131> +;channel => 25 +;callerid="Megan May" <(256) 428-6132> +;channel => 26 +;callerid="Suzy Queue" <(256) 428-6233> +;channel => 27 +;callerid="Larry Moe" <(256) 428-6234> +;channel => 28 +; +; Sample PRI (CPE) config: Specify the switchtype, the signalling as either +; pri_cpe or pri_net for CPE or Network termination, and generally you will +; want to create a single "group" for all channels of the PRI. +; +; switchtype = national +; signalling = pri_cpe +; group = 2 +; channel => 1-23 + +; + +; Used for distinctive ring support for x100p. +; You can see the dringX patterns is to set any one of the dringXcontext fields +; and they will be printed on the console when an inbound call comes in. +; +;dring1=95,0,0 +;dring1context=internal1 +;dring2=325,95,0 +;dring2context=internal2 +; If no pattern is matched here is where we go. +;context=default +;channel => 1 + diff --git a/1.4.23-rc4/configs/codecs.conf.sample b/1.4.23-rc4/configs/codecs.conf.sample new file mode 100644 index 000000000..c8caeab60 --- /dev/null +++ b/1.4.23-rc4/configs/codecs.conf.sample @@ -0,0 +1,65 @@ +[speex] +; CBR encoding quality [0..10] +; used only when vbr = false +quality => 3 + +; codec complexity [0..10] +; tradeoff between cpu/quality +complexity => 2 + +; perceptual enhancement [true / false] +; improves clarity of decoded speech +enhancement => true + +; voice activity detection [true / false] +; reduces bitrate when no voice detected, used only for CBR +; (implicit in VBR/ABR) +vad => true + +; variable bit rate [true / false] +; uses bit rate proportionate to voice complexity +vbr => true + +; available bit rate [bps, 0 = off] +; encoding quality modulated to match this target bit rate +; not recommended with dtx or pp_vad - may cause bandwidth spikes +abr => 0 + +; VBR encoding quality [0-10] +; floating-point values allowed +vbr_quality => 4 + +; discontinuous transmission [true / false] +; stops transmitting completely when silence is detected +; pp_vad is far more effective but more CPU intensive +dtx => false + +; preprocessor configuration +; these options only affect Speex v1.1.8 or newer + +; enable preprocessor [true / false] +; allows dsp functionality below but incurs CPU overhead +preprocess => false + +; preproc voice activity detection [true / false] +; more advanced equivalent of DTX, based on voice frequencies +pp_vad => false + +; preproc automatic gain control [true / false] +pp_agc => false +pp_agc_level => 8000 + +; preproc denoiser [true / false] +pp_denoise => false + +; preproc dereverb [true / false] +pp_dereverb => false +pp_dereverb_decay => 0.4 +pp_dereverb_level => 0.3 + + +[plc] +; for all codecs which do not support native PLC +; this determines whether to perform generic PLC +; there is a minor performance penalty for this +genericplc => true diff --git a/1.4.23-rc4/configs/dnsmgr.conf.sample b/1.4.23-rc4/configs/dnsmgr.conf.sample new file mode 100644 index 000000000..e34dbcf0a --- /dev/null +++ b/1.4.23-rc4/configs/dnsmgr.conf.sample @@ -0,0 +1,5 @@ +[general] +;enable=yes ; enable creation of managed DNS lookups + ; default is 'no' +;refreshinterval=1200 ; refresh managed DNS lookups every <n> seconds + ; default is 300 (5 minutes)
\ No newline at end of file diff --git a/1.4.23-rc4/configs/dundi.conf.sample b/1.4.23-rc4/configs/dundi.conf.sample new file mode 100644 index 000000000..a1e999726 --- /dev/null +++ b/1.4.23-rc4/configs/dundi.conf.sample @@ -0,0 +1,239 @@ +; +; DUNDi configuration file +; +; For more information about DUNDi, see http://www.dundi.com +; +; +[general] +; +; The "general" section contains general parameters relating +; to the operation of the dundi client and server. +; +; The first part should be your complete contact information +; should someone else in your peer group need to contact you. +; +;department=Your Department +;organization=Your Company, Inc. +;locality=Your City +;stateprov=ST +;country=US +;email=your@email.com +;phone=+12565551212 +; +; +; Specify bind address and port number. Default is +; 4520 +; +;bindaddr=0.0.0.0 +;port=4520 +; +; Our entity identifier (Should generally be the MAC address of the +; machine it's running on. Defaults to the first eth address, but you +; can override it here, as long as you set it to the MAC of *something* +; you own!) +; +;entityid=00:07:E9:3B:76:60 +; +; Peers shall cache our query responses for the specified time, +; given in seconds. Default is 3600. +; +;cachetime=3600 +; +; This defines the max depth in which to search the DUNDi system. +; Note that the maximum time that we will wait for a response is +; (2000 + 200 * ttl) ms. +; +ttl=32 +; +; If we don't get ACK to our DPDISCOVER within 2000ms, and autokill is set +; to yes, then we cancel the whole thing (that's enough time for one +; retransmission only). This is used to keep things from stalling for a long +; time for a host that is not available, but would be ill advised for bad +; connections. In addition to 'yes' or 'no' you can also specify a number +; of milliseconds. See 'qualify' for individual peers to turn on for just +; a specific peer. +; +autokill=yes +; +; pbx_dundi creates a rotating key called "secret", under the family +; 'secretpath'. The default family is dundi (resulting in +; the key being held at dundi/secret). +; +;secretpath=dundi +; +; The 'storehistory' option (also changeable at runtime with +; 'dundi store history' and 'dundi no store history') will +; cause the DUNDi engine to keep track of the last several +; queries and the amount of time each query took to execute +; for the purpose of tracking slow nodes. This option is +; off by default due to performance impacts. +; +;storehistory=yes + +[mappings] +; +; The "mappings" section maps DUNDi contexts +; to contexts on the local asterisk system. Remember +; that numbers that are made available under the e164 +; DUNDi context are regulated by the DUNDi General Peering +; Agreement (GPA) if you are a member of the DUNDi E.164 +; Peering System. +; +; dundi_context => local_context,weight,tech,dest[,options]] +; +; 'dundi_context' is the name of the context being requested +; within the DUNDi request +; +; 'local_context' is the name of the context on the local system +; in which numbers can be looked up for which responses shall be given. +; +; 'weight' is the weight to use for the responses provided from this +; mapping. The number must be >= 0 and < 60000. Since it is totally +; valid to receive multiple responses to a query, responses received +; with a lower weight are tried first. Note that the weight has a +; special meaning in the e164 context - see the GPA for more details. +; +; 'tech' is the technology to use (IAX, SIP, H323) +; +; 'dest' is the destination to supply for reaching that number. The +; following variables can be used in the destination string and will +; be automatically substituted: +; ${NUMBER}: The number being requested +; ${IPADDR}: The IP address to connect to +; ${SECRET}: The current rotating secret key to be used +; +; Further options may include: +; +; nounsolicited: No unsolicited calls of any type permitted via this +; route +; nocomunsolicit: No commercial unsolicited calls permitted via +; this route +; residential: This number is known to be a residence +; commercial: This number is known to be a business +; mobile: This number is known to be a mobile phone +; nocomunsolicit: No commercial unsolicited calls permitted via +; this route +; nopartial: Do not search for partial matches +; +; There *must* exist an entry in mappings for DUNDi to respond +; to any request, although it may be empty. +; +;e164 => dundi-e164-canonical,0,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial +;e164 => dundi-e164-customers,100,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial +;e164 => dundi-e164-via-pstn,400,IAX2,dundi:${SECRET}@${IPADDR}/${NUMBER},nounsolicited,nocomunsolicit,nopartial + +;digexten => default,0,IAX2,guest@lappy/${NUMBER} +;asdf => + + +; +; +; The remaining sections represent the peers +; that we fundamentally trust. The section name +; represents the name and optionally at a specific +; DUNDi context if you want the trust to be established +; for only a specific DUNDi context. +; +; inkey - What key they will be authenticating to us with +; +; outkey - What key we use to authenticate to them +; +; host - What their host is +; +; order - What search order to use. May be 'primary', 'secondary', +; 'tertiary' or 'quartiary'. In large systems, it is beneficial +; to only query one up-stream host in order to maximize caching +; value. Adding one with primary and one with secondary gives you +; redundancy without sacrificing performance. +; +; include - Includes this peer when searching a particular context +; for lookup (set "all" to perform all lookups with that +; host. This is also the context in which peers are permitted +; to precache. +; +; noinclude - Disincludes this peer when searching a particular context +; for lookup (set "all" to perform no lookups with that +; host. +; +; permit - Permits this peer to search a given DUNDi context on +; the local system. Set "all" to permit this host to +; lookup all contexts. This is also a context for which +; we will create/forward PRECACHE commands. +; +; deny - Denies this peer to search a given DUNDi context on +; the local system. Set "all" to deny this host to +; lookup all contexts. +; +; model - inbound, outbound, or symmetric for whether we receive +; requests only, transmit requests only, or do both. +; +; precache - Utilize/Permit precaching with this peer (to pre +; cache means to provide an answer when no request +; was made and is used so that machines with few +; routes can push those routes up a to a higher level). +; outgoing means we send precache routes to this peer, +; incoming means we permit this peer to send us +; precache routes. symmetric means we do both. +; +; Note: You cannot mix symmetric/outbound model with symmetric/inbound +; precache, nor can you mix symmetric/inbound model with symmetric/outbound +; precache. +; +; +; The '*' peer is special and matches an unspecified entity +; + +; +; Sample Primary e164 DUNDi peer +; +;[00:50:8B:F3:75:BB] +;model = symmetric +;host = 64.215.96.114 +;inkey = digium +;outkey = misery +;include = e164 +;permit = e164 +;qualify = yes + +; +; Sample Secondary e164 DUNDi peer +; +;[00:A0:C9:96:92:84] +;model = symmetric +;host = misery.digium.com +;inkey = misery +;outkey = ourkey +;include = e164 +;permit = e164 +;qualify = yes +;order = secondary + +; +; Sample "push mode" downstream host +; +;[00:0C:76:96:75:28] +;model = inbound +;host = dynamic +;precache = inbound +;inkey = littleguy +;outkey = ourkey +;include = e164 ; In this case used only for precaching +;permit = e164 +;qualify = yes + +; +; Sample "push mode" upstream host +; +;[00:07:E9:3B:76:60] +;model = outbound +;precache = outbound +;host = 216.207.245.34 +;register = yes +;inkey = dhcp34 +;permit = all ; In this case used only for precaching +;include = all +;qualify = yes +;outkey=foo + +;[*] +; diff --git a/1.4.23-rc4/configs/enum.conf.sample b/1.4.23-rc4/configs/enum.conf.sample new file mode 100644 index 000000000..39c723175 --- /dev/null +++ b/1.4.23-rc4/configs/enum.conf.sample @@ -0,0 +1,22 @@ +; +; ENUM Configuration for resolving phone numbers over DNS +; +; Sample config for Asterisk +; This file is reloaded at "module reload enum" in the CLI +; +[general] +; +; The search list for domains may be customized. Domains are searched +; in the order they are listed here. +; +search => e164.arpa +; +; If you'd like to use the E.164.org public ENUM registry in addition +; to the official e164.arpa one, uncomment the following line +; +;search => e164.org +; +; As there are more H323 drivers available you have to select to which +; drive a H323 URI will map. Default is "H323". +; +h323driver => H323 diff --git a/1.4.23-rc4/configs/extconfig.conf.sample b/1.4.23-rc4/configs/extconfig.conf.sample new file mode 100644 index 000000000..fa9462b63 --- /dev/null +++ b/1.4.23-rc4/configs/extconfig.conf.sample @@ -0,0 +1,59 @@ +; +; Static and realtime external configuration +; engine configuration +; +; Please read doc/extconfig.txt for basic table +; formatting information. +; +[settings] +; +; Static configuration files: +; +; file.conf => driver,database[,table] +; +; maps a particular configuration file to the given +; database driver, database and table (or uses the +; name of the file as the table if not specified) +; +;uncomment to load queues.conf via the odbc engine. +; +;queues.conf => odbc,asterisk,ast_config +; +; The following files CANNOT be loaded from Realtime storage: +; asterisk.conf +; extconfig.conf (this file) +; logger.conf +; +; Additionally, the following files cannot be loaded from +; Realtime storage unless the storage driver is loaded +; early using 'preload' statements in modules.conf: +; manager.conf +; cdr.conf +; rtp.conf +; +; +; Realtime configuration engine +; +; maps a particular family of realtime +; configuration to a given database driver, +; database and table (or uses the name of +; the family if the table is not specified +; +;example => odbc,asterisk,alttable +; +; "odbc" is shown in the examples below, but is not the only valid realtime +; engine. There is: +; odbc ... res_config_odbc +; pgsql ... res_config_pgsql +; mysql ... res_config_mysql (available from asterisk-addons) +; +;iaxusers => odbc,asterisk +;iaxpeers => odbc,asterisk +;sipusers => odbc,asterisk +;sippeers => odbc,asterisk +;voicemail => odbc,asterisk +;extensions => odbc,asterisk +;queues => odbc,asterisk +;queue_members => odbc,asterisk +;meetme => mysql,conferences + diff --git a/1.4.23-rc4/configs/extensions.ael.sample b/1.4.23-rc4/configs/extensions.ael.sample new file mode 100644 index 000000000..ab8cdd854 --- /dev/null +++ b/1.4.23-rc4/configs/extensions.ael.sample @@ -0,0 +1,448 @@ +// +// Example AEL config file +// +// +// Static extension configuration file, used by +// the pbx_ael module. This is where you configure all your +// inbound and outbound calls in Asterisk. +// +// This configuration file is reloaded +// - With the "ael reload" command in the CLI +// - With the "reload" command (that reloads everything) in the CLI + +// The "Globals" category contains global variables that can be referenced +// in the dialplan by using the GLOBAL dialplan function: +// ${GLOBAL(VARIABLE)} +// ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid +// Unix/Linux environmental variables are reached with the ENV dialplan +// function: ${ENV(VARIABLE)} +// + +globals { + CONSOLE="Console/dsp"; // Console interface for demo + //CONSOLE=Zap/1 + //CONSOLE=Phone/phone0 + IAXINFO=guest; // IAXtel username/password + //IAXINFO="myuser:mypass"; + TRUNK="Zap/g2"; // Trunk interface + // + // Note the 'g2' in the TRUNK variable above. It specifies which group (defined + // 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 Zap channel + // (aka. ascending sequential hunt group). + // G: select the highest-numbered non-busy Zap channel + // (aka. descending sequential hunt group). + // r: use a round-robin search, starting at the next highest channel than last + // time (aka. ascending rotary hunt group). + // R: use a round-robin search, starting at the next lowest channel than last + // time (aka. descending rotary hunt group). + // + TRUNKMSD=1; // MSD digits to strip (usually 1 or 0) + //TRUNK=IAX2/user:pass@provider +}; + +// +// 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 '_' +// character, it is interpreted as a pattern rather than a +// literal. In patterns, some characters have special meanings: +// +// X - any digit from 0-9 +// 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 +// 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, +// while _1NXXNXXXXXX would represent an area code plus phone number +// preceded by a one. +// +// Each step of an extension is ordered by priority, which must +// always start with 1 to be considered a valid extension. The priority +// "next" or "n" means the previous priority plus one, regardless of whether +// the previous priority was associated with the current extension or not. +// The priority "same" or "s" means the same as the previously specified +// priority, again regardless of whether the previous entry was for the +// same extension. Priorities may be immediately followed by a plus sign +// and another integer to add that amount (most useful with 's' or 'n'). +// Priorities may then also have an alias, or label, in +// parenthesis after their name which can be used in goto situations +// +// Contexts contain several lines, one for each step of each +// extension, which can take one of two forms as listed below, +// with the first form being preferred. One may include another +// context in the current one as well, optionally with a +// date and time. Included contexts are included in the order +// they are listed. +// +//context name { +// exten-name => { +// application(arg1,arg2,...); +// +// Timing list for includes is +// +// <time range>|<days of week>|<days of month>|<months> +// +// includes { +// daytime|9:00-17:00|mon-fri|*|*; +// }; +// +// ignorepat can be used to instruct drivers to not cancel dialtone upon +// receipt of a particular pattern. The most commonly used example is +// of course '9' like this: +// +// ignorepat => 9; +// +// so that dialtone remains even after dialing a 9. +//}; + + +// +// Sample entries for extensions.conf +// +// +context ael-dundi-e164-canonical { + // + // List canonical entries here + // + // 12564286000 => &ael-std-exten(6000,IAX2/foo); + // _125642860XX => Dial(IAX2/otherbox/${EXTEN:7}); +}; + +context ael-dundi-e164-customers { + // + // If you are an ITSP or Reseller, list your customers here. + // + //_12564286000 => Dial(SIP/customer1); + //_12564286001 => Dial(IAX2/customer2); +}; + +context ael-dundi-e164-via-pstn { + // + // If you are freely delivering calls to the PSTN, list them here + // + //_1256428XXXX => Dial(Zap/g2/${EXTEN:7}); // Expose all of 256-428 + //_1256325XXXX => Dial(Zap/g2/${EXTEN:7}); // Ditto for 256-325 +}; + +context ael-dundi-e164-local { + // + // Context to put your dundi IAX2 or SIP user in for + // full access + // + includes { + ael-dundi-e164-canonical; + ael-dundi-e164-customers; + ael-dundi-e164-via-pstn; + }; +}; + +context ael-dundi-e164-switch { + // + // Just a wrapper for the switch + // + + switches { + DUNDi/e164; + }; +}; + +context ael-dundi-e164-lookup { + // + // Locally to lookup, try looking for a local E.164 solution + // then try DUNDi if we don't have one. + // + includes { + ael-dundi-e164-local; + ael-dundi-e164-switch; + }; + // +}; + +// +// DUNDi can also be implemented as a Macro instead of using +// the Local channel driver. +// +macro ael-dundi-e164(exten) { +// +// ARG1 is the extension to Dial +// + goto ${exten}|1; + return; +}; + +// +// Here are the entries you need to participate in the IAXTEL +// call routing system. Most IAXTEL numbers begin with 1-700, but +// there are exceptions. For more information, and to sign +// up, please go to www.gnophone.com or www.iaxtel.com +// +context ael-iaxtel700 { + _91700XXXXXXX => Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel); +}; + +// +// The SWITCH statement permits a server to share the dialplan with +// another server. Use with care: Reciprocal switch statements are not +// allowed (e.g. both A -> B and B -> A), and the switched server needs +// to be on-line or else dialing can be severly delayed. +// +context ael-iaxprovider { + switches { + // IAX2/user:[key]@myserver/mycontext; + }; +}; + +context ael-trunkint { + // + // International long distance through trunk + // + includes { + ael-dundi-e164-lookup; + }; + _9011. => { + &ael-dundi-e164(${EXTEN:4}); + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; +}; + +context ael-trunkld { + // + // Long distance context accessed through trunk + // + includes { + ael-dundi-e164-lookup; + }; + _91NXXNXXXXXX => { + &ael-dundi-e164(${EXTEN:1}); + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; +}; + +context ael-trunklocal { + // + // Local seven-digit dialing accessed through trunk interface + // + _9NXXXXXX => { + Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + }; +}; + +context ael-trunktollfree { + // + // Long distance context accessed through trunk interface + // + + _91800NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91888NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91877NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); + _91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}); +}; + +context ael-international { + // + // Master context for international long distance + // + ignorepat => 9; + includes { + ael-longdistance; + ael-trunkint; + }; +}; + +context ael-longdistance { + // + // Master context for long distance + // + ignorepat => 9; + includes { + ael-local; + ael-trunkld; + }; +}; + +context ael-local { + // + // Master context for local, toll-free, and iaxtel calls only + // + ignorepat => 9; + includes { + ael-default; + ael-trunklocal; + ael-iaxtel700; + ael-trunktollfree; + ael-iaxprovider; + }; +}; + +// +// You can use an alternative switch type as well, to resolve +// extensions that are not known here, for example with remote +// IAX switching you transparently get access to the remote +// Asterisk PBX +// +// switch => IAX2/user:password@bigserver/local +// +// An "lswitch" is like a switch but is literal, in that +// variable substitution is not performed at load time +// but is passed to the switch directly (presumably to +// be substituted in the switch routine itself) +// +// lswitch => Loopback/12${EXTEN}@othercontext +// +// An "eswitch" is like a switch but the evaluation of +// variable substitution is performed at runtime before +// being passed to the switch routine. +// +// eswitch => IAX2/context@${CURSERVER} + + +macro ael-std-exten-ael( ext , dev ) { + Dial(${dev}/${ext},20); + switch(${DIALSTATUS}) { + case BUSY: + Voicemail(${ext},b); + break; + default: + Voicemail(${ext},u); + }; + catch a { + VoiceMailMain(${ext}); + return; + }; + return; +}; + +context ael-demo { + s => { + Wait(1); + Answer(); + Set(TIMEOUT(digit)=5); + Set(TIMEOUT(response)=10); +restart: + Background(demo-congrats); +instructions: + for (x=0; ${x} < 3; x=${x} + 1) { + Background(demo-instruct); + WaitExten(); + }; + }; + 2 => { + Background(demo-moreinfo); + goto s|instructions; + }; + 3 => { + Set(LANGUAGE()=fr); + goto s|restart; + }; + 1000 => { + goto ael-default|s|1; + }; + 500 => { + Playback(demo-abouttotry); + Dial(IAX2/guest@misery.digium.com/s@default); + Playback(demo-nogo); + goto s|instructions; + }; + 600 => { + Playback(demo-echotest); + Echo(); + Playback(demo-echodone); + goto s|instructions; + }; + _1234 => &ael-std-exten-ael(${EXTEN}, "IAX2"); + 8500 => { + VoicemailMain(); + goto s|instructions; + }; + # => { + Playback(demo-thanks); + Hangup(); + }; + t => goto #|1; + i => Playback(invalid); +}; + + +// +// If you wish to use AEL for your default context, remove it +// from extensions.conf (or change its name or comment it out) +// and then uncomment the one here. +// + +context ael-default { + +// By default we include the demo. In a production system, you +// probably don't want to have the demo there. + + includes { + ael-demo; + }; +// +// Extensions like the two below can be used for FWD, Nikotel, sipgate etc. +// Note that you must have a [sipprovider] section in sip.conf whereas +// the otherprovider.net example does not require such a peer definition +// +//_41X. => Dial(SIP/${EXTEN:2}@sipprovider,,r); +//_42X. => Dial(SIP/user:passwd@${EXTEN:2}@otherprovider.net,30,rT); + +// Real extensions would go here. Generally you want real extensions to be +// 4 or 5 digits long (although there is no such requirement) and start with a +// single digit that is fairly large (like 6 or 7) so that you have plenty of +// room to overlap extensions and menu options without conflict. You can alias +// them with names, too, and use global variables + +// 6245 => { +// hint(SIP/Grandstream1&SIP/Xlite1,Joe Schmoe); // Channel hints for presence +// Dial(SIP/Grandstream1,20,rt); // permit transfer +// Dial(${HINT}/5245},20,rtT); // Use hint as listed +// switch(${DIALSTATUS}) { +// case BUSY: +// Voicemail(6245,b); +// return; +// default: +// Voicemail(6245,u); +// return; +// }; +// }; + +// 6361 => Dial(IAX2/JaneDoe,,rm); // ring without time limit +// 6389 => Dial(MGCP/aaln/1@192.168.0.14); +// 6394 => Dial(Local/6275/n); // this will dial ${MARK} + +// 6275 => &ael-stdexten(6275,${MARK}); // assuming ${MARK} is something like Zap/2 +// mark => goto 6275|1; // alias mark to 6275 +// 6536 => &ael-stdexten(6236,${WIL}); // Ditto for wil +// wil => goto 6236|1; +// +// Some other handy things are an extension for checking voicemail via +// voicemailmain +// +// 8500 => { +// VoicemailMain(); +// Hangup(); +// }; +// +// Or a conference room (you'll need to edit meetme.conf to enable this room) +// +// 8600 => Meetme(1234); +// +// Or playing an announcement to the called party, as soon it answers +// +// 8700 => Dial(${MARK},30,A(/path/to/my/announcemsg)) +// +// For more information on applications, just type "show applications" at your +// friendly Asterisk CLI prompt. +// +// 'show application <command>' will show details of how you +// use that particular application in this file, the dial plan. +// +} diff --git a/1.4.23-rc4/configs/extensions.conf.sample b/1.4.23-rc4/configs/extensions.conf.sample new file mode 100644 index 000000000..b7151f4c4 --- /dev/null +++ b/1.4.23-rc4/configs/extensions.conf.sample @@ -0,0 +1,614 @@ +; 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 +; - 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. +; +[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. +; +; XXX Not yet implemented XXX +; +static=yes +; +; if static=yes and writeprotect=no, you can save dialplan by +; CLI command "dialplan save" too +; +writeprotect=no +; +; If autofallthrough is set, then if an extension runs out of +; 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 +; (this is the original behavior of Asterisk 1.0 and earlier). +; +;autofallthrough=no +; +; If clearglobalvars is set, global variables will be cleared +; and reparsed on an extensions reload, or Asterisk reload. +; +; If clearglobalvars is not set, then global variables will persist +; through reloads, and even if deleted from the extensions.conf or +; one of its included files, will remain set to the previous value. +; +; NOTE: A complication sets in, if you put your global variables into +; the AEL file, instead of the extensions.conf file. With clearglobalvars +; set, a "reload" will often leave the globals vars cleared, because it +; is not unusual to have extensions.conf (which will have no globals) +; load after the extensions.ael file (where the global vars are stored). +; So, with "reload" in this particular situation, first the AEL file will +; clear and then set all the global vars, then, later, when the extensions.conf +; file is loaded, the global vars are all cleared, and then not set, because +; they are not stored in the extensions.conf file. +; +clearglobalvars=no +; +; If priorityjumping is set to 'yes', then applications that support +; 'jumping' to a different priority based on the result of their operations +; will do so (this is backwards compatible behavior with pre-1.2 releases +; of Asterisk). Individual applications can also be requested to do this +; by passing a 'j' option in their arguments. +; +;priorityjumping=yes +; +; User context is where entries from users.conf are registered. The +; default value is 'default' +; +;userscontext=default +; +; You can include other config files, use the #include command +; (without the ';'). Note that this is different from the "include" command +; that includes contexts within other contexts. The #include command works +; in all asterisk configuration files. +;#include "filename.conf" + +; The "Globals" category contains global variables that can be referenced +; in the dialplan with the GLOBAL dialplan function: +; ${GLOBAL(VARIABLE)} +; ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid +; Unix/Linux environmental variables can be reached with the ENV dialplan +; function: ${ENV(VARIABLE)} +; +[globals] +CONSOLE=Console/dsp ; Console interface for demo +;CONSOLE=Zap/1 +;CONSOLE=Phone/phone0 +IAXINFO=guest ; IAXtel username/password +;IAXINFO=myuser:mypass +TRUNK=Zap/G2 ; Trunk interface +; +; Note the 'G2' in the TRUNK variable above. It specifies which group (defined +; 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 Zap channel +; (aka. ascending sequential hunt group). +; G: select the highest-numbered non-busy Zap channel +; (aka. descending sequential hunt group). +; r: use a round-robin search, starting at the next highest channel than last +; time (aka. ascending rotary hunt group). +; R: use a round-robin search, starting at the next lowest channel than last +; time (aka. descending rotary hunt group). +; +TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) +;TRUNK=IAX2/user:pass@provider + +; +; 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 '_' +; character, it is interpreted as a pattern rather than a +; literal. In patterns, some characters have special meanings: +; +; X - any digit from 0-9 +; 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 +; 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, +; while _1NXXNXXXXXX would represent an area code plus phone number +; preceded by a one. +; +; Each step of an extension is ordered by priority, which must +; always start with 1 to be considered a valid extension. The priority +; "next" or "n" means the previous priority plus one, regardless of whether +; the previous priority was associated with the current extension or not. +; The priority "same" or "s" means the same as the previously specified +; priority, again regardless of whether the previous entry was for the +; same extension. Priorities may be immediately followed by a plus sign +; and another integer to add that amount (most useful with 's' or 'n'). +; Priorities may then also have an alias, or label, in +; parenthesis after their name which can be used in goto situations +; +; Contexts contain several lines, one for each step of each +; extension, which can take one of two forms as listed below, +; with the first form being preferred. +; +;[context] +;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...) +;exten => someexten,{priority|label{+|-}offset}[(alias)],application,arg1|arg2... +; +; Included Contexts +; +; One may include another context in the current one as well, optionally with a +; date and time. Included contexts are included in the order +; they are listed. +; The reason a context would include other contexts is for their +; extensions. +; The algorithm to find an extension is recursive, and works in this +; fashion: +; first, given a stack on which to store context references, +; push the context to find the extension onto the stack... +; a) Try to find a matching extension in the context at the top of +; the stack, and, if found, begin executing the priorities +; there in sequence. +; b) If not found, Search the switches, if any declared, in +; sequence. +; c) If still not found, for each include, push that context onto +; the top of the context stack, and recurse to a). +; d) If still not found, pop the entry from the top of the stack; +; if the stack is empty, the search has failed. If it's not, +; continue with the next context in c). +; This is a depth-first traversal, and stops with the first context +; that provides a matching extension. As usual, if more than one +; pattern in a context will match, the 'best' match will win. +; Please note that that extensions found in an included context are +; treated as if they were in the context from which the search began. +; The PBX's notion of the "current context" is not changed. +; Please note that in a context, it does not matter where an include +; directive occurs. Whether at the top, or near the bottom, the effect +; will be the same. The only thing that matters is that if there is +; more than one include directive, they will be searched for extensions +; in order, first to last. +; Also please note that pattern matches (like _9XX) are not treated +; any differently than exact matches (like 987). Also note that the +; order of extensions in a context have no affect on the outcome. +; +; Timing list for includes is +; +; <time range>|<days of week>|<days of month>|<months> +; +; Note that ranges may be specified to wrap around the ends. Also, minutes are +; fine-grained only down to the closest even minute. +; +;include => daytime|9:00-17:00|mon-fri|*|* +;include => weekend|*|sat-sun|*|* +;include => weeknights|17:02-8:58|mon-fri|*|* +; +; ignorepat can be used to instruct drivers to not cancel dialtone upon +; receipt of a particular pattern. The most commonly used example is +; of course '9' like this: +; +;ignorepat => 9 +; +; so that dialtone remains even after dialing a 9. +; + +; +; Sample entries for extensions.conf +; +; +[dundi-e164-canonical] +; +; List canonical entries here +; +;exten => 12564286000,1,Macro(stdexten,6000,IAX2/foo) +;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7}) + +[dundi-e164-customers] +; +; If you are an ITSP or Reseller, list your customers here. +; +;exten => _12564286000,1,Dial(SIP/customer1) +;exten => _12564286001,1,Dial(IAX2/customer2) + +[dundi-e164-via-pstn] +; +; If you are freely delivering calls to the PSTN, list them here +; +;exten => _1256428XXXX,1,Dial(Zap/G2/${EXTEN:7}) ; Expose all of 256-428 +;exten => _1256325XXXX,1,Dial(Zap/G2/${EXTEN:7}) ; Ditto for 256-325 + +[dundi-e164-local] +; +; Context to put your dundi IAX2 or SIP user in for +; full access +; +include => dundi-e164-canonical +include => dundi-e164-customers +include => dundi-e164-via-pstn + +[dundi-e164-switch] +; +; Just a wrapper for the switch +; +switch => DUNDi/e164 + +[dundi-e164-lookup] +; +; Locally to lookup, try looking for a local E.164 solution +; then try DUNDi if we don't have one. +; +include => dundi-e164-local +include => dundi-e164-switch +; +; DUNDi can also be implemented as a Macro instead of using +; the Local channel driver. +; +[macro-dundi-e164] +; +; ARG1 is the extension to Dial +; +; Extension "s" is not a wildcard extension that matches "anything". +; In macros, it is the start extension. In most other cases, +; you have to goto "s" to execute that extension. +; +; For wildcard matches, see above - all pattern matches start with +; an underscore. +exten => s,1,Goto(${ARG1},1) +include => dundi-e164-lookup + +; +; Here are the entries you need to participate in the IAXTEL +; call routing system. Most IAXTEL numbers begin with 1-700, but +; there are exceptions. For more information, and to sign +; up, please go to www.gnophone.com or www.iaxtel.com +; +[iaxtel700] +exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel) + +; +; The SWITCH statement permits a server to share the dialplan with +; another server. Use with care: Reciprocal switch statements are not +; allowed (e.g. both A -> B and B -> A), and the switched server needs +; to be on-line or else dialing can be severly delayed. +; +[iaxprovider] +;switch => IAX2/user:[key]@myserver/mycontext + +[trunkint] +; +; International long distance through trunk +; +exten => _9011.,1,Macro(dundi-e164,${EXTEN:4}) +exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) + +[trunkld] +; +; Long distance context accessed through trunk +; +exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1}) +exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) + +[trunklocal] +; +; Local seven-digit dialing accessed through trunk interface +; +exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) + +[trunktollfree] +; +; Long distance context accessed through trunk interface +; +exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) +exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) +exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) +exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}}) + +[international] +; +; Master context for international long distance +; +ignorepat => 9 +include => longdistance +include => trunkint + +[longdistance] +; +; Master context for long distance +; +ignorepat => 9 +include => local +include => trunkld + +[local] +; +; Master context for local, toll-free, and iaxtel calls only +; +ignorepat => 9 +include => default +include => trunklocal +include => iaxtel700 +include => trunktollfree +include => iaxprovider + +;Include parkedcalls (or the context you define in features conf) +;to enable call parking. +include => parkedcalls +; +; You can use an alternative switch type as well, to resolve +; extensions that are not known here, for example with remote +; IAX switching you transparently get access to the remote +; Asterisk PBX +; +; switch => IAX2/user:password@bigserver/local +; +; An "lswitch" is like a switch but is literal, in that +; variable substitution is not performed at load time +; but is passed to the switch directly (presumably to +; be substituted in the switch routine itself) +; +; lswitch => Loopback/12${EXTEN}@othercontext +; +; An "eswitch" is like a switch but the evaluation of +; variable substitution is performed at runtime before +; being passed to the switch routine. +; +; eswitch => IAX2/context@${CURSERVER} + +[macro-trunkdial] +; +; Standard trunk dial macro (hangs up on a dialstatus that should +; terminate call) +; ${ARG1} - What to dial +; +exten => s,1,Dial(${ARG1}) +exten => s,n,Goto(s-${DIALSTATUS},1) +exten => s-NOANSWER,1,Hangup +exten => s-BUSY,1,Hangup +exten => _s-.,1,NoOp + +[macro-stdexten]; +; +; Standard extension macro: +; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well +; ${ARG2} - Device(s) to ring +; +exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum +exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) + +exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce +exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start + +exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce +exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start + +exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer + +exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain + +[macro-stdPrivacyexten]; +; +; Standard extension macro: +; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well +; ${ARG2} - Device(s) to ring +; ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority) +; ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)` +; +exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening + ; option (or use P for databased call screening) +exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) + +exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce +exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start + +exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce +exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start + +exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script. + +exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script. + +exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer + +exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain + +[macro-page]; +; +; Paging macro: +; +; Check to see if SIP device is in use and DO NOT PAGE if they are +; +; ${ARG1} - Device to page + +exten => s,1,ChanIsAvail(${ARG1}|js) ; j is for Jump and s is for ANY call +exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail) +exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs +exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others +exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!! +exten => s,n,Dial(${ARG1}||) +exten => s,n(fail),Hangup + + +[demo] +; +; We start with what to do when a call first comes in. +; +exten => s,1,Wait(1) ; Wait a second, just for fun +exten => s,n,Answer ; Answer the line +exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds +exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds +exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message +exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions +exten => s,n,WaitExten ; Wait for an extension to be dialed. + +exten => 2,1,BackGround(demo-moreinfo) ; Give some more information. +exten => 2,n,Goto(s,instruct) + +exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french +exten => 3,n,Goto(s,restart) ; Start with the congratulations + +exten => 1000,1,Goto(default,s,1) +; +; We also create an example user, 1234, who is on the console and has +; voicemail, etc. +; +exten => 1234,1,Playback(transfer,skip) ; "Please hold while..." + ; (but skip if channel is not up) +exten => 1234,n,Macro(stdexten,1234,${GLOBAL(CONSOLE)}) + +exten => 1235,1,Voicemail(1234,u) ; Right to voicemail + +exten => 1236,1,Dial(Console/dsp) ; Ring forever +exten => 1236,n,Voicemail(1234,b) ; Unless busy + +; +; # for when they're done with the demo +; +exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo" +exten => #,n,Hangup ; Hang them up. + +; +; A timeout and "invalid extension rule" +; +exten => t,1,Goto(#,1) ; If they take too long, give up +exten => i,1,Playback(invalid) ; "That's not valid, try again" + +; +; Create an extension, 500, for dialing the +; Asterisk demo. +; +exten => 500,1,Playback(demo-abouttotry); Let them know what's going on +exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default) ; Call the Asterisk demo +exten => 500,n,Playback(demo-nogo) ; Couldn't connect to the demo site +exten => 500,n,Goto(s,6) ; Return to the start over message. + +; +; Create an extension, 600, for evaluating echo latency. +; +exten => 600,1,Playback(demo-echotest) ; Let them know what's going on +exten => 600,n,Echo ; Do the echo test +exten => 600,n,Playback(demo-echodone) ; Let them know it's over +exten => 600,n,Goto(s,6) ; Start over + +; +; You can use the Macro Page to intercom a individual user +exten => 76245,1,Macro(page,SIP/Grandstream1) +; or if your peernames are the same as extensions +exten => _7XXX,1,Macro(page,SIP/${EXTEN}) +; +; +; System Wide Page at extension 7999 +; +exten => 7999,1,Set(TIMEOUT(absolute)=60) +exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n|d) + +; Give voicemail at extension 8500 +; +exten => 8500,1,VoicemailMain +exten => 8500,n,Goto(s,6) +; +; Here's what a phone entry would look like (IXJ for example) +; +;exten => 1265,1,Dial(Phone/phone0,15) +;exten => 1265,n,Goto(s,5) + +; +; The page context calls up the page macro that sets variables needed for auto-answer +; It is in is own context to make calling it from the Page() application as simple as +; Local/{peername}@page +; +[page] +exten => _X.,1,Macro(page,SIP/${EXTEN}) + +;[mainmenu] +; +; Example "main menu" context with submenu +; +;exten => s,1,Answer +;exten => s,n,Background(thanks) ; "Thanks for calling press 1 for sales, 2 for support, ..." +;exten => s,n,WaitExten +;exten => 1,1,Goto(submenu,s,1) +;exten => 2,1,Hangup +;include => default +; +;[submenu] +;exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback +;exten => s,n,Wait,2 +;exten => s,n,Background(submenuopts) ; "Thanks for calling the sales department. Press 1 for steve, 2 for..." +;exten => s,n,WaitExten +;exten => 1,1,Goto(default,steve,1) +;exten => 2,1,Goto(default,mark,2) + +[default] +; +; By default we include the demo. In a production system, you +; probably don't want to have the demo there. +; +include => demo + +; +; An extension like the one below can be used for FWD, Nikotel, sipgate etc. +; Note that you must have a [sipprovider] section in sip.conf +; +;exten => _41X.,1,Dial(SIP/${EXTEN:2}@sipprovider,,r) + +; Real extensions would go here. Generally you want real extensions to be +; 4 or 5 digits long (although there is no such requirement) and start with a +; single digit that is fairly large (like 6 or 7) so that you have plenty of +; room to overlap extensions and menu options without conflict. You can alias +; them with names, too, and use global variables + +;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1,Joe Schmoe ; Channel hints for presence +;exten => 6245,1,Dial(SIP/Grandstream1,20,rt) ; permit transfer +;exten => 6245,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed +;exten => 6245,n,Voicemail(6245,u) ; Voicemail (unavailable) +;exten => 6245,s+1,Hangup ; s+1, same as n +;exten => 6245,dial+101,Voicemail(6245,b) ; Voicemail (busy) +;exten => 6361,1,Dial(IAX2/JaneDoe,,rm) ; ring without time limit +;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14) +;exten => 6390,1,Dial(JINGLE/caller/callee) ; Dial via jingle using labels +;exten => 6391,1,Dial(JINGLE/asterisk@digium.com/mogorman@astjab.org) ;Dial via jingle using asterisk as the transport and calling mogorman. +;exten => 6394,1,Dial(Local/6275/n) ; this will dial ${MARK} + +;exten => 6275,1,Macro(stdexten,6275,${MARK}) ; assuming ${MARK} is something like Zap/2 +;exten => mark,1,Goto(6275|1) ; alias mark to 6275 +;exten => 6536,1,Macro(stdexten,6236,${WIL}) ; Ditto for wil +;exten => wil,1,Goto(6236|1) + +;If you want to subscribe to the status of a parking space, this is +;how you do it. Subscribe to extension 6600 in sip, and you will see +;the status of the first parking lot with this extensions' help +;exten => 6600,hint,park:701@parkedcalls +;exten => 6600,1,noop +; +; Some other handy things are an extension for checking voicemail via +; voicemailmain +; +;exten => 8500,1,VoicemailMain +;exten => 8500,n,Hangup +; +; Or a conference room (you'll need to edit meetme.conf to enable this room) +; +;exten => 8600,1,Meetme(1234) +; +; Or playing an announcement to the called party, as soon it answers +; +;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg)) +; +; For more information on applications, just type "core show applications" at your +; friendly Asterisk CLI prompt. +; +; "core show application <command>" will show details of how you +; use that particular application in this file, the dial plan. +; "core show functions" will list all dialplan functions +; "core show function <COMMAND>" will show you more information about +; one function. Remember that function names are UPPER CASE. diff --git a/1.4.23-rc4/configs/features.conf.sample b/1.4.23-rc4/configs/features.conf.sample new file mode 100644 index 000000000..1d574c990 --- /dev/null +++ b/1.4.23-rc4/configs/features.conf.sample @@ -0,0 +1,100 @@ +; +; Sample Call Features (parking, transfer, etc) configuration +; + +[general] +parkext => 700 ; What extension to dial to park +parkpos => 701-720 ; What extensions to park calls on. These needs to be + ; numeric, as Asterisk starts from the start position + ; and increments with one for the next parked call. +context => parkedcalls ; Which context parked calls are in +;parkingtime => 45 ; Number of seconds a call can be parked for + ; (default is 45 seconds) +;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 + ; one of: parked, caller, both (default is caller) +;parkedcalltransfers = caller ; Enables or disables DTMF based transfers when picking up a parked call. + ; one of: callee, caller, both, no (default is both) +;adsipark = yes ; if you want ADSI parking announcements +;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 + ; using Set(CHANNEL(musicclass)=whatever) in the dialplan + +;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call + ; (default is 3 seconds) +;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 = 500 ; Max time (ms) between digits for + ; feature activation (default is 500 ms) +;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds. + +; Note that the DTMF features listed below only work when two channels have answered and are bridged together. +; They can not be used while the remote party is ringing or in progress. If you require this feature you can use +; chan_local in combination with Answer to accomplish it. + +[featuremap] +;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call! +;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call! +;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call! +;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call! +;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or K option in the Dial() app call! + +[applicationmap] +; Note that the DYNAMIC_FEATURES channel variable must be set to use the features +; defined here. The value of DYNAMIC_FEATURES should be the names of the features +; to allow the channel to use separated by '#'. For example: +; +; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3) +; +; (Note: The two leading underscores allow these feature settings to be set on +; on the outbound channels, as well. Otherwise, only the original channel +; will have access to these features.) +; +; The syntax for declaring a dynamic feature is the following: +; +;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]] +; +; FeatureName -> This is the name of the feature used in when setting the +; DYNAMIC_FEATURES variable to enable usage of this feature. +; DTMF_sequence -> This is the key sequence used to activate this feature. +; ActivateOn -> This is the channel of the call that the application will be executed +; on. Valid values are "self" and "peer". "self" means run the +; application on the same channel that activated the feature. "peer" +; means run the application on the opposite channel from the one that +; has activated the feature. +; ActivatedBy -> This is which channel is allowed to activate this feature. Valid +; values are "caller", "callee", and "both". "both" is the default. +; The "caller" is the channel that executed the Dial application, while +; the "callee" is the channel called by the Dial application. +; Application -> This is the application to execute. +; AppArguments -> These are the arguments to be passed into the application. +; MOH_Class -> This is the music on hold class to play while the idle +; channel waits for the feature to complete. If left blank, +; no music will be played. +; +; +; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk +; applications. When applications are used in extensions.conf, they are executed +; by the PBX core. In this case, these applications are executed outside of the +; PBX core, so it does *not* make sense to use any application which has any +; concept of dialplan flow. Examples of this would be things like Macro, Goto, +; Background, WaitExten, and many more. +; +; Enabling these features means that the PBX needs to stay in the media flow and +; media will not be re-directed if DTMF is sent in the media stream. +; +; Example Usage: +; +;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play +; ;tt-monkeys to the opposite channel +; +;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring +; ;on their channel +;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring +; ;on their channel +; diff --git a/1.4.23-rc4/configs/festival.conf.sample b/1.4.23-rc4/configs/festival.conf.sample new file mode 100644 index 000000000..774f1a16c --- /dev/null +++ b/1.4.23-rc4/configs/festival.conf.sample @@ -0,0 +1,35 @@ +; +; Festival Configuration +; +[general] +; +; Host which runs the festival server (default : localhost); +; +;host=localhost +; +; Port on host where the festival server runs (default : 1314) +; +;port=1314 +; +; Use cache (yes, no - defaults to no) +; +;usecache=yes +; +; If usecache=yes, a directory to store waveform cache files. +; The cache is never cleared (yet), so you must take care of cleaning it +; yourself (just delete any or all files from the cache). +; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process. +; Defaults to /tmp/ +; +;cachedir=/var/lib/asterisk/festivalcache/ +; +; Festival command to send to the server. +; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n +; %s is replaced by the desired text to say. The command MUST end with a +; (quit) directive, or the cache handling mechanism will hang. Do not +; forget the \n at the end. +; +;festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n +; +; + diff --git a/1.4.23-rc4/configs/followme.conf.sample b/1.4.23-rc4/configs/followme.conf.sample new file mode 100644 index 000000000..697e5a69c --- /dev/null +++ b/1.4.23-rc4/configs/followme.conf.sample @@ -0,0 +1,86 @@ +; Find-Me / Follow-Me Configuration File +[general] +; +featuredigittimeout=>5000 +; The number of ms to wait for a digit input for the callee on whether to take the call or +; not before we consider them "done" entering digits. +; +takecall=>1 +; The global default keypress for the callee to take taking the current call. This can be +; a single digit or multiple digits. Default is "1". +; +declinecall=>2 +; The global default keypress for the callee to decline taking the current call. This can +; be a single digit or multiple digits. Default is "2". +; +call-from-prompt=>followme/call-from +; The global default for the 'Incoming call from' message. +; +norecording-prompt=>followme/no-recording +; The global default for the 'You have an incoming call' message when the caller elects +; not to leave their name or the option isn't set for them to do so. +; +options-prompt=>followme/options +; The global default for the 'Press 1 to accept this call or press 2 to decline it' message. +; +pls-hold-prompt=>followme/pls-hold-while-try +; The global default for 'Please hold while we try and connect your call' message. +; +status-prompt=>followme/status +; The global default for 'The party you're calling isn't at their desk' message. +; +sorry-prompt=>followme/sorry +; The global default for 'I'm sorry, but we were unable to locate your party' message. +; +; +[default] +musicclass=>default +; The moh class that should be used for the caller while they are waiting to be connected. +context=>default +; The context to dial the numbers from +number=>01233456,25 +; The a follow-me number to call. The format is: +; number=> <number to call[&2nd #[&3rd #]]> [, <timeout value in seconds> [, <order in follow-me>] ] +; You can specify as many of these numbers as you like. They will be dialed in the +; order that you specify them in the config file OR as specified with the order field +; on the number prompt. As you can see from the example, forked dialing of multiple +; numbers in the same step is supported with this application if you'd like to dial +; multiple numbers in the same followme step. +; It's also important to note that the timeout value is not the same +; as the timeout value you would use in app_dial. This timeout value is the amount of +; time allowed between the time the dialing step starts and the callee makes a choice +; on whether to take the call or not. That being the case, you may want to account for +; this time, and make this timeout longer than a timeout you might specify in app_dial. +takecall=>1 +; The keypress for the callee to take taking the current call. This can be +; a single digit or multiple digits. Default is the global default. +; +declinecall=>2 +; The keypress for the callee to decline taking the current call. This can +; be a single digit or multiple digits. Default is the global default. +; +call-from-prompt=>followme/call-from +; The 'Incoming call from' message prompt. Default is the global default. +; +followme-norecording-prompt=>followme/no-recording +; The 'You have an incoming call' message prompt when the caller elects +; not to leave their name or the option isn't set for them to do so. Default +; is the global default. +; +followme-options-prompt=>followme/options +; The 'Press 1 to accept this call or press 2 to decline it' message prompt. +; Default is the global default. +; +followme-pls-hold-prompt=>followme/pls-hold-while-try +; The 'Please hold while we try and connect your call' message prompt. +; Default is the global default. +; +followme-status-prompt=>followme/status +; The 'The party you're calling isn't at their desk' message prompt. +; Default is the global default. +; +followme-sorry-prompt=>followme/sorry +; The 'I'm sorry, but we were unable to locate your party' message prompt. Default +; is the global default. + + diff --git a/1.4.23-rc4/configs/func_odbc.conf.sample b/1.4.23-rc4/configs/func_odbc.conf.sample new file mode 100644 index 000000000..c9f9d5d7f --- /dev/null +++ b/1.4.23-rc4/configs/func_odbc.conf.sample @@ -0,0 +1,41 @@ +; +; func_odbc.conf +; +; Each context is a separately defined function. By convention, all +; functions are entirely uppercase, so the defined contexts should also +; be all-uppercase, but there is nothing that enforces this. All functions +; are case-sensitive, however. +; +; For substitution, you have ${ARG1}, ${ARG2} ... ${ARGn} +; for the arguments to each SQL statement. +; +; In addition, for write statements, you have ${VAL1}, ${VAL2} ... ${VALn} +; parsed, just like arguments, for the values. In addition, if you want the +; whole value, never mind the parsing, you can get that with ${VALUE}. +; +; +; If you have data which may potentially contain single ticks, you may wish +; to use the dialplan function SQL_ESC() to escape the data prior to its +; inclusion in the SQL statement. + + +; ODBC_SQL - Allow an SQL statement to be built entirely in the dialplan +[SQL] +dsn=mysql1 +read=${ARG1} + +; ODBC_ANTIGF - A blacklist. +[ANTIGF] +dsn=mysql1 +read=SELECT COUNT(*) FROM exgirlfriends WHERE callerid='${SQL_ESC(${ARG1})}' + +; ODBC_PRESENCE - Retrieve and update presence +[PRESENCE] +dsn=mysql1 +read=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}' +write=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}' +;prefix=OFFICE ; Changes this function from ODBC_PRESENCE to OFFICE_PRESENCE +;escapecommas=no ; Normally, commas within a field are escaped such that each + ; field may be separated into individual variables with ARRAY. + ; This option turns that behavior off [default=yes]. + diff --git a/1.4.23-rc4/configs/gtalk.conf.sample b/1.4.23-rc4/configs/gtalk.conf.sample new file mode 100644 index 000000000..da629b626 --- /dev/null +++ b/1.4.23-rc4/configs/gtalk.conf.sample @@ -0,0 +1,19 @@ +;[general] +;context=default ;;Context to dump call into +;allowguest=yes ;;Allow calls from people not in + ;;list of peers +; +;[guest] ;;special account for options on guest account +;disallow=all +;allow=ulaw +;context=guest +; +;[ogorman] +;username=ogorman@gmail.com ;;username of the peer your + ;;calling or accepting calls from +;disallow=all +;allow=ulaw +;context=default +;connection=asterisk ;;client or component in jabber.conf + ;;for the call to leave on. +; diff --git a/1.4.23-rc4/configs/h323.conf.sample b/1.4.23-rc4/configs/h323.conf.sample new file mode 100644 index 000000000..4b558ec0b --- /dev/null +++ b/1.4.23-rc4/configs/h323.conf.sample @@ -0,0 +1,193 @@ +; The NuFone Network's +; Open H.323 driver configuration +; +[general] +port = 1720 +;bindaddr = 1.2.3.4 ; this SHALL contain a single, valid IP address for this machine +;tos=lowdelay +; +; You may specify a global default AMA flag for iaxtel calls. It must be +; one of 'default', 'omit', 'billing', or 'documentation'. These flags +; are used in the generation of call detail records. +; +;amaflags = default +; +; You may specify a default account for Call Detail Records in addition +; to specifying on a per-user basis +; +;accountcode=lss0101 +; +; You can fine tune codecs here using "allow" and "disallow" clauses +; with specific codecs. Use "all" to represent all formats. +; +;disallow=all +;allow=all ; turns on all installed codecs +;disallow=g723.1 ; Hm... Proprietary, don't use it... +;allow=gsm ; Always allow GSM, it's cool :) +;allow=ulaw ; see doc/rtp-packetization for framing options +; +; User-Input Mode (DTMF) +; +; valid entries are: rfc2833, inband +; default is rfc2833 +;dtmfmode=rfc2833 +; +; Default RTP Payload to send RFC2833 DTMF on. This is used to +; interoperate with broken gateways which cannot successfully +; negotiate a RFC2833 payload type in the TerminalCapabilitySet. +; +; You may also specify on either a per-peer or per-user basis below. +;dtmfcodec=101 +; +; Set the gatekeeper +; DISCOVER - Find the Gk address using multicast +; DISABLE - Disable the use of a GK +; <IP address> or <Host name> - The acutal IP address or hostname of your GK +;gatekeeper = DISABLE +; +; +; Tell Asterisk whether or not to accept Gatekeeper +; routed calls or not. Normally this should always +; be set to yes, unless you want to have finer control +; over which users are allowed access to Asterisk. +; Default: YES +; +;AllowGKRouted = yes +; +; When the channel works without gatekeeper, there is possible to +; reject calls from anonymous (not listed in users) callers. +; Default is to allow anonymous calls. +; +;AcceptAnonymous = yes +; +; Optionally you can determine a user by Source IP versus its H.323 alias. +; Default behavour is to determine user by H.323 alias. +; +;UserByAlias=no +; +; Default context gets used in siutations where you are using +; the GK routed model or no type=user was found. This gives you +; the ability to either play an invalid message or to simply not +; use user authentication at all. +; +;context=default +; +; Use this option to help Cisco (or other) gateways to setup backward voice +; path to pass inband tones to calling user (see, for example, +; http://www.cisco.com/warp/public/788/voip/ringback.html) +; +; Add PROGRESS information element to SETUP message sent on outbound calls +; to notify about required backward voice path. Valid values are: +; 0 - don't add PROGRESS information element (default); +; 1 - call is not end-end ISDN, further call progress information can +; possibly be available in-band; +; 3 - origination address is non-ISDN (Cisco accepts this value only); +; 8 - in-band information or an appropriate pattern is now available; +;progress_setup = 3 +; +; Add PROGRESS information element (IE) to ALERT message sent on incoming +; calls to notify about required backwared voice path. Valid values are: +; 0 - don't add PROGRESS IE (default); +; 8 - in-band information or an appropriate pattern is now available; +;progress_alert = 8 +; +; Generate PROGRESS message when H.323 audio path has established to create +; backward audio path at other end of a call. +;progress_audio = yes +; +; Specify how to inject non-standard information into H.323 messages. When +; the channel receives messages with tunneled information, it automatically +; enables the same option for all further outgoing messages independedly on +; options has been set by the configuration. This behavior is required, for +; example, for Cisco CallManager when Q.SIG tunneling is enabled for a +; gateway where Asterisk lives. +; The option can be used multiple times, one option per line. +;tunneling=none ; Totally disable tunneling (default) +;tunneling=cisco ; Enable Cisco-specific tunneling +;tunneling=qsig ; Enable tunneling via Q.SIG messages +; +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; H323 channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The H323 channel can accept jitter, + ; thus an enabled jitterbuffer on the receive H323 side will only + ; be used if the sending side can create jitter and jbforce is + ; also set to yes. + +; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a H323 + ; channel. Defaults to "no". + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usualy sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a H323 + ; channel. Two implementations are currenlty available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- +; +; H.323 Alias definitions +; +; Type 'h323' will register aliases to the endpoint +; and Gatekeeper, if there is one. +; +; Example: if someone calls time@your.asterisk.box.com +; Asterisk will send the call to the extension 'time' +; in the context default +; +; [default] +; exten => time,1,Answer +; exten => time,2,Playback,current-time +; +; Keyword's 'prefix' and 'e164' are only make sense when +; used with a gatekeeper. You can specify either a prefix +; or E.164 this endpoint is responsible for terminating. +; +; Example: The H.323 alias 'det-gw' will tell the gatekeeper +; to route any call with the prefix 1248 to this alias. Keyword +; e164 is used when you want to specifiy a full telephone +; number. So a call to the number 18102341212 would be +; routed to the H.323 alias 'time'. +; +;[time] +;type=h323 +;e164=18102341212 +;context=default +; +;[det-gw] +;type=h323 +;prefix=1248,1313 +;context=detroit +; +; +; Inbound H.323 calls from BillyBob would land in the incoming +; context with a maximum of 4 concurrent incoming calls +; +; +; Note: If keyword 'incominglimit' are omitted Asterisk will not +; enforce any maximum number of concurrent calls. +; +;[BillyBob] +;type=user +;host=192.168.1.1 +;context=incoming +;incominglimit=4 +;h245Tunneling=no +; +; +; Outbound H.323 call to Larry using SlowStart +; +;[Larry] +;type=peer +;host=192.168.2.1 +;fastStart=no + + + diff --git a/1.4.23-rc4/configs/http.conf.sample b/1.4.23-rc4/configs/http.conf.sample new file mode 100644 index 000000000..f8a86f85a --- /dev/null +++ b/1.4.23-rc4/configs/http.conf.sample @@ -0,0 +1,40 @@ +; +; Asterisk Builtin mini-HTTP server +; +; +[general] +; +; Whether HTTP interface is enabled or not. Default is no. +; +;enabled=yes +; +; Whether Asterisk should serve static content from http-static +; Default is no. +; +;enablestatic=yes +; +; Address to bind to. Default is 0.0.0.0 +; +bindaddr=127.0.0.1 +; +; Port to bind to (default is 8088) +; +bindport=8088 +; +; Prefix allows you to specify a prefix for all requests +; to the server. The default is "asterisk" so that all +; requests must begin with /asterisk +; +;prefix=asterisk + +; The post_mappings section maps URLs to real paths on the filesystem. If a +; POST is done from within an authenticated manager session to one of the +; configured POST mappings, then any files in the POST will be placed in the +; configured directory. +; +;[post_mappings] +; +; In this example, if the prefix option is set to "asterisk", then using the +; POST URL: /asterisk/uploads will put files in /var/lib/asterisk/uploads/. +;uploads = /var/lib/asterisk/uploads/ +; diff --git a/1.4.23-rc4/configs/iax.conf.sample b/1.4.23-rc4/configs/iax.conf.sample new file mode 100644 index 000000000..9fae9e970 --- /dev/null +++ b/1.4.23-rc4/configs/iax.conf.sample @@ -0,0 +1,416 @@ + +; Inter-Asterisk eXchange driver definition +; +; This configuration is re-read at reload +; or with the CLI command +; reload chan_iax2.so +; +; General settings, like port number to bind to, and +; an option address (the default is to bind to all +; local addresses). +; +[general] +;bindport=4569 ; bindport and bindaddr may be specified +; ; NOTE: bindport must be specified BEFORE + ; bindaddr or may be specified on a specific + ; bindaddr if followed by colon and port + ; (e.g. bindaddr=192.168.0.1:4569) +;bindaddr=192.168.0.1 ; more than once to bind to multiple +; ; addresses, but the first will be the +; ; default +; +; Set iaxcompat to yes if you plan to use layered switches or +; some other scenario which may cause some delay when doing a +; lookup in the dialplan. It incurs a small performance hit to +; enable it. This option causes Asterisk to spawn a separate thread +; when it receives an IAX DPREQ (Dialplan Request) instead of +; blocking while it waits for a response. +; +;iaxcompat=yes +; +; Disable UDP checksums (if nochecksums is set, then no checkums will +; be calculated/checked on systems supporting this feature) +; +;nochecksums=no +; +; +; For increased security against brute force password attacks +; enable "delayreject" which will delay the sending of authentication +; reject for REGREQ or AUTHREP if there is a password. +; +;delayreject=yes +; +; You may specify a global default AMA flag for iaxtel calls. It must be +; one of 'default', 'omit', 'billing', or 'documentation'. These flags +; are used in the generation of call detail records. +; +;amaflags=default +; +; ADSI (Analog Display Services Interface) can be enabled if you have +; (or may have) ADSI compatible CPE equipment +; +;adsi=no +; +; You may specify a default account for Call Detail Records in addition +; to specifying on a per-user basis +; +;accountcode=lss0101 +; +; You may specify a global default language for users. +; Can be specified also on a per-user basis +; If omitted, will fallback to english +; +;language=en +; +; This option specifies a preference for which music on hold class this channel +; should listen to when put on hold if the music class has not been set on the +; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer +; channel putting this one on hold did not suggest a music class. +; +; If this option is set to "passthrough", then the hold message will always be +; passed through as signalling instead of generating hold music locally. +; +; This option may be specified globally, or on a per-user or per-peer basis. +; +;mohinterpret=default +; +; This option specifies which music on hold class to suggest to the peer channel +; when this channel places the peer on hold. It may be specified globally or on +; a per-user or per-peer basis. +; +;mohsuggest=default +; +; Specify bandwidth of low, medium, or high to control which codecs are used +; in general. +; +bandwidth=low +; +; You can also fine tune codecs here using "allow" and "disallow" clauses +; with specific codecs. Use "all" to represent all formats. +; +;allow=all ; same as bandwidth=high +;disallow=g723.1 ; Hm... Proprietary, don't use it... +disallow=lpc10 ; Icky sound quality... Mr. Roboto. +;allow=gsm ; Always allow GSM, it's cool :) +; + +; You can adjust several parameters relating to the jitter buffer. +; The jitter buffer's function is to compensate for varying +; network delay. +; +; All the jitter buffer settings are in milliseconds. +; The jitter buffer works for INCOMING audio - the outbound audio +; will be dejittered by the jitter buffer at the other end. +; +; jitterbuffer=yes|no: global default as to whether you want +; the jitter buffer at all. +; +; forcejitterbuffer=yes|no: in the ideal world, when we bridge VoIP channels +; we don't want to do jitterbuffering on the switch, since the endpoints +; can each handle this. However, some endpoints may have poor jitterbuffers +; themselves, so this option will force * to always jitterbuffer, even in this +; case. +; +; maxjitterbuffer: a maximum size for the jitter buffer. +; Setting a reasonable maximum here will prevent the call delay +; from rising to silly values in extreme situations; you'll hear +; SOMETHING, even though it will be jittery. +; +; resyncthreshold: when the jitterbuffer notices a significant change in delay +; that continues over a few frames, it will resync, assuming that the change in +; delay was caused by a timestamping mix-up. The threshold for noticing a +; change in delay is measured as twice the measured jitter plus this resync +; threshold. +; Resyncing can be disabled by setting this parameter to -1. +; +; maxjitterinterps: the maximum number of interpolation frames the jitterbuffer +; should return in a row. Since some clients do not send CNG/DTX frames to +; indicate silence, the jitterbuffer will assume silence has begun after +; returning this many interpolations. This prevents interpolating throughout +; a long silence. +; + +jitterbuffer=no +forcejitterbuffer=no +;maxjitterbuffer=1000 +;maxjitterinterps=10 +;resyncthreshold=1000 + +;trunkfreq=20 ; How frequently to send trunk msgs (in ms) + +; Should we send timestamps for the individual sub-frames within trunk frames? +; There is a small bandwidth use for these (less than 1kbps/call), but they +; ensure that frame timestamps get sent end-to-end properly. If both ends of +; all your trunks go directly to TDM, _and_ your trunkfreq equals the frame +; length for your codecs, you can probably suppress these. The receiver must +; also support this feature, although they do not also need to have it enabled. +; +; trunktimestamps=yes +; +; Minimum and maximum amounts of time that IAX peers can request as +; a registration expiration interval (in seconds). +; minregexpire = 60 +; maxregexpire = 60 +; +; IAX helper threads +; Establishes the number of iax helper threads to handle I/O. +; iaxthreadcount = 10 +; Establishes the number of extra dynamic threads that may be spawned to handle I/O +; iaxmaxthreadcount = 100 +; +; We can register with another IAX server to let him know where we are +; in case we have a dynamic IP address for example +; +; Register with tormenta using username marko and password secretpass +; +;register => marko:secretpass@tormenta.linux-support.net +; +; Register joe at remote host with no password +; +;register => joe@remotehost:5656 +; +; Register marko at tormenta.linux-support.net using RSA key "torkey" +; +;register => marko:[torkey]@tormenta.linux-support.net +; +; Sample Registration for iaxtel +; +; Visit http://www.iaxtel.com to register with iaxtel. Replace "user" +; and "pass" with your username and password for iaxtel. Incoming +; calls arrive at the "s" extension of "default" context. +; +;register => user:pass@iaxtel.com +; +; Sample Registration for IAX + FWD +; +; To register using IAX with FWD, it must be enabled by visiting the URL +; http://www.fwdnet.net/index.php?section_id=112 +; +; Note that you need an extension in you default context which matches +; your free world dialup number. Please replace "FWDNumber" with your +; FWD number and "passwd" with your password. +; +;register => FWDNumber:passwd@iax.fwdnet.net +; +; +; You can disable authentication debugging to reduce the amount of +; debugging traffic. +; +;authdebug=no +; +; See doc/ip-tos.txt for a description of the tos parameters. +;tos=ef +; +; 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. The actual extension is the 'regexten' parameter of the registering +; peer or its name if 'regexten' is not provided. More than one regexten +; may be supplied if they are separated by '&'. Patterns may be used in +; regexten. +; +;regcontext=iaxregistrations +; +; If we don't get ACK to our NEW within 2000ms, and autokill is set to yes, +; then we cancel the whole thing (that's enough time for one retransmission +; only). This is used to keep things from stalling for a long time for a host +; that is not available, but would be ill advised for bad connections. In +; addition to 'yes' or 'no' you can also specify a number of milliseconds. +; See 'qualify' for individual peers to turn on for just a specific peer. +; +autokill=yes +; +; codecpriority controls the codec negotiation of an inbound IAX call. +; This option is inherited to all user entities. It can also be defined +; in each user entity separately which will override the setting in general. +; +; The valid values are: +; +; caller - Consider the callers preferred order ahead of the host's. +; host - Consider the host's preferred order ahead of the caller's. +; disabled - Disable the consideration of codec preference altogether. +; (this is the original behaviour before preferences were added) +; reqonly - Same as disabled, only do not consider capabilities if +; the requested format is not available the call will only +; be accepted if the requested format is available. +; +; The default value is 'host' +; +;codecpriority=host +; +; allowfwdownload controls whether this host will serve out firmware to +; IAX clients which request it. This has only been used for the IAXy, +; and it has been recently proven that this firmware distribution method +; can be used as a source of traffic amplification attacks. Also, the +; IAXy firmware has not been updated for at least 18 months, so unless +; you are provisioning IAXys in a secure network, we recommend that you +; leave this option to the default, off. +; +;allowfwdownload=yes + +;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list + ; just like friends added from the config file only on a + ; as-needed basis? (yes|no) + +;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) + ; If set to yes, when a IAX2 peer registers successfully, + ; the ip address, the origination port, the registration period, + ; and the username of the peer will be set to database via realtime. + ; If not present, defaults to 'yes'. + +;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule + ; as if it had just registered? (yes|no|<seconds>) + ; If set to yes, when the registration expires, the friend will + ; vanish from the configuration until requested again. + ; If set to an integer, friends expire within this number of + ; seconds instead of the registration interval. + +;rtignoreregexpire=yes ; When reading a peer from Realtime, if the peer's registration + ; has expired based on its registration interval, used the stored + ; address information regardless. (yes|no) + +; Guest sections for unauthenticated connection attempts. Just specify an +; empty secret, or provide no secret section. +; +[guest] +type=user +context=default +callerid="Guest IAX User" + +; +; Trust Caller*ID Coming from iaxtel.com +; +[iaxtel] +type=user +context=default +auth=rsa +inkeys=iaxtel + +; +; Trust Caller*ID Coming from iax.fwdnet.net +; +[iaxfwd] +type=user +context=default +auth=rsa +inkeys=freeworlddialup + +; +; Trust callerid delivered over DUNDi/e164 +; +; +;[dundi] +;type=user +;dbsecret=dundi/secret +;context=dundi-e164-local + +; +; Further user sections may be added, specifying a context and a secret used +; for connections with that given authentication name. Limited IP based +; access control is allowed by use of "allow" and "deny" keywords. Multiple +; rules are permitted. Multiple permitted contexts may be specified, in +; which case the first will be the default. You can also override caller*ID +; so that when you receive a call you set the Caller*ID to be what you want +; instead of trusting what the remote user provides +; +; There are three authentication methods that are supported: md5, plaintext, +; and rsa. The least secure is "plaintext", which sends passwords cleartext +; across the net. "md5" uses a challenge/response md5 sum arrangement, but +; still requires both ends have plain text access to the secret. "rsa" allows +; unidirectional secret knowledge through public/private keys. If "rsa" +; authentication is used, "inkeys" is a list of acceptable public keys on the +; local system that can be used to authenticate the remote peer, separated by +; the ":" character. "outkey" is a single, private key to use to authenticate +; to the other side. Public keys are named /var/lib/asterisk/keys/<name>.pub +; while private keys are named /var/lib/asterisk/keys/<name>.key. Private +; keys should always be 3DES encrypted. +; +; +; NOTE: All hostnames and IP addresses in this file are for example purposes +; only; you should not expect any of them to actually be available for +; your use. +; +; +;[markster] +;type=user +;context=default +;context=local +;auth=md5,plaintext,rsa +;secret=markpasswd +;setvar=foo=bar +;dbsecret=mysecrets/place ; Secrets can be stored in astdb, too +;transfer=no ; Disable IAX native transfer +;transfer=mediaonly ; When doing IAX native transfers, transfer + ; only media stream +;jitterbuffer=yes ; Override global setting an enable jitter buffer +; ; for this user +;maxauthreq=10 ; Set maximum number of outstanding AUTHREQs waiting for replies. Any further authentication attempts will be blocked +; ; if this limit is reached until they expire or a reply is received. +;callerid="Mark Spencer" <(256) 428-6275> +;deny=0.0.0.0/0.0.0.0 +;accountcode=markster0101 +;permit=209.16.236.73/255.255.255.0 +;language=en ; Use english as default language +; +; Peers may also be specified, with a secret and +; a remote hostname. +; +[demo] +type=peer +username=asterisk +secret=supersecret +host=216.207.245.47 +;sendani=no +;host=asterisk.linux-support.net +;port=5036 +;mask=255.255.255.255 +;qualify=yes ; Make sure this peer is alive +;qualifysmoothing = yes ; use an average of the last two PONG + ; results to reduce falsely detected LAGGED hosts + ; Default: Off +;qualifyfreqok = 60000 ; how frequently to ping the peer when + ; everything seems to be ok, in milliseconds +;qualifyfreqnotok = 10000 ; how frequently to ping the peer when it's + ; either LAGGED or UNAVAILABLE, in milliseconds +;jitterbuffer=no ; Turn off jitter buffer for this peer + +; +; Peers can remotely register as well, so that they can be mobile. Default +; IP's can also optionally be given but are not required. Caller*ID can be +; suggested to the other side as well if it is for example a phone instead of +; another PBX. +; + +;[dynamichost] +;host=dynamic +;secret=mysecret +;mailbox=1234 ; Notify about mailbox 1234 +;inkeys=key1:key2 +;peercontext=local ; Default context to request for calls to peer +;defaultip=216.207.245.34 +;callerid="Some Host" <(256) 428-6011> +; + +; +;[biggateway] +;type=peer +;host=192.168.0.1 +;context=* +;secret=myscret +;trunk=yes ; Use IAX2 trunking with this host +;timezone=America/New_York ; Set a timezone for the date/time IE +; + +; +; Friends are a short cut for creating a user and +; a peer with the same values. +; +;[marko] +;type=friend +;host=dynamic +;regexten=1234 +;secret=moofoo ; Multiple secrets may be specified. For a "user", all +;secret=foomoo ; specified entries will be accepted as valid. For a "peer", +;secret=shazbot ; only the last specified secret will be used. +;context=default +;permit=0.0.0.0/0.0.0.0 + diff --git a/1.4.23-rc4/configs/iaxprov.conf.sample b/1.4.23-rc4/configs/iaxprov.conf.sample new file mode 100644 index 000000000..0ed1ff8e4 --- /dev/null +++ b/1.4.23-rc4/configs/iaxprov.conf.sample @@ -0,0 +1,81 @@ +; +; IAX2 Provisioning Information +; +; Contains provisioning information for templates and for specific service +; entries. +; +; Templates provide a group of settings from which provisioning takes place. +; A template may be based upon any template that has been specified before +; it. If the template that an entry is based on is not specified then it is +; presumed to be 'default' (unless it is the first of course). +; +; Templates which begin with 'si-' are used for provisioning units with +; specific service identifiers. For example the entry "si-000364000126" +; would be used when the device with the corresponding service identifier of +; "000364000126" attempts to register or make a call. +; +[default] +; +; The port number the device should use to bind to. The default is 4569. +; +;port=4569 +; +; server is our PRIMARY server for registration and placing calls +; +;server=192.168.69.3 +; +; altserver is the BACKUP server for registration and placing calls in the +; event the primary server is unavailable. +; +;altserver=192.168.69.4 +; +; port is the port number to use for IAX2 outbound. The connections to the +; server and altserver -- default is of course 4569. +;serverport=4569 +; +; language is the preferred language for the device +; +;language=en +; +; codec is the requested codec. The iaxy supports ulaw and adpcm +; +codec=ulaw +; +; flags is a comma separated list of flags which the device should +; use and may contain any of the following keywords: +; +; "register" - Register with server +; "secure" - Do not accept calls / provisioning not originated by the server +; "heartbeat" - Generate status packets on port 9999 sent to 255.255.255.255 +; "debug" - Output extra debugging to port 9999 +; +; Note that use can use += and -= to adjust parameters +; +flags=register,heartbeat +; +; See doc/ip-tos.txt for a description of this parameter. +;tos=ef +; +; Example iaxy provisioning +; +;[si-000364000126] +;user=iaxy +;pass=bitsy +;flags += debug + +;[si-000364000127] +;user=iaxy2 +;pass=bitsy2 +;template=si-000364000126 +;flags += debug + +; +;[*] +; +; If specified, the '*' provisioning is used for all devices which do not +; have another provisioning entry within the file. If unspecified, no +; provisioning will take place for devices which have no entry. DO NOT +; USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING. +; +;template=default + diff --git a/1.4.23-rc4/configs/indications.conf.sample b/1.4.23-rc4/configs/indications.conf.sample new file mode 100644 index 000000000..d7088db7c --- /dev/null +++ b/1.4.23-rc4/configs/indications.conf.sample @@ -0,0 +1,733 @@ +; indications.conf +; Configuration file for location specific tone indications +; used by the pbx_indications module. +; +; NOTE: +; When adding countries to this file, please keep them in alphabetical +; order according to the 2-character country codes! +; +; The [general] category is for certain global variables. +; All other categories are interpreted as location specific indications +; +; +[general] +country=us ; default location + + +; [example] +; description = string +; The full name of your country, in English. +; alias = iso[,iso]* +; List of other countries 2-letter iso codes, which have the same +; tone indications. +; ringcadence = num[,num]* +; List of durations the physical bell rings. +; dial = tonelist +; Set of tones to be played when one picks up the hook. +; busy = tonelist +; Set of tones played when the receiving end is busy. +; congestion = tonelist +; Set of tones played when there is some congestion (on the network?) +; callwaiting = tonelist +; Set of tones played when there is a call waiting in the background. +; dialrecall = tonelist +; Not well defined; many phone systems play a recall dial tone after hook +; flash. +; record = tonelist +; Set of tones played when call recording is in progress. +; info = tonelist +; Set of tones played with special information messages (e.g., "number is +; out of service") +; 'name' = tonelist +; Every other variable will be available as a shortcut for the "PlayList" command +; but will not be used automatically by Asterisk. +; +; +; The tonelist itself is defined by a comma-separated sequence of elements. +; Each element consist of a frequency (f) with an optional duration (in ms) +; attached to it (f/duration). The frequency component may be a mixture of two +; frequencies (f1+f2) or a frequency modulated by another frequency (f1*f2). +; The implicit modulation depth is fixed at 90%, though. +; If the list element starts with a !, that element is NOT repeated, +; therefore, only if all elements start with !, the tonelist is time-limited, +; all others will repeat indefinitely. +; +; concisely: +; element = [!]freq[+|*freq2][/duration] +; tonelist = element[,element]* +; +; Please note that SPACES ARE NOT ALLOWED in tone lists! +; + +[at] +description = Austria +ringcadence = 1000,5000 +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +dial = 420 +busy = 420/400,0/400 +ring = 420/1000,0/5000 +congestion = 420/200,0/200 +callwaiting = 420/40,0/1960 +dialrecall = 420 +; RECORDTONE - not specified +record = 1400/80,0/14920 +info = 950/330,1450/330,1850/330,0/1000 +stutter = 380+420 + +[au] +description = Australia +; Reference http://www.acif.org.au/__data/page/3303/S002_2001.pdf +; Normal Ring +ringcadence = 400,200,400,2000 +; Distinctive Ring 1 - Forwarded Calls +; 400,400,200,200,400,1400 +; Distinctive Ring 2 - Selective Ring 2 + Operator + Recall +; 400,400,200,2000 +; Distinctive Ring 3 - Multiple Subscriber Number 1 +; 200,200,400,2200 +; Distinctive Ring 4 - Selective Ring 1 + Centrex +; 400,2600 +; Distinctive Ring 5 - Selective Ring 3 +; 400,400,200,400,200,1400 +; Distinctive Ring 6 - Multiple Subscriber Number 2 +; 200,400,200,200,400,1600 +; Distinctive Ring 7 - Multiple Subscriber Number 3 + Data Privacy +; 200,400,200,400,200,1600 +; Tones +dial = 413+438 +busy = 425/375,0/375 +ring = 413+438/400,0/200,413+438/400,0/2000 +; XXX Congestion: Should reduce by 10 db every other cadence XXX +congestion = 425/375,0/375,420/375,0/375 +callwaiting = 425/200,0/200,425/200,0/4400 +dialrecall = 413+438 +; Record tone used for Call Intrusion/Recording or Conference +record = !425/1000,!0/15000,425/360,0/15000 +info = 425/2500,0/500 +; Other Australian Tones +; The STD "pips" indicate the call is not an untimed local call +std = !525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100 +; Facility confirmation tone (eg. Call Forward Activated) +facility = 425 +; Message Waiting "stutter" dialtone +stutter = 413+438/100,0/40 +; Ringtone for calls to Telstra mobiles +ringmobile = 400+450/400,0/200,400+450/400,0/2000 + +[bg] +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +description = Bulgaria +ringcadence = 1000,4000 +; +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/250,0/250 +callwaiting = 425/150,0/150,425/150,0/4000 +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +record = 1400/425,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +stutter = 425/1500,0/100 + +[br] +description = Brazil +ringcadence = 1000,4000 +dial = 425 +busy = 425/250,0/250 +ring = 425/1000,0/4000 +congestion = 425/250,0/250,425/750,0/250 +callwaiting = 425/50,0/1000 +; Dialrecall not used in Brazil standard (using UK standard) +dialrecall = 350+440 +; Record tone is not used in Brazil, use busy tone +record = 425/250,0/250 +; Info not used in Brazil standard (using UK standard) +info = 950/330,1400/330,1800/330 +stutter = 350+440 + +[be] +description = Belgium +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,3000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/3000 +congestion = 425/167,0/167 +callwaiting = 1400/175,0/175,1400/175,0/3500 +; DIALRECALL - not specified +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440" +; RECORDTONE - not specified +record = 1400/500,0/15000 +info = 900/330,1400/330,1800/330,0/1000 +stutter = 425/1000,0/250 + +[ch] +description = Switzerland +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/200,0/200,425/200,0/4000 +; DIALRECALL - not specified +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +; RECORDTONE - not specified +record = 1400/80,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +stutter = 425+340/1100,0/1100 + +[cl] +description = Chile +; According to specs from Telefonica CTC Chile +ringcadence = 1000,3000 +dial = 400 +busy = 400/500,0/500 +ring = 400/1000,0/3000 +congestion = 400/200,0/200 +callwaiting = 400/250,0/8750 +dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400 +record = 1400/500,0/15000 +info = 950/333,1400/333,1800/333,0/1000 +stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400 + +[cn] +description = China +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 450 +busy = 450/350,0/350 +ring = 450/1000,0/4000 +congestion = 450/700,0/700 +callwaiting = 450/400,0/4000 +dialrecall = 450 +record = 950/400,0/10000 +info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400 +; STUTTER - not specified +stutter = 450+425 + +[cz] +description = Czech Republic +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425/330,0/330,425/660,0/660 +busy = 425/330,0/330 +ring = 425/1000,0/4000 +congestion = 425/165,0/165 +callwaiting = 425/330,0/9000 +; DIALRECALL - not specified +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425/330,0/330,425/660,0/660 +; RECORDTONE - not specified +record = 1400/500,0/14000 +info = 950/330,0/30,1400/330,0/30,1800/330,0/1000 +; STUTTER - not specified +stutter = 425/450,0/50 + +[de] +description = Germany +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425 +busy = 425/480,0/480 +ring = 425/1000,0/4000 +congestion = 425/240,0/240 +callwaiting = !425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,0 +; DIALRECALL - not specified +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +; RECORDTONE - not specified +record = 1400/80,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +stutter = 425+400 + +[dk] +description = Denmark +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = !425/200,!0/600,!425/200,!0/3000,!425/200,!0/200,!425/200,0 +; DIALRECALL - not specified +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +; RECORDTONE - not specified +record = 1400/80,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +; STUTTER - not specified +stutter = 425/450,0/50 + +[ee] +description = Estonia +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425 +busy = 425/300,0/300 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +; CALLWAIT not in accordance to ITU +callwaiting = 950/650,0/325,950/325,0/30,1400/1300,0/2600 +; DIALRECALL - not specified +dialrecall = 425/650,0/25 +; RECORDTONE - not specified +record = 1400/500,0/15000 +; INFO not in accordance to ITU +info = 950/650,0/325,950/325,0/30,1400/1300,0/2600 +; STUTTER not specified +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 + +[es] +description = Spain +ringcadence = 1500,3000 +dial = 425 +busy = 425/200,0/200 +ring = 425/1500,0/3000 +congestion = 425/200,0/200,425/200,0/200,425/200,0/600 +callwaiting = 425/175,0/175,425/175,0/3500 +dialrecall = !425/200,!0/200,!425/200,!0/200,!425/200,!0/200,425 +record = 1400/500,0/15000 +info = 950/330,0/1000 +dialout = 500 + + +[fi] +description = Finland +ringcadence = 1000,4000 +dial = 425 +busy = 425/300,0/300 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/150,0/150,425/150,0/8000 +dialrecall = 425/650,0/25 +record = 1400/500,0/15000 +info = 950/650,0/325,950/325,0/30,1400/1300,0/2600 +stutter = 425/650,0/25 + +[fr] +description = France +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1500,3500 +; Dialtone can also be 440+330 +dial = 440 +busy = 440/500,0/500 +ring = 440/1500,0/3500 +; CONGESTION - not specified +congestion = 440/250,0/250 +callwait = 440/300,0/10000 +; DIALRECALL - not specified +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 +; RECORDTONE - not specified +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330 +stutter = !440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,440 + +[gr] +description = Greece +ringcadence = 1000,4000 +dial = 425/200,0/300,425/700,0/800 +busy = 425/300,0/300 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/150,0/150,425/150,0/8000 +dialrecall = 425/650,0/25 +record = 1400/400,0/15000 +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0 +stutter = 425/650,0/25 + +[hu] +description = Hungary +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1250,3750 +dial = 425 +busy = 425/300,0/300 +ring = 425/1250,0/3750 +congestion = 425/300,0/300 +callwaiting = 425/40,0/1960 +dialrecall = 425+450 +; RECORDTONE - not specified +record = 1400/400,0/15000 +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0 +stutter = 350+375+400 + +[il] +description = Israel +ringcadence = 1000,3000 +dial = 414 +busy = 414/500,0/500 +ring = 414/1000,0/3000 +congestion = 414/250,0/250 +callwaiting = 414/100,0/100,414/100,0/100,414/600,0/3000 +dialrecall = !414/100,!0/100,!414/100,!0/100,!414/100,!0/100,414 +record = 1400/500,0/15000 +info = 1000/330,1400/330,1800/330,0/1000 +stutter = !414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,414 + + +[in] +description = India +ringcadence = 400,200,400,2000 +dial = 400*25 +busy = 400/750,0/750 +ring = 400*25/400,0/200,400*25/400,0/2000 +congestion = 400/250,0/250 +callwaiting = 400/200,0/100,400/200,0/7500 +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,0/1000 +stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 + +[it] +description = Italy +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +dial = 425/200,0/200,425/600,0/1000 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/400,0/100,425/250,0/100,425/150,0/14000 +dialrecall = 470/400,425/400 +record = 1400/400,0/15000 +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0 +stutter = 470/400,425/400 + +[lt] +description = Lithuania +ringcadence = 1000,4000 +dial = 425 +busy = 425/350,0/350 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/150,0/150,425/150,0/4000 +; DIALRECALL - not specified +dialrecall = 425/500,0/50 +; RECORDTONE - not specified +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0 +; STUTTER - not specified +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 + +[jp] +description = Japan +ringcadence = 1000,2000 +dial = 400 +busy = 400/500,0/500 +ring = 400+15/1000,0/2000 +congestion = 400/500,0/500 +callwaiting = 400+16/500,0/8000 +dialrecall = !400/200,!0/200,!400/200,!0/200,!400/200,!0/200,400 +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,0 +stutter = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400 + +[mx] +description = Mexico +ringcadence = 2000,4000 +dial = 425 +busy = 425/250,0/250 +ring = 425/1000,0/4000 +congestion = 425/250,0/250 +callwaiting = 425/200,0/600,425/200,0/10000 +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 +record = 1400/500,0/15000 +info = 950/330,0/30,1400/330,0/30,1800/330,0/1000 +stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 + +[my] +description = Malaysia +ringcadence = 2000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/400,0/200 +congestion = 425/500,0/500 + +[nl] +description = Netherlands +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +ringcadence = 1000,4000 +; Most of these 425's can also be 450's +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/250,0/250 +callwaiting = 425/500,0/9500 +; DIALRECALL - not specified +dialrecall = 425/500,0/50 +; RECORDTONE - not specified +record = 1400/500,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +stutter = 425/500,0/50 + +[no] +description = Norway +ringcadence = 1000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/200,0/200 +callwaiting = 425/200,0/600,425/200,0/10000 +dialrecall = 470/400,425/400 +record = 1400/400,0/15000 +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0 +stutter = 470/400,425/400 + +[nz] +description = New Zealand +;NOTE - the ITU has different tonesets for NZ, but according to some residents there, +; this is, indeed, the correct way to do it. +ringcadence = 400,200,400,2000 +dial = 400 +busy = 400/250,0/250 +ring = 400+450/400,0/200,400+450/400,0/2000 +congestion = 400/375,0/375 +callwaiting = !400/200,!0/3000,!400/200,!0/3000,!400/200,!0/3000,!400/200 +dialrecall = !400/100!0/100,!400/100,!0/100,!400/100,!0/100,400 +record = 1400/425,0/15000 +info = 400/750,0/100,400/750,0/100,400/750,0/100,400/750,0/400 +stutter = !400/100!0/100,!400/100,!0/100,!400/100,!0/100,!400/100!0/100,!400/100,!0/100,!400/100,!0/100,400 +unobtainable = 400/75,0/100,400/75,0/100,400/75,0/100,400/75,0/400 + +[ph] + +; reference http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf + +description = Philippines +ringcadence = 1000,4000 +dial = 425 +busy = 480+620/500,0/500 +ring = 425+480/1000,0/4000 +congestion = 480+620/250,0/250 +callwaiting = 440/300,0/10000 +; DIALRECALL - not specified +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 +; RECORDTONE - not specified +record = 1400/500,0/15000 +; INFO - not specified +info = !950/330,!1400/330,!1800/330,0 +; STUTTER - not specified +stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 + + +[pl] +description = Poland +ringcadence = 1000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/500,0/500 +callwaiting = 425/150,0/150,425/150,0/4000 +; DIALRECALL - not specified +dialrecall = 425/500,0/50 +; RECORDTONE - not specified +record = 1400/500,0/15000 +; 950/1400/1800 3x0.33 on 1.0 off repeated 3 times +info = !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000 +; STUTTER - not specified +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 + +[pt] +description = Portugal +ringcadence = 1000,5000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/5000 +congestion = 425/200,0/200 +callwaiting = 440/300,0/10000 +dialrecall = 425/1000,0/200 +record = 1400/500,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 + +[ru] +; References: +; http://www.minsvyaz.ru/site.shtml?id=1806 +; http://www.aboutphone.info/lib/gost/45-223-2001.html +description = Russian Federation / ex Soviet Union +ringcadence = 1000,4000 +dial = 425 +busy = 425/350,0/350 +ring = 425/1000,0/4000 +congestion = 425/175,0/175 +callwaiting = 425/200,0/5000 +record = 1400/400,0/15000 +info = 950/330,1400/330,1800/330,0/1000 +dialrecall = 425/400,0/40 +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 + +[se] +description = Sweden +ringcadence = 1000,5000 +dial = 425 +busy = 425/250,0/250 +ring = 425/1000,0/5000 +congestion = 425/250,0/750 +callwaiting = 425/200,0/500,425/200,0/9100 +dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +record = 1400/500,0/15000 +info = !950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,0 +stutter = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425 +; stutter = 425/320,0/20 ; Real swedish standard, not used for now + +[sg] +description = Singapore +; Singapore +; Reference: http://www.ida.gov.sg/idaweb/doc/download/I397/ida_ts_pstn1_i4r2.pdf +; Frequency specs are: 425 Hz +/- 20Hz; 24 Hz +/- 2Hz; modulation depth 100%; SIT +/- 50Hz +ringcadence = 400,200,400,2000 +dial = 425 +ring = 425*24/400,0/200,425*24/400,0/2000 ; modulation should be 100%, not 90% +busy = 425/750,0/750 +congestion = 425/250,0/250 +callwaiting = 425*24/300,0/200,425*24/300,0/3200 +stutter = !425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,425 +info = 950/330,1400/330,1800/330,0/1000 ; not currently in use acc. to reference +dialrecall = 425*24/500,0/500,425/500,0/2500 ; unspecified in IDA reference, use repeating Holding Tone A,B +record = 1400/500,0/15000 ; unspecified in IDA reference, use 0.5s tone every 15s +; additionally defined in reference +nutone = 425/2500,0/500 +intrusion = 425/250,0/2000 +warning = 425/624,0/4376 ; end of period tone, warning +acceptance = 425/125,0/125 +holdinga = !425*24/500,!0/500 ; followed by holdingb +holdingb = !425/500,!0/2500 + +[th] +description = Thailand +ringcadence = 1000,4000 +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +dial = 400*50 +busy = 400/500,0/500 +ring = 420/1000,0/5000 +congestion = 400/300,0/300 +callwaiting = 1000/400,10000/400,1000/400 +; DIALRECALL - not specified - use special dial tone instead. +dialrecall = 400*50/400,0/100,400*50/400,0/100 +; RECORDTONE - not specified +record = 1400/500,0/15000 +; INFO - specified as an announcement - use special information tones instead +info = 950/330,1400/330,1800/330 +; STUTTER - not specified +stutter = !400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,400 + +[uk] +description = United Kingdom +ringcadence = 400,200,400,2000 +; These are the official tones taken from BT SIN350. The actual tones +; used by BT include some volume differences so sound slightly different +; from Asterisk-generated ones. +dial = 350+440 +; Special dial is the intermittent dial tone heard when, for example, +; you have a divert active on the line +specialdial = 350+440/750,440/750 +; Busy is also called "Engaged" +busy = 400/375,0/375 +; "Congestion" is the Beep-bip engaged tone +congestion = 400/400,0/350,400/225,0/525 +; "Special Congestion" is not used by BT very often if at all +specialcongestion = 400/200,1004/300 +unobtainable = 400 +ring = 400+450/400,0/200,400+450/400,0/2000 +callwaiting = 400/100,0/4000 +; BT seem to use "Special Call Waiting" rather than just "Call Waiting" tones +specialcallwaiting = 400/250,0/250,400/250,0/250,400/250,0/5000 +; "Pips" used by BT on payphones. (Sounds wrong, but this is what BT claim it +; is and I've not used a payphone for years) +creditexpired = 400/125,0/125 +; These two are used to confirm/reject service requests on exchanges that +; don't do voice announcements. +confirm = 1400 +switching = 400/200,0/400,400/2000,0/400 +; This is the three rising tones Doo-dah-dee "Special Information Tone", +; usually followed by the BT woman saying an appropriate message. +info = 950/330,0/15,1400/330,0/15,1800/330,0/1000 +; Not listed in SIN350 +record = 1400/500,0/60000 +stutter = 350+440/750,440/750 + +[us] +description = United States / North America +ringcadence = 2000,4000 +dial = 350+440 +busy = 480+620/500,0/500 +ring = 440+480/2000,0/4000 +congestion = 480+620/250,0/250 +callwaiting = 440/300,0/10000 +dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,0 +stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 + +[us-old] +description = United States Circa 1950/ North America +ringcadence = 2000,4000 +dial = 600*120 +busy = 500*100/500,0/500 +ring = 420*40/2000,0/4000 +congestion = 500*100/250,0/250 +callwaiting = 440/300,0/10000 +dialrecall = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120 +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,0 +stutter = !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120 + +[tw] +description = Taiwan +; http://nemesis.lonestar.org/reference/telecom/signaling/dialtone.html +; http://nemesis.lonestar.org/reference/telecom/signaling/busy.html +; http://www.iproducts.com.tw/ee/kylink/06ky-1000a.htm +; http://www.pbx-manufacturer.com/ky120dx.htm +; http://www.nettwerked.net/tones.txt +; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/taiw_sup/taiw2.htm +; +; busy tone 480+620Hz 0.5 sec. on ,0.5 sec. off +; reorder tone 480+620Hz 0.25 sec. on,0.25 sec. off +; ringing tone 440+480Hz 1 sec. on ,2 sec. off +; +ringcadence = 1000,4000 +dial = 350+440 +busy = 480+620/500,0/500 +ring = 440+480/1000,0/2000 +congestion = 480+620/250,0/250 +callwaiting = 350+440/250,0/250,350+440/250,0/3250 +dialrecall = 300/1500,0/500 +record = 1400/500,0/15000 +info = !950/330,!1400/330,!1800/330,0 +stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440 + +[ve] +; Tone definition source for ve found on +; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf +description = Venezuela / South America +ringcadence = 1000,4000 +dial = 425 +busy = 425/500,0/500 +ring = 425/1000,0/4000 +congestion = 425/250,0/250 +callwaiting = 400+450/300,0/6000 +dialrecall = 425 +record = 1400/500,0/15000 +info = !950/330,!1440/330,!1800/330,0/1000 + + +[za] +description = South Africa +; http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/safr_sup/saf02.htm +; (definitions for other countries can also be found there) +; Note, though, that South Africa uses two switch types in their network -- +; Alcatel switches -- mainly in the Western Cape, and Siemens elsewhere. +; The former use 383+417 in dial, ringback etc. The latter use 400*33 +; I've provided both, uncomment the ones you prefer +ringcadence = 400,200,400,2000 +; dial/ring/callwaiting for the Siemens switches: +dial = 400*33 +ring = 400*33/400,0/200,400*33/400,0/2000 +callwaiting = 400*33/250,0/250,400*33/250,0/250,400*33/250,0/250,400*33/250,0/250 +; dial/ring/callwaiting for the Alcatel switches: +; dial = 383+417 +; ring = 383+417/400,0/200,383+417/400,0/2000 +; callwaiting = 383+417/250,0/250,383+417/250,0/250,383+417/250,0/250,383+417/250,0/250 +congestion = 400/250,0/250 +busy = 400/500,0/500 +dialrecall = 350+440 +; XXX Not sure about the RECORDTONE +record = 1400/500,0/10000 +info = 950/330,1400/330,1800/330,0/330 +stutter = !400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,400*33 diff --git a/1.4.23-rc4/configs/jabber.conf.sample b/1.4.23-rc4/configs/jabber.conf.sample new file mode 100644 index 000000000..5ee26e510 --- /dev/null +++ b/1.4.23-rc4/configs/jabber.conf.sample @@ -0,0 +1,18 @@ +[general] +;debug=yes ;;Turn on debugging by default. +;autoprune=yes ;;Auto remove users from buddy list. +;autoregister=yes ;;Auto register users from buddy list. + +;[asterisk] ;;label +;type=client ;;Client or Component connection +;serverhost=astjab.org ;;Route to server for example, + ;; talk.google.com +;username=asterisk@astjab.org/asterisk ;;Username with optional roster. +;secret=blah ;;Password +;port=5222 ;;Port to use defaults to 5222 +;usetls=yes ;;Use tls or not +;usesasl=yes ;;Use sasl or not +;buddy=mogorman@astjab.org ;;Manual addition of buddy to list. +;statusmessage="I am available" ;;Have custom status message for + ;;Asterisk. +;timeout=100 ;;Timeout on the message stack. diff --git a/1.4.23-rc4/configs/logger.conf.sample b/1.4.23-rc4/configs/logger.conf.sample new file mode 100644 index 000000000..f2ff0ea7e --- /dev/null +++ b/1.4.23-rc4/configs/logger.conf.sample @@ -0,0 +1,69 @@ +; +; Logging Configuration +; +; In this file, you configure logging to files or to +; the syslog system. +; +; "logger reload" at the CLI will reload configuration +; of the logging system. + +[general] +; Customize the display of debug message time stamps +; this example is the ISO 8601 date format (yyyy-mm-dd HH:MM:SS) +; see strftime(3) Linux manual for format specifiers +;dateformat=%F %T +; +; This appends the hostname to the name of the log files. +;appendhostname = yes +; +; This determines whether or not we log queue events to a file +; (defaults to yes). +;queue_log = no +; +; This determines whether or not we log generic events to a file +; (defaults to yes). +;event_log = no +; +; +; For each file, specify what to log. +; +; For console logging, you set options at start of +; Asterisk with -v for verbose and -d for debug +; See 'asterisk -h' for more information. +; +; Directory for log files is configures in asterisk.conf +; option astlogdir +; +[logfiles] +; +; Format is "filename" and then "levels" of debugging to be included: +; debug +; notice +; warning +; error +; verbose +; dtmf +; +; Special filename "console" represents the system console +; +; We highly recommend that you DO NOT turn on debug mode if you are simply +; running a production system. Debug mode turns on a LOT of extra messages, +; most of which you are unlikely to understand without an understanding of +; the underlying code. Do NOT report debug messages as code issues, unless +; you have a specific issue that you are attempting to debug. They are +; messages for just that -- debugging -- and do not rise to the level of +; something that merit your attention as an Asterisk administrator. Debug +; messages are also very verbose and can and do fill up logfiles quickly; +; this is another reason not to have debug mode on a production system unless +; you are in the process of debugging a specific issue. +; +;debug => debug +console => notice,warning,error +;console => notice,warning,error,debug +messages => notice,warning,error +;full => notice,warning,error,debug,verbose + +;syslog keyword : This special keyword logs to syslog facility +; +;syslog.local0 => notice,warning,error +; diff --git a/1.4.23-rc4/configs/manager.conf.sample b/1.4.23-rc4/configs/manager.conf.sample new file mode 100644 index 000000000..1f51b0d8c --- /dev/null +++ b/1.4.23-rc4/configs/manager.conf.sample @@ -0,0 +1,56 @@ +; +; AMI - The Asterisk Manager Interface +; +; Third party application call management support and PBX event supervision +; +; This configuration file is read every time someone logs in +; +; Use the "manager list commands" at the CLI to list available manager commands +; and their authorization levels. +; +; "manager show command <command>" will show a help text. +; +; ---------------------------- SECURITY NOTE ------------------------------- +; Note that you should not enable the AMI on a public IP address. If needed, +; block this TCP port with iptables (or another FW software) and reach it +; with IPsec, SSH, or SSL vpn tunnel. You can also make the manager +; interface available over http if Asterisk's http server is enabled in +; http.conf and if both "enabled" and "webenabled" are set to yes in +; this file. Both default to no. httptimeout provides the maximum +; timeout in seconds before a web based session is discarded. The +; default is 60 seconds. +; +[general] +displaysystemname = yes +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 + +bindaddr = 0.0.0.0 +;displayconnects = yes +; +; Add a Unix epoch timestamp to events (not action responses) +; +;timestampevents = yes + +;[mark] +;secret = mysecret +;deny=0.0.0.0/0.0.0.0 +;permit=209.16.236.73/255.255.255.0 +; +; If the device connected via this user accepts input slowly, +; the timeout for writes to it can be increased to keep it +; from being disconnected (value is in milliseconds) +; +; writetimeout = 100 +; +; Authorization for various classes +;read = system,call,log,verbose,command,agent,user,config +;write = system,call,log,verbose,command,agent,user,config diff --git a/1.4.23-rc4/configs/meetme.conf.sample b/1.4.23-rc4/configs/meetme.conf.sample new file mode 100644 index 000000000..62e52dca4 --- /dev/null +++ b/1.4.23-rc4/configs/meetme.conf.sample @@ -0,0 +1,26 @@ +; +; Configuration file for MeetMe simple conference rooms for Asterisk of course. +; +; This configuration file is read every time you call app meetme() + +[general] +;audiobuffers=32 ; The number of 20ms audio buffers to be used + ; when feeding audio frames from non-Zap channels + ; into the conference; larger numbers will allow + ; for the conference to 'de-jitter' audio that arrives + ; at different timing than the conference's timing + ; source, but can also allow for latency in hearing + ; the audio from the speaker. Minimum value is 2, + ; maximum value is 32. +; +[rooms] +; +; Usage is conf => confno[,pin][,adminpin] +; +; Note that once a participant has called the conference, a change to the pin +; number done in this file will not take effect until there are no more users +; in the conference and it goes away. When it is created again, it will have +; the new pin number. +; +;conf => 1234 +;conf => 2345,9938 diff --git a/1.4.23-rc4/configs/mgcp.conf.sample b/1.4.23-rc4/configs/mgcp.conf.sample new file mode 100644 index 000000000..288065355 --- /dev/null +++ b/1.4.23-rc4/configs/mgcp.conf.sample @@ -0,0 +1,104 @@ +; +; MGCP Configuration for Asterisk +; +[general] +;port = 2427 +;bindaddr = 0.0.0.0 + +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; MGCP channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The MGCP channel can accept jitter, + ; thus an enabled jitterbuffer on the receive MGCP side will only + ; be used if the sending side can create jitter and jbforce is + ; also set to yes. + +; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a MGCP + ; channel. Defaults to "no". + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a MGCP + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- + +;[dlinkgw] +;host = 192.168.0.64 +;context = default +;canreinvite = no +;line => aaln/2 +;line => aaln/1 + +;; The MGCP channel supports the following service codes: +;; # - Transfer +;; *67 - Calling Number Delivery Blocking +;; *70 - Cancel Call Waiting +;; *72 - Call Forwarding Activation +;; *73 - Call Forwarding Deactivation +;; *78 - Do Not Disturb Activation +;; *79 - Do Not Disturb Deactivation +;; *8 - Call pick-up +; +; known to work with Swissvoice IP10s +;[192.168.1.20] +;context=local +;host=192.168.1.20 +;callerid = "John Doe" <123> +;callgroup=0 ; in the range from 0 to 63 +;pickupgroup=0 ; in the range from 0 to 63 +;nat=no +;threewaycalling=yes +;transfer=yes ; transfer requires threewaycalling=yes. Use FLASH to transfer +;callwaiting=yes ; this might be a cause of trouble for ip10s +;cancallforward=yes +;line => aaln/1 +; + +;[dph100] +; +; Supporting the DPH100M requires defining DLINK_BUGGY_FIRMWARE in +; chan_mgcp.c in addition to enabling the slowsequence mode due to +; bugs in the D-Link firmware +; +;context=local +;host=dynamic +;dtmfmode=none ; DTMF Mode can be 'none', 'rfc2833', or 'inband' or + ; 'hybrid' which starts in none and moves to inband. Default is none. +;slowsequence=yes ; The DPH100M does not follow MGCP standards for sequencing +;line => aaln/1 + +; known to work with wave7optics FTTH LMGs +;[192.168.1.20] +;accountcode = 1000 ; record this in cdr as account identification for billing +;amaflags = billing ; record this in cdr as flagged for 'billing', + ; 'documentation', or 'omit' +;context = local +;host = 192.168.1.20 +;wcardep = aaln/* ; enables wildcard endpoint and sets it to 'aaln/*' + ; another common format is '*' +;callerid = "Duane Cox" <123> ; now lets setup line 1 using per endpoint configuration... +;callwaiting = no +;callreturn = yes +;cancallforward = yes +;canreinvite = no +;transfer = no +;dtmfmode = inband +;line => aaln/1 ; now lets save this config to line1 aka aaln/1 +;callerid = "Duane Cox" <456> ; now lets setup line 2 +;callwaiting = no +;callreturn = yes +;cancallforward = yes +;canreinvite = no +;transfer = no +;dtmfmode = inband +;line => aaln/2 ; now lets save this config to line2 aka aaln/2 diff --git a/1.4.23-rc4/configs/misdn.conf.sample b/1.4.23-rc4/configs/misdn.conf.sample new file mode 100644 index 000000000..bc11ef252 --- /dev/null +++ b/1.4.23-rc4/configs/misdn.conf.sample @@ -0,0 +1,438 @@ +; +; chan_misdn sample config +; + +; general section: +; +; for debugging and general setup, things that are not bound to port groups +; + +[general] +; +; Sets the Path to the misdn-init.conf (for nt_ptp mode checking) +; +misdn_init=/etc/misdn-init.conf + +; set debugging flag: +; 0 - No Debug +; 1 - mISDN Messages and * - Messages, and * - State changes +; 2 - Messages + Message specific Informations (e.g. bearer capability) +; 3 - very Verbose, the above + lots of Driver specific infos +; 4 - even more Verbose than 3 +; +; default value: 0 +; +debug=0 + + + +; set debugging file and flags for mISDNuser (NT-Stack) +; +; flags can be or'ed with the following values: +; +; DBGM_NET 0x00000001 +; DBGM_MSG 0x00000002 +; DBGM_FSM 0x00000004 +; DBGM_TEI 0x00000010 +; DBGM_L2 0x00000020 +; DBGM_L3 0x00000040 +; DBGM_L3DATA 0x00000080 +; DBGM_BC 0x00000100 +; DBGM_TONE 0x00000200 +; DBGM_BCDATA 0x00000400 +; DBGM_MAN 0x00001000 +; DBGM_APPL 0x00002000 +; DBGM_ISDN 0x00004000 +; DBGM_SOCK 0x00010000 +; DBGM_CONN 0x00020000 +; DBGM_CDATA 0x00040000 +; DBGM_DDATA 0x00080000 +; DBGM_SOUND 0x00100000 +; DBGM_SDATA 0x00200000 +; DBGM_TOPLEVEL 0x40000000 +; DBGM_ALL 0xffffffff +; + +ntdebugflags=0 +ntdebugfile=/var/log/misdn-nt.log + + +; some pbx systems do cut the L1 for some milliseconds, to avoid +; dropping running calls, we can set this flag to yes and tell +; mISDNuser not to drop the calls on L2_RELEASE +ntkeepcalls=no + +; the big trace +; +; default value: [not set] +; +;tracefile=/var/log/asterisk/misdn.log + + +; set to yes if you want mISDN_dsp to bridge the calls in HW +; +; default value: yes +; +bridging=no + + +; +; watches the L1s of every port. If one l1 is down it tries to +; get it up. The timeout is given in seconds. with 0 as value it +; does not watch the l1 at all +; +; default value: 0 +; +; this option is only read at loading time of chan_misdn, +; which means you need to unload and load chan_misdn to change the +; value, an asterisk restart should do the trick +; +l1watcher_timeout=0 + +; stops dialtone after getting first digit on nt Port +; +; default value: yes +; +stop_tone_after_first_digit=yes + +; whether to append overlapdialed Digits to Extension or not +; +; default value: yes +; +append_digits2exten=yes + +;;; CRYPTION STUFF + +; Whether to look for dynamic crypting attempt +; +; default value: no +; +dynamic_crypt=no + +; crypt_prefix, what is used for crypting Protocol +; +; default value: [not set] +; +crypt_prefix=** + +; Keys for cryption, you reference them in the dialplan +; later also in dynamic encr. +; +; default value: [not set] +; +crypt_keys=test,muh + +; users sections: +; +; name your sections as you which but not "general" ! +; the sections are Groups, you can dial out in extensions.conf +; with Dial(mISDN/g:extern/101) where extern is a section name, +; chan_misdn tries every port in this section to find a +; new free channel +; + +; The default section is not a group section, it just contains config elements +; which are inherited by group sections. +; + +[default] + +; define your default context here +; +; default value: default +; +context=misdn + +; language +; +; default value: en +; +language=en + +; +; sets the musiconhold class +; +musicclass=default + +; +; Either if we should produce DTMF Tones ourselves +; +senddtmf=yes + +; +; If we should generate Ringing for chan_sip and others +; +far_alerting=no + + +; +; Here you can list which bearer capabilities should be allowed: +; all - allow any bearer capability +; speech - allow speech +; 3_1khz - allow 3.1KHz audio +; digital_unrestricted - allow unrestricted digital +; digital_restricted - allow restricted digital +; video - allow video +; +; Example: +; allowed_bearers=speech,3_1khz +; +allowed_bearers=all + +; Prefixes for national and international, those are put before the +; oad if an according dialplan is set by the other end. +; +; default values: nationalprefix : 0 +; internationalprefix : 00 +; +nationalprefix=0 +internationalprefix=00 + +; set rx/tx gains between -8 and 8 to change the RX/TX Gain +; +; default values: rxgain: 0 +; txgain: 0 +; +rxgain=0 +txgain=0 + +; some telcos especially in NL seem to need this set to yes, also in +; switzerland this seems to be important +; +; default value: no +; +te_choose_channel=no + + + +; +; This option defines, if chan_misdn should check the L1 on a PMP +; before making a group call on it. The L1 may go down for PMP Ports +; so we might need this. +; But be aware! a broken or plugged off cable might be used for a group call +; as well, since chan_misdn has no chance to distinguish if the L1 is down +; because of a lost Link or because the Provider shut it down... +; +; default: no +; +pmp_l1_check=no + + +; +; in PMP this option defines which cause should be sent out to +; the 3. caller. chan_misdn does not support callwaiting on TE +; PMP side. This allows to modify the RELEASE_COMPLETE cause +; at least. +; +reject_cause=16 + + +; +; Send Setup_Acknowledge on incoming calls anyway (instead of PROCEEDING), +; this requests additional Infos, so we can waitfordigits +; without much issues. This works only for PTP Ports +; +; default value: no +; +need_more_infos=no + + +; +; set this to yes if you want to disconnect calls when a timeout occurs +; for example during the overlapdial phase +; +nttimeout=no + +; set the method to use for channel selection: +; standard - always choose the first free channel with the lowest number +; round_robin - use the round robin algorithm to select a channel. use this +; if you want to balance your load. +; +; default value: standard +; +method=standard + + +; specify if chan_misdn should collect digits before going into the +; dialplan, you can choose yes=4 Seconds, no, or specify the amount +; of seconds you need; +; +overlapdial=yes + +; +; dialplan means Type Of Number in ISDN Terms (for outgoing calls) +; +; there are different types of the dialplan: +; +; dialplan -> outgoing Number +; localdialplan -> callerid +; cpndialplan -> connected party number +; +; dialplan options: +; +; 0 - unknown +; 1 - International +; 2 - National +; 4 - Subscriber +; +; This setting is used for outgoing calls +; +; default value: 0 +; +dialplan=0 +localdialplan=0 +cpndialplan=0 + + + +; +; turn this to no if you don't mind correct handling of Progress Indicators +; +early_bconnect=yes + + +; +; turn this on if you like to send Tone Indications to a Incoming +; isdn channel on a TE Port. Rarely used, only if the Telco allows +; you to send indications by yourself, normally the Telco sends the +; indications to the remote party. +; +; default: no +; +incoming_early_audio=no + +; uncomment the following to get into s extension at extension conf +; there you can use DigitTimeout if you can't or don't want to use +; isdn overlap dial. +; note: This will jump into the s exten for every exten! +; +; default value: no +; +;always_immediate=no + +; +; set this to yes if you want to generate your own dialtone +; with always_immediate=yes, else chan_misdn generates the dialtone +; +; default value: no +; +nodialtone=no + + +; uncomment the following if you want callers which called exactly the +; base number (so no extension is set) jump to the s extension. +; if the user dials something more it jumps to the correct extension +; instead +; +; default value: no +; +;immediate=no + +; uncomment the following to have hold and retrieve support +; +; default value: no +; +;hold_allowed=yes + +; Pickup and Callgroup +; +; default values: not set = 0 +; range: 0-63 +; +;callgroup=1 +;pickupgroup=1 + + +; +; these are the exact isdn screening and presentation indicators +; if -1 is given for either value the presentation indicators are used +; from asterisks SetCallerPres application. +; s=0, p=0 -> callerid presented +; s=1, p=1 -> callerid restricted (the remote end does not see it!) +; +; default values s=-1, p=-1 +presentation=-1 +screen=-1 + +; This enables echo cancellation with the given number of taps. +; Be aware: Move this setting only to outgoing portgroups! +; A value of zero turns echo cancellation off. +; +; possible values are: 0,32,64,128,256,yes(=128),no(=0) +; +; default value: no +; +;echocancel=no + +; Set this to no to disable echotraining. You can enter a number > 10 +; the value is a multiple of 0.125 ms. +; +; default value: no +; yes = 2000 +; no = 0 +; +echotraining=no + +; +; chan_misdns jitterbuffer, default 4000 +; +jitterbuffer=4000 + +; +; change this threshold to enable dejitter functionality +; +jitterbuffer_upper_threshold=0 + + +; +; change this to yes, if you want to bridge a mISDN data channel to +; another channel type or to an application. +; +hdlc=no + + +; +; defines the maximum amount of incoming calls per port for +; this group. Calls which exceed the maximum will be marked with +; the channel variable MAX_OVERFLOW. It will contain the amount of +; overflowed calls +; +max_incoming=-1 + +; +; defines the maximum amount of outgoing calls per port for this group +; exceeding calls will be rejected +; +max_outgoing=-1 + +[intern] +; define your ports, e.g. 1,2 (depends on mISDN-driver loading order) +ports=1,2 +; context where to go to when incoming Call on one of the above ports +context=Intern + +[internPP] +; +; adding the postfix 'ptp' to a port number is obsolete now, chan_misdn +; parses /etc/misdn-init.conf and sets the ptp mode to the corresponding +; configs. For backwards compatibility you can still set ptp here. +; +ports=3 + +[first_extern] +; again port defs +ports=4 +; again a context for incoming calls +context=Extern1 +; msns for te ports, listen on those numbers on the above ports, and +; indicate the incoming calls to asterisk +; here you can give a comma separated list or simply an '*' for +; any msn. +msns=* + +; here an example with given msns +[second_extern] +ports=5 +context=Extern2 +callerid=15 +msns=102,144,101,104 diff --git a/1.4.23-rc4/configs/modules.conf.sample b/1.4.23-rc4/configs/modules.conf.sample new file mode 100644 index 000000000..9302e87ac --- /dev/null +++ b/1.4.23-rc4/configs/modules.conf.sample @@ -0,0 +1,35 @@ +; +; Asterisk configuration file +; +; Module Loader configuration file +; + +[modules] +autoload=yes +; +; Any modules that need to be loaded before the Asterisk core has been +; initialized (just after the logger has been initialized) can be loaded +; using 'preload'. This will frequently be needed if you wish to map all +; module configuration files into Realtime storage, since the Realtime +; driver will need to be loaded before the modules using those configuration +; files are initialized. +; +; An example of loading ODBC support would be: +;preload => res_odbc.so +;preload => res_config_odbc.so +; +; Uncomment the following if you wish to use the Speech Recognition API +;preload => res_speech.so +; +; If you want, load the GTK console right away. +; +noload => pbx_gtkconsole.so +;load => pbx_gtkconsole.so +; +load => res_musiconhold.so +; +; Load either OSS or ALSA, not both +; By default, load OSS only (automatically) and do not load ALSA +; +noload => chan_alsa.so +;noload => chan_oss.so diff --git a/1.4.23-rc4/configs/musiconhold.conf.sample b/1.4.23-rc4/configs/musiconhold.conf.sample new file mode 100644 index 000000000..e485552c1 --- /dev/null +++ b/1.4.23-rc4/configs/musiconhold.conf.sample @@ -0,0 +1,66 @@ +; +; Music on Hold -- Sample Configuration +; + +; valid mode options: +; files -- read files from a directory in any Asterisk supported +; media format +; quietmp3 -- default +; mp3 -- loud +; mp3nb -- unbuffered +; quietmp3nb -- quiet unbuffered +; custom -- run a custom application (See examples below) + +; ========= +; File-based (native) music on hold +; ========= +; +; This plays files directly from the specified directory, no external +; processes are required. Files are played in normal sorting order +; (same as a sorted directory listing), and no volume or other +; sound adjustments are available. If the file is available in +; the same format as the channel's codec, then it will be played +; without transcoding (same as Playback would do in the dialplan). +; Files can be present in as many formats as you wish, and the +; 'best' format will be chosen at playback time. +; +; NOTE: +; If you are not using "autoload" in modules.conf, then you +; must ensure that the format modules for any formats you wish +; to use are loaded _before_ res_musiconhold. If you do not do +; this, res_musiconhold will skip the files it is not able to +; understand when it loads. +; + +[default] +mode=files +directory=/var/lib/asterisk/moh +; +;[native-random] +;mode=files +;directory=/var/lib/asterisk/moh +;random=yes ; Play the files in a random order + + +; ========= +; Other (non-native) playback methods +; ========= + +;[manual] +;mode=custom +; Note that with mode=custom, a directory is not required, such as when reading +; from a stream. +;directory=/var/lib/asterisk/mohmp3 +;application=/usr/bin/mpg123 -q -r 8000 -f 8192 -b 2048 --mono -s + +;[ulawstream] +;mode=custom +;application=/usr/bin/streamplayer 192.168.100.52 888 +;format=ulaw + +; mpg123 on Solaris does not always exit properly; madplay may be a better +; choice +;[solaris] +;mode=custom +;directory=/var/lib/asterisk/mohmp3 +;application=/site/sw/bin/madplay -Q -o raw:- --mono -R 8000 -a -12 diff --git a/1.4.23-rc4/configs/muted.conf.sample b/1.4.23-rc4/configs/muted.conf.sample new file mode 100644 index 000000000..2970223f5 --- /dev/null +++ b/1.4.23-rc4/configs/muted.conf.sample @@ -0,0 +1,39 @@ +# +# Sample muted configuration file +# +# Copyright (C) 2004 Digium, Inc. +# +# What is this? Well, haven't you ever wished you could automatically +# turn down the volume on your stereo, CDPlayer, etc, when a call comes in, +# and then return it to normal when the call ends? Well, this is a possible +# mechanism to make this happen! +# You have to fire up the new utils/muted, which runs as a daemon in the +# background. This daemon connects to asterisk via a manager interface, and +# also reads this config file. When the channels mentioned +# are activated, it tweaks the sound levels on the sound card(s). +# So, depending on the sound card, you may be able to run all your sound +# generating devices thru your sound card, and use this mechanism to quiet +# them down while you are on the phone. If anyone figures out how to make +# this work with kids, please inform!! +# +# First you have the host, username, and password +# we use to connect to the asterisk system +# +host localhost +user user +pass pass +# +# List each channel we're supposed to watch +# +channel Zap/1 +channel Zap/2 +channel SIP/mark +# +# Mute level is the percentage of the current volume we should +# lower the music to. +# +mutelevel 20 +# +# Smooth fade makes the fadein/fadeout nicer sounding +# +smoothfade diff --git a/1.4.23-rc4/configs/osp.conf.sample b/1.4.23-rc4/configs/osp.conf.sample new file mode 100644 index 000000000..edd8af1e3 --- /dev/null +++ b/1.4.23-rc4/configs/osp.conf.sample @@ -0,0 +1,72 @@ +; +; Open Settlement Protocol Sample Configuration File +; +; +; This file contains configuration of providers that +; are used by the OSP subsystem of Asterisk. The section +; "general" is reserved for global options. Each other +; section declares an OSP Provider. The provider "default" +; is used when no provider is otherwise specified. +; +[general] +; +; Should hardware acceleration be enabled? May not be changed +; on a reload. +; +;accelerate=yes +; +; Defines the token format that Asterisk can validate. +; 0 - signed tokens only +; 1 - unsigned tokens only +; 2 - both signed and unsigned +; The defaults to 0, i.e. the Asterisk can validate signed tokens only. +; +;tokenformat=0 + +;[default] +; +; All paths are presumed to be under /var/lib/asterisk/keys unless +; the path begins with '/' +; +; Specify the private keyfile. If unspecified, defaults to the name +; of the section followed by "-privatekey.pem" (e.g. default-privatekey.pem) +; +;privatekey=pkey.pem +; +; Specify the local certificate file. If unspecified, defaults to +; the name of the section followed by "-localcert.pem" +; +;localcert=localcert.pem +; +; Specify one or more Certificate Authority keys. If none are listed, +; a single one is added with the name "-cacert.pem" +; +;cacert=cacert_0.pem +; +; Specific parameters can be tuned as well: +; +; maxconnections: Max number of simultaneous connections to the provider (default=20) +; retrydelay: Extra delay between retries (default=0) +; retrylimit: Max number of retries before giving up (default=2) +; timeout: Timeout for response in milliseconds (default=500) +; +;maxconnections=20 +;retrydelay=0 +;retrylimit=2 +;timeout=500 +; +; List all service points for this provider +; +;servicepoint=http://osptestserver.transnexus.com:1080/osp +; +; Set the "source" for requesting authorization +; +;source=foo +; +; Set the authentication policy. +; 0 - NO +; 1 - YES +; 2 - EXCLUSIVE +; Default is 1, validate token but allow no token. +; +;authpolicy=1 diff --git a/1.4.23-rc4/configs/oss.conf.sample b/1.4.23-rc4/configs/oss.conf.sample new file mode 100644 index 000000000..fb2d0281a --- /dev/null +++ b/1.4.23-rc4/configs/oss.conf.sample @@ -0,0 +1,75 @@ +; +; Automatically generated from ../channels/chan_oss.c +; + +[general] + ; General config options, with default values shown. + ; You should use one section per device, with [general] being used + ; for the first device and also as a template for other devices. + ; + ; All but 'debug' can go also in the device-specific sections. + ; + ; debug = 0x0 ; misc debug flags, default is 0 + + ; Set the device to use for I/O + ; device = /dev/dsp + + ; Optional mixer command to run upon startup (e.g. to set + ; volume levels, mutes, etc. + ; mixer = + + ; Software mic volume booster (or attenuator), useful for sound + ; cards or microphones with poor sensitivity. The volume level + ; is in dB, ranging from -20.0 to +20.0 + ; boost = n ; mic volume boost in dB + + ; Set the callerid for outgoing calls + ; callerid = John Doe <555-1234> + + ; autoanswer = no ; no autoanswer on call + ; autohangup = yes ; hangup when other party closes + ; extension = s ; default extension to call + ; context = default ; default context for outgoing calls + ; language = "" ; default language + + ; If you set overridecontext to 'yes', then the whole dial string + ; will be interpreted as an extension, which is extremely useful + ; to dial SIP, IAX and other extensions which use the '@' character. + ; The default is 'no' just for backward compatibility, but the + ; suggestion is to change it. + ; overridecontext = no ; if 'no', the last @ will start the context + ; if 'yes' the whole string is an extension. + + ; low level device parameters in case you have problems with the + ; device driver on your operating system. You should not touch these + ; unless you know what you are doing. + ; queuesize = 10 ; frames in device driver + ; frags = 8 ; argument to SETFRAGMENT + + ;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- + ; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of an + ; OSS channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The OSS channel can't accept jitter, + ; thus an enabled jitterbuffer on the receive OSS side will always + ; be used if the sending side can create jitter. + + ; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + + ; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + + ; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of an OSS + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + + ; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". + ;----------------------------------------------------------------------------------- + + +[card1] + ; device = /dev/dsp1 ; alternate device + diff --git a/1.4.23-rc4/configs/phone.conf.sample b/1.4.23-rc4/configs/phone.conf.sample new file mode 100644 index 000000000..649edc7bb --- /dev/null +++ b/1.4.23-rc4/configs/phone.conf.sample @@ -0,0 +1,49 @@ +; +; Linux Telephony Interface +; +; Configuration file +; +[interfaces] +; +; Select a mode, either the phone jack provides dialtone, reads digits, +; then starts PBX with the given extension (dialtone mode), or +; immediately provides the PBX without reading any digits or providing +; any dialtone (this is the immediate mode, the default). Also, you +; can set the mode to "fxo" if you have a linejack to make it operate +; properly. If you are using a Sigma Designs board you may set this to +; "sig". +; +mode=immediate +;mode=dialtone +;mode=fxo +;mode=sig +; +; You can decide which format to use by default, "g723.1" or "slinear". +; XXX Be careful, sometimes the card causes kernel panics when running +; in signed linear mode for some reason... XXX +; +format=slinear +;format=g723.1 +; +; And set the echo cancellation to "off", "low", "medium", and "high". +; This is not supported on all phones. +; +echocancel=medium +; +; You can optionally use VAD/CNG silence suppression +; +;silencesupression=yes +; +; List all devices we can use. Contexts may also be specified +; +;context=local +; +; You can set txgain and rxgain for each device in the same way as context. +; If you want to change default gain value (1.0 =~ 100%) for device, simple +; add txgain or rxgain line before device line. But remember, if you change +; volume all cards listed below will be affected by these values. You can +; use float values (1.0, 0.5, 2.0) or percentage values (100%, 150%, 50%). +; +;txgain=100% +;rxgain=1.0 +;device => /dev/phone0 diff --git a/1.4.23-rc4/configs/privacy.conf.sample b/1.4.23-rc4/configs/privacy.conf.sample new file mode 100644 index 000000000..0236bccb7 --- /dev/null +++ b/1.4.23-rc4/configs/privacy.conf.sample @@ -0,0 +1,3 @@ +[general] + +maxretries = 2 ;How many chances the caller has to enter their number diff --git a/1.4.23-rc4/configs/queues.conf.sample b/1.4.23-rc4/configs/queues.conf.sample new file mode 100644 index 000000000..53900e29e --- /dev/null +++ b/1.4.23-rc4/configs/queues.conf.sample @@ -0,0 +1,311 @@ +[general] +; +; Global settings for call queues +; +; Persistent Members +; Store each dynamic member in each queue in the astdb so that +; when asterisk is restarted, each member will be automatically +; read into their recorded queues. Default is 'yes'. +; +persistentmembers = yes +; +; AutoFill Behavior +; The old/current behavior of the queue has a serial type behavior +; in that the queue will make all waiting callers wait in the queue +; even if there is more than one available member ready to take +; calls until the head caller is connected with the member they +; were trying to get to. The next waiting caller in line then +; becomes the head caller, and they are then connected with the +; next available member and all available members and waiting callers +; waits while this happens. The new behavior, enabled by setting +; autofill=yes makes sure that when the waiting callers are connecting +; with available members in a parallel fashion until there are +; no more available members or no more waiting callers. This is +; probably more along the lines of how a queue should work and +; in most cases, you will want to enable this behavior. If you +; do not specify or comment out this option, it will default to no +; to keep backward compatibility with the old behavior. +; +autofill = yes +; +; Monitor Type +; By setting monitor-type = MixMonitor, when specifying monitor-format +; to enable recording of queue member conversations, app_queue will +; now use the new MixMonitor application instead of Monitor so +; the concept of "joining/mixing" the in/out files now goes away +; when this is enabled. You can set the default type for all queues +; here, and then also change monitor-type for individual queues within +; queue by using the same configuration parameter within a queue +; configuration block. If you do not specify or comment out this option, +; it will default to the old 'Monitor' behavior to keep backward +; compatibility. +; +monitor-type = MixMonitor +; +; Note that a timeout to fail out of a queue may be passed as part of +; an application call from extensions.conf: +; Queue(queuename|[options]|[optionalurl]|[announceoverride]|[timeout]) +; example: Queue(dave|t|||45) + +;[markq] +; +; A sample call queue +; +; Musicclass sets which music applies for this particular call queue. +; The only class which can override this one is if the MOH class is set +; directly on the channel using Set(CHANNEL(musicclass)=whatever) in the +; dialplan. +; +;musicclass = default +; +; An announcement may be specified which is played for the member as +; soon as they answer a call, typically to indicate to them which queue +; this call should be answered as, so that agents or members who are +; listening to more than one queue can differentiated how they should +; engage the customer +; +;announce = queue-markq +; +; A strategy may be specified. Valid strategies include: +; +; ringall - ring all available channels until one answers (default) +; roundrobin - take turns ringing each available interface +; leastrecent - ring interface which was least recently called by this queue +; fewestcalls - ring the one with fewest completed calls from this queue +; random - ring random interface +; rrmemory - round robin with memory, remember where we left off last ring pass +; +;strategy = ringall +; +; Second settings for service level (default 0) +; Used for service level statistics (calls answered within service level time +; frame) +;servicelevel = 60 +; +; A context may be specified, in which if the user types a SINGLE +; digit extension while they are in the queue, they will be taken out +; of the queue and sent to that extension in this context. +; +;context = qoutcon +; +; How long do we let the phone ring before we consider this a timeout... +; +;timeout = 15 +; +; How long do we wait before trying all the members again? +; +;retry = 5 +; +; Weight of queue - when compared to other queues, higher weights get +; first shot at available channels when the same channel is included in +; more than one queue. +; +;weight=0 +; +; After a successful call, how long to wait before sending a potentially +; free member another call (default is 0, or no delay) +; +;wrapuptime=15 +; +; Autofill will follow queue strategy but push multiple calls through +; at same time until there are no more waiting callers or no more +; available members. The per-queue setting of autofill allows you +; to override the default setting on an individual queue level. +; +;autofill=yes +; +; Autopause will pause a queue member if they fail to answer a call +; +;autopause=yes +; +; Maximum number of people waiting in the queue (0 for unlimited) +; +;maxlen = 0 +; +; If set to yes, just prior to the caller being bridged with a queue member +; the MEMBERINTERFACE variable will be set with the interface name (eg. Agent/1234) +; of the queue member that was chosen and is now connected to be bridged with +; the caller +; +;setinterfacevar=no +; +; How often to announce queue position and/or estimated +; holdtime to caller (0=off) +; +;announce-frequency = 90 +; +; +; How often to make any periodic announcement (see periodic-announce) +; +;periodic-announce-frequency=60 +; +; Should we include estimated hold time in position announcements? +; Either yes, no, or only once. +; Hold time will be announced as the estimated time, +; or "less than 2 minutes" when appropriate. +; +;announce-holdtime = yes|no|once + +; +; What's the rounding time for the seconds? +; If this is non-zero, then we announce the seconds as well as the minutes +; rounded to this value. +; +; announce-round-seconds = 10 +; +; Use these sound files in making position/holdtime announcements. The +; defaults are as listed below -- change only if you need to. +; + ; ("You are now first in line.") +;queue-youarenext = queue-youarenext + ; ("There are") +;queue-thereare = queue-thereare + ; ("calls waiting.") +;queue-callswaiting = queue-callswaiting + ; ("The current est. holdtime is") +;queue-holdtime = queue-holdtime + ; ("minutes.") +;queue-minutes = queue-minutes + ; ("seconds.") +;queue-seconds = queue-seconds + ; ("Thank you for your patience.") +;queue-thankyou = queue-thankyou + ; ("less than") +;queue-lessthan = queue-less-than + ; ("Hold time") +;queue-reporthold = queue-reporthold + ; ("All reps busy / wait for next") +;periodic-announce = queue-periodic-announce +; +; Calls may be recorded using Asterisk's monitor/MixMonitor resource +; This can be enabled from within the Queue application, starting recording +; when the call is actually picked up; thus, only successful calls are +; recorded, and you are not recording while people are listening to MOH. +; To enable monitoring, simply specify "monitor-format"; it will be disabled +; otherwise. +; +; You can specify the monitor filename with by calling +; Set(MONITOR_FILENAME=foo) +; Otherwise it will use MONITOR_FILENAME=${UNIQUEID} +; +; Pick any one valid extension for monitor format recording. If you leave +; monitor-format commented out, it will not record calls. +; +; monitor-format = gsm|wav|wav49 +; +; Monitor Type +; By setting monitor-type = MixMonitor, when specifying monitor-format +; to enable recording of queue member conversations, app_queue will +; now use the new MixMonitor application instead of Monitor so +; the concept of "joining/mixing" the in/out files now goes away +; when this is enabled. If you do not specify or comment out this option, +; it will default to the old 'Monitor' behavior to keep backward +; compatibility. +; +; monitor-type = MixMonitor +; +; ----------------------- TYPE MIXMONITOR OPTIONS ----------------------------- +; +; +; You can specify the options supplied to MixMonitor by calling +; Set(MONITOR_OPTIONS=av(<x>)V(<x>)W(<x>)) +; The 'b' option for MixMonitor (only save audio to the file while bridged) is +; implied. +; +; You can specify a post recording command to be executed after the end of +; recording by calling +; Set(MONITOR_EXEC=mv /var/spool/asterisk/monitor/^{MONITOR_FILENAME} /tmp/^{MONITOR_FILENAME}) +; +; The command specified within the contents of MONITOR_EXEC will be executed when +; the recording is over. Any strings matching ^{X} will be unescaped to ${X} and +; all variables will be evaluated just prior to recording being started. +; +; The contents of MONITOR_FILENAME will also be unescaped from ^{X} to ${X} and +; all variables will be evaluated just prior to recording being started. +; +; +; This setting controls whether callers can join a queue with no members. There +; are three choices: +; +; yes - callers can join a queue with no members or only unavailable members +; no - callers cannot join a queue with no members +; strict - callers cannot join a queue with no members or only unavailable +; members +; +; joinempty = yes +; +; +; If you wish to remove callers from the queue when new callers cannot join, +; set this setting to one of the same choices for 'joinempty' +; +; leavewhenempty = yes +; +; +; If this is set to yes, the following manager events will be generated: +; AgentCalled, AgentDump, AgentConnect, AgentComplete; setting this to +; vars also sends all channel variables with the event. +; (may generate some extra manager events, but probably ones you want) +; +; eventwhencalled = yes|no|vars +; +; If this is set to yes, the following manager events will be generated: +; QueueMemberStatus +; (may generate a WHOLE LOT of extra manager events) +; +; eventmemberstatus = no +; +; If you wish to report the caller's hold time to the member before they are +; connected to the caller, set this to yes. +; +; reportholdtime = no +; +; If you want the queue to avoid sending calls to members whose devices are +; known to be 'in use' (via the channel driver supporting that device state) +; uncomment this option. (Note: only the SIP channel driver currently is able +; to report 'in use'.) +; +; ringinuse = no +; +; If you wish to have a delay before the member is connected to the caller (or +; before the member hears any announcement messages), set this to the number of +; seconds to delay. +; +; memberdelay = 0 +; +; If timeoutrestart is set to yes, then the timeout for an agent to answer is +; reset if a BUSY or CONGESTION is received. This can be useful if agents +; are able to cancel a call with reject or similar. +; +; timeoutrestart = no +; +; Each member of this call queue is listed on a separate line in +; the form technology/dialstring. "member" means a normal member of a +; queue. An optional penalty may be specified after a comma, such that +; entries with higher penalties are considered last. An optional member +; name may also be specified after a second comma, which is used in log +; messages as a "friendly name". Multiple interfaces may share a single +; member name. +; +; It is important to ensure that channel drivers used for members are loaded +; before app_queue.so itself or they may be marked invalid until reload. This +; can be accomplished by explicitly listing them in modules.conf before +; app_queue.so. Additionally, if you use Local channels as queue members, you +; must also preload pbx_config.so (or pbx_ael.so, pbx_lua.so, or +; pbx_realtime.so, depending on how your dialplan is configured). +; +;member => Zap/1 +;member => Zap/2,10 +;member => Zap/3,10,Bob Johnson +;member => Agent/1001 +;member => Agent/1002 + +; +; Note that using agent groups is probably not what you want. Strategies do +; not propagate down to the Agent system so if you want round robin, least +; recent, etc, you should list all the agents in this file individually and not +; use agent groups. +; +;member => Agent/@1 ; Any agent in group 1 +;member => Agent/:1,1 ; Any agent in group 1, wait for first + ; available, but consider with penalty + diff --git a/1.4.23-rc4/configs/res_odbc.conf.sample b/1.4.23-rc4/configs/res_odbc.conf.sample new file mode 100644 index 000000000..4b5fe428f --- /dev/null +++ b/1.4.23-rc4/configs/res_odbc.conf.sample @@ -0,0 +1,49 @@ +;;; 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, +; so you can't have different values for different connections. +[ENV] +INFORMIXSERVER => my_special_database +INFORMIXDIR => /opt/informix + +; All other sections are arbitrary names for database connections. + +[asterisk] +enabled => no +dsn => asterisk +;username => myuser +;password => mypass +pre-connect => yes + + +[mysql2] +enabled => no +dsn => MySQL-asterisk +username => myuser +password => mypass +pre-connect => yes +; +; On some databases, the connection times out and a reconnection will be +; necessary. This setting configures the amount of time a connection +; may sit idle (in seconds) before a reconnection will be attempted. +;idlecheck => 3600 + +; Certain servers, such as MS SQL Server and Sybase use the TDS protocol, which +; limits the number of active queries per connection to 1. By setting up pools +; of connections, Asterisk can be made to work with these servers. +[sqlserver] +enabled => no +dsn => mickeysoft +pooling => yes +limit => 5 +username => oscar +password => thegrouch +pre-connect => yes +; Many databases have a default of '\' to escape special characters. MS SQL +; Server does not. +backslash_is_escape => no + + + + diff --git a/1.4.23-rc4/configs/res_pgsql.conf.sample b/1.4.23-rc4/configs/res_pgsql.conf.sample new file mode 100644 index 000000000..1ec2293e2 --- /dev/null +++ b/1.4.23-rc4/configs/res_pgsql.conf.sample @@ -0,0 +1,14 @@ +; +; Sample configuration for res_config_pgsql +; +; The value of dbhost may be either a hostname or an IP address. +; If dbhost is commented out or the string "localhost", a connection +; to the local host is assumed and dbsock is used instead of TCP/IP +; to connect to the server. +; +[general] +dbhost=127.0.0.1 +dbport=5432 +dbname=asterisk +dbuser=asterisk +dbpass=password diff --git a/1.4.23-rc4/configs/res_snmp.conf.sample b/1.4.23-rc4/configs/res_snmp.conf.sample new file mode 100644 index 000000000..5ca09d576 --- /dev/null +++ b/1.4.23-rc4/configs/res_snmp.conf.sample @@ -0,0 +1,10 @@ +; +; Configuration file for res_snmp +; + +[general] +; We run as a subagent per default -- to run as a full agent +; we must run as root (to be able to bind to port 161) +;subagent = yes +; SNMP must be explicitly enabled to be active +;enabled = yes diff --git a/1.4.23-rc4/configs/rpt.conf.sample b/1.4.23-rc4/configs/rpt.conf.sample new file mode 100644 index 000000000..6aee784dc --- /dev/null +++ b/1.4.23-rc4/configs/rpt.conf.sample @@ -0,0 +1,193 @@ +; Radio Repeater / Remote Base configuration file (for use with app_rpt) +; As of app_rpt version 0.39, 12/20/2005 +; + +;[000] ; Node ID of first repeater + +;rxchannel = Zap/1 ; Rx audio/signalling channel +; Note: if you use a unified interface (tx/rx on one channel), only +; specify the rxchannel and the txchannel will be assumed from the rxchannel +;txchannel = Zap/2 ; Tx audio/signalling channel +;duplex = 2 ; (Optional) set duplex operating mode +;; 0 = half duplex (telemetry and courtesy tones do not transmit) +;; 1 = semi-half duplex (telemetry and courtesy tones transmit, but not +;; repeated audio +;; 2 = normal full-duplex mode (Default) +;; 3 = full-duplex mode, without repeated audio from main input source +;functions = functions-repeater ; DTMF function list +;; specify this for a different function list then local when on link +;;link_functions = functions-different ; DTMF function list for link +;;phone_functions = functions-phone ; (optional) different functions for 'P' mode +;;dphone_functions = functions-dphone ; (optional) different functions for 'D' mode +;;nodes = nodes-different ; (optional) different node list +;tonezone = us ; use US tones (default) +;context = default ; dialing context for phone +;callerid = "WB6NIL Repeater" <(213) 555-0123> ; Callerid for phone calls +;idrecording = wb6nil ; id recording +;accountcode=RADIO ; account code (optional) +;funcchar = * ; function lead-in character (defaults to '*') +;endchar = # ; command mode end character (defaults to '#') +;;nobusyout=yes ; (optional) Do not busy-out reverse-patch when + ; normal patch in use +;hangtime=1000 ; squelch tail hang time (in ms) (optional) +;totime=100000 ; transmit time-out time (in ms) (optional) +;idtime=30000 ; id interval time (in ms) (optional) +;politeid=30000 ; time in milliseconds before ID timer + ; expires to try and ID in the tail. + ; (optional, default is 30000). +;idtalkover=|iwb6nil/rpt ; Talkover ID (optional) default is none +;unlinkedct=ct2 ; unlinked courtesy tone (optional) default is none + +;; The tailmessagetime,tailsquashedtime, and tailmessages need to be set +;; to support tail messages. They can be omitted otherwise. +;tailmessagetime=300000 ; Play a tail message every 5 mins +;tailsquashedtime=30000 ; If squashed by another user, +;; try again after 30 seconds +;tailmessages=msg1,msg2,msg3 ;list of messages to be played for tail message + +; The default values for hangtime, time-out time, and id interval time are +; 5 seconds (5000 ms), 3 minutes (180000 ms), and 5 minutes (300000 ms) +; respectively + +;[001] ; Node ID of first repeater + +;rxchannel = Zap/3 ; Rx audio/signalling channel +; Note: if you use a unified interface (tx/rx on one channel), only +; specify the rxchannel and the txchannel will be assumed from the rxchannel +;txchannel = Zap/4 ; Tx audio/signalling channel +;functions = functions-repeater ; DTMF function list +;; specify this for a different function list then local when on link +;;link_functions = functions-different ; DTMF function list for link +;;phone_functions = functions-phone ; (optional) different functions for 'P' mode +;;dphone_functions = functions-dphone ; (optional) different functions for 'D' mode +;;nodes = nodes-different ; (optional) different node list +;tonezone = us ; use US tones (default) +;context = default ; dialing context for phone +;callerid = "WB6NIL Repeater" <(213) 555-0123> ; Callerid for phone calls +;idrecording = wb6nil ; id recording +;accountcode=RADIO ; account code (optional) +;funcchar = * ; function lead-in character (defaults to '*') +;endchar = # ; command mode end character (defaults to '#') +;;nobusyout=yes ; (optional) Do not busy-out reverse-patch when + ; normal patch in use +;hangtime=1000 ; squelch tail hang time (in ms) (optional) +;totime=100000 ; transmit time-out time (in ms) (optional) +;idtime=30000 ; id interval time (in ms) (optional) +;politeid=30000 ; time in milliseconds before ID timer + ; expires to try and ID in the tail. + ; (optional, default is 30000). +;idtalkover=|iwb6nil/rpt ; Talkover ID (optional) default is none +;unlinkedct=ct2 ; unlinked courtesy tone (optional) default is none + +;[002] ; Node ID of remote base + +;rxchannel = Zap/5 ; Rx audio/signalling channel +; Note: if you use a unified interface (tx/rx on one channel), only +; specify the rxchannel and the txchannel will be assumed from the rxchannel +;txchannel = Zap/6 ; Tx audio/signalling channel +;functions = functions-remote +;remote = ft897 ; Set remote=y for dumb remote or + ; remote=ft897 for Yaesu FT-897 or + ; remote=rbi for Doug Hall RBI1 +;iobase = 0x378 ; Specify IO port for parallel port (optional) + +;[functions-repeater] +;1=ilink,1 ; Specific link disconnect +;2=ilink,2 ; Specific Link connect - monitor only +;3=ilink,3 ; Specific Link connect - transceive +;4=ilink,4 ; Enter command mode on a specific link +;7=ilink,5 ; Link status +;;XX=ilink,6 ; Disconnect all links (not used here) + +;80=status,1 ; System info +;81=status,2 ; Time +;82=status,3 ; app_rpt.c Version + +;6=autopatchup ; Autopatch up +;0=autopatchdn ; Autopatch down + +;90=cop,1 ; System warm boot +;91=cop,2 ; System enable +;92=cop,3 ; System disable + +;[functions-remote] + +;0=remote,1 ; Retrieve Memory +;1=remote,2 ; Set freq. +;2=remote,3 ; Set Rx PL tone. +;40=remote,100 ; Rx PL off +;41=remote,101 ; Rx PL on +;42=remote,102 ; Tx PL off +;43=remote,103 ; Tx PL on +;44=remote,104 ; Low Pwr +;45=remote,105 ; Med Pwr +;46=remote,106 ; Hi Pwr +;5=remote,5 ; Status + +;[telemetry] + +; Telemetry entries are shared across all repeaters +; Can be a tone sequence, morse string, or a file +; +; |t - Tone escape sequence +; +; Tone sequences consist of 1 or more 4-tuple entries (freq1, freq2, duration, amplitude) +; Single frequencies are created by setting freq1 or freq2 to zero. +; +; |m - Morse escape sequence +; +; Sends Morse code at the telemetry amplitude and telemetry frequency as defined in the +; [morse] section. +; +; Follow with an alphanumeric string +; +; |i - Morse ID escape sequence +; +; Sends Morse code at the ID amplitude and ID frequency as defined in the +; [morse] section. +; +; Follow with an alphanumeric string + + +;ct1=|t(350,0,100,2048)(500,0,100,2048)(660,0,100,2048) +;ct2=|t(660,880,150,2048) +;ct3=|t(440,0,150,2048) +;ct4=|t(550,0,150,2048) +;ct5=|t(660,0,150,2048) +;ct6=|t(880,0,150,2048) +;ct7=|t(660,440,150,2048) +;ct8=|t(700,1100,150,2048) +;remotetx=|t(2000,0,75,2048)(0,0,75,0)(1600,0,75,2048); +;remotemon=|t(1600,0,75,2048) +;cmdmode=|t(900,903,200,2048) +;functcomplete=|t(1000,0,100,2048)(0,0,100,0)(1000,0,100,2048) + + +;[morse] + +;speed=20 ; Approximate speed in WPM +;frequency=800 ; Morse Telemetry Frequency +;amplitude=4096 ; Morse Telemetry Amplitude +;idfrequency=330 ; Morse ID Frequency +;idamplitude=2048 ; Morse ID Amplitude + +;[nodes] + +;000 = context_A@foo.bar.com/1234,foo.bar.com +;001 = context_B@baz.waldo.com/4321,baz.waldo.com +;002 = context_C@pepper.salt.com/5678,pepper.salt.com,y ; this is a remote + +;of course, you can also specify these with domain names, but why rely +;on DNS working unnecessarily? + +;[memory] + +;; this example gives you 146.460, simplex, 100.0 HZ PL, hi-power, transmit PL +;00 = 146.460,100.0,sht +;; this example gives you 146.940, minus offset, 100.0 HZ PL, low-power, no PL +;01 = 146.940,100.0,-l + +; The format for these entries is: Receive-Freq,Receive-PL,Attrbutes +; Attributes: l=low power, m=medium power, h=high power, -=minus offset, +; s=simplex, +=plus offset, t=tx PL enable, r=rx PL enable + diff --git a/1.4.23-rc4/configs/rtp.conf.sample b/1.4.23-rc4/configs/rtp.conf.sample new file mode 100644 index 000000000..a96a0a09b --- /dev/null +++ b/1.4.23-rc4/configs/rtp.conf.sample @@ -0,0 +1,22 @@ +; +; RTP Configuration +; +[general] +; +; RTP start and RTP end configure start and end addresses +; +; Defaults are rtpstart=5000 and rtpend=31000 +; +rtpstart=10000 +rtpend=20000 +; +; Whether to enable or disable UDP checksums on RTP traffic +; +;rtpchecksums=no +; +; The amount of time a DTMF digit with no 'end' marker should be +; allowed to continue (in 'samples', 1/8000 of a second) +; +;dtmftimeout=3000 +; rtcpinterval = 5000 ; Milliseconds between rtcp reports + ;(min 500, max 60000, default 5000) diff --git a/1.4.23-rc4/configs/say.conf.sample b/1.4.23-rc4/configs/say.conf.sample new file mode 100644 index 000000000..c5ad62071 --- /dev/null +++ b/1.4.23-rc4/configs/say.conf.sample @@ -0,0 +1,171 @@ +; say.conf +; +; language configuration +; +; The new language routines produce strings of the form +; prefix:[format:]data +; that are matched against the rules in this file to produce +; an output. +; +; The data is generally the string to be spelled (either a number, +; an ascii string or a date/time in the format specified below). +; It is available, in the right hand side of a rule, as variable ${SAY}. +; +; The format is optional and normally used only for date/time. +; The prefix is used to select the pronunciation - standard +; prefixes are +; num used for numbers +; enum used for enumerations +; date for dates +; time for times +; datetime for dates and times +; char for character strings +; phonetic for phonetic strings +; digit for digit strings +; +; but others can be used at will. +; +; Processing occurs as follows: +; If the format is empty, or there is no format, the entire +; string is matched against one of the pattern on the left hand side. +; On the first match, the various comma-separated components on the right +; hand side are pronounced, as follows: +; + a component starting with a prefix: (i.e. with a ':' in it) +; is re-processed according to these rules; +; + a component without a ':' in it is considered a filename and +; the corresponding file is played. +; +; If the format is non-empty, the format is split into its components +; (individual characters, or filenames in single quotes), and then +; filenames are played, whereas single characters are used to +; generate a new string format:pat:data to be processed. +; +; DATES/AND TIMES assume that the date info is available in +; the form YYYYMMDDHHmm.ss-dow-doy +; with 4 digits for the year, 2 for month, day, hour, minutes, seconds, +; one digit for the day-of-week, and 3 digits for the day-of-year. +; +; Example: +; datetime::200604172030.00-4-102 +; (typical format for a date) is first matched against the line +; datetime::. => date:AdBY 'digits/at' IMp:${SAY} +; which is normally present with the default format for dates. +; In turn, the format string "AdBY 'digits/at' IMp" results in +; the sequence +; date:A:200604172030.00-4-102 +; date:d:200604172030.00-4-102 +; date:B:200604172030.00-4-102 +; date:Y:200604172030.00-4-102 +; digits/at +; date:I:200604172030.00-4-102 +; date:M:200604172030.00-4-102 +; date:p:200604172030.00-4-102 +; +; +; Remember, normally X Z N are special, and the search is +; case insensitive, so you must use [X] [N] [Z] .. if you +; want exact match. + +; We start with the basic rules that might be more-or-less +; language-independent + +[digit-base](!) ; base rule for digit strings + ; XXX incomplete yet + _digit:[0-9] => digits/${SAY} + _digit:[-] => letters/dash + _digit:[*] => letters/star + _digit:[@] => letters/at + _digit:[0-9]. => digit:${SAY:0:1}, digit:${SAY:1} + +[date-base](!) ; base rules for dates and times + ; 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:[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:[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 + +[en-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:0:1}0, num:${SAY:1} + _[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + + _[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1} + _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2} + _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3} + + _[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2} + _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3} + + _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1} + _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2} + _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3} + + ; 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] => num:${SAY:0:1}0, digits/h-${SAY:1} + _e[n]um:[1-9]XX => num:${SAY:0:1}, digits/hundred, enum:${SAY:1} + +[it](digit-base,date-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:0:1}0, num:${SAY:1} + _[n]um:1XX => digits/hundred, num:${SAY:1} + _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1} + + _[n]um:1XXX => digits/thousand, num:${SAY:1} + _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1} + _[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2} + _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3} + + _[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1} + _[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1} + _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2} + _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3} + + _datetime::. => date:AdBY 'digits/at' IMp:${SAY} + _date::. => date:AdBY:${SAY} + _time::. => date:IMp:${SAY} + +[en](en-base,date-base,digit-base) + _datetime::. => date:AdBY 'digits/at' IMp:${SAY} + _date::. => date:AdBY:${SAY} + _time::. => date:IMp:${SAY} + +[de](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:1XX => digits/ein, digits/hundred, num:${SAY:1} + _[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1} + _[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1} + _[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1} + _[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:1XXXXXX => digits/eine, digits/million, num:${SAY:1} + _[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1} + _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2} + _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3} + + _datetime::. => date:AdBY 'digits/at' IMp:${SAY} + _date::. => date:AdBY:${SAY} + _time::. => date:IMp:${SAY} + diff --git a/1.4.23-rc4/configs/sip.conf.sample b/1.4.23-rc4/configs/sip.conf.sample new file mode 100644 index 000000000..25bbb7735 --- /dev/null +++ b/1.4.23-rc4/configs/sip.conf.sample @@ -0,0 +1,685 @@ +; +; SIP Configuration example for Asterisk +; +; Syntax for specifying a SIP device in extensions.conf is +; SIP/devicename where devicename is defined in a section below. +; +; You may also use +; SIP/username@domain to call any SIP user on the Internet +; (Don't forget to enable DNS SRV records if you want to use this) +; +; 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 +; +; 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 debug Show all SIP messages +; +; module reload chan_sip.so Reload configuration file +; Active SIP peers will not be reconfigured +; + +[general] +context=default ; Default context for incoming calls +;allowguest=no ; Allow or reject guest calls (default is yes) +allowoverlap=no ; Disable overlap dialing support. (Default is yes) +;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) + ; Default is enabled +;realm=mydomain.tld ; Realm for digest authentication + ; defaults to "asterisk". If you set a system name in + ; asterisk.conf, it defaults to that system name + ; Realms MUST be globally unique according to RFC 3261 + ; Set this to your host name or domain name +bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) + ; bindport is the local UDP port that Asterisk will listen on +bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) +srvlookup=yes ; Enable DNS SRV lookups on outbound calls + ; Note: Asterisk only uses the first host + ; in SRV records + ; 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, + ; international character conversions in URIs + ; and multiline formatted headers for strict + ; SIP compatibility (defaults to "no") + +; See doc/ip-tos.txt for a description of these parameters. +;tos_sip=cs3 ; Sets TOS for SIP packets. +;tos_audio=ef ; Sets TOS for RTP audio packets. +;tos_video=af41 ; Sets TOS for RTP video packets. + +;maxexpiry=3600 ; Maximum allowed time of incoming registrations + ; and subscriptions (seconds) +;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) +;defaultexpiry=120 ; Default length of incoming/outgoing registration +;t1min=100 ; Minimum roundtrip time for messages to monitored hosts + ; Defaults to 100 ms +;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY +;checkmwi=10 ; Default time between mailbox checks for peers +;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 + ; defaults to "asterisk" +;disallow=all ; First disallow all codecs +;allow=ulaw ; Allow codecs in order of preference +;allow=ilbc ; see doc/rtp-packetization for framing options + +; This option specifies a preference for which music on hold class this channel +; should listen to when put on hold if the music class has not been set on the +; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer +; channel putting this one on hold did not suggest a music class. +; +; This option may be specified globally, or on a per-user or per-peer basis. +; +;mohinterpret=default +; +; This option specifies which music on hold class to suggest to the peer channel +; when this channel places the peer on hold. It may be specified globally or on +; a per-user or per-peer basis. +; +;mohsuggest=default +; +;language=en ; Default language setting for all users/peers + ; This may also be set for individual users/peers +;relaxdtmf=yes ; Relax dtmf handling +;trustrpid = no ; If Remote-Party-ID should be trusted +;sendrpid = yes ; If Remote-Party-ID should be sent +;progressinband=never ; If we should generate in-band ringing always + ; use 'never' to never use in-band signalling, even in cases + ; where some buggy devices might not render it + ; Valid values: yes, no, never Default: never +;useragent=Asterisk PBX ; Allows you to change the user agent string +;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address + ; Note that promiscredir when redirects are made to the + ; local system will cause loops since Asterisk is incapable + ; of performing a "hairpin" call. +;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: + ; info : SIP INFO messages + ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw) + ; auto : Use rfc2833 if offered, inband otherwise + +;compactheaders = yes ; send compact sip headers. +; +;videosupport=yes ; Turn on support for SIP video. You need to turn this on + ; in the this section to get any video support at all. + ; You can turn it off on a per peer basis if the general + ; video support is enabled, but you can't enable it for + ; one peer only without enabling in the general section. +;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 + ; performs events (e.g. hold) +;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, + ; for any reason, always reject with '401 Unauthorized' + ; instead of letting the requester know whether there was + ; a matching user or peer for their request + +;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing + ; order instead of RFC3551 packing order (this is required + ; for Sipura and Grandstream ATAs, among others). This is + ; contrary to the RFC3551 specification, the peer _should_ + ; be negotiating AAL2-G726-32 instead :-( + +;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches + ; your localnet setting. Unless you have some sort of strange network + ; setup you will not need to enable this. + +;dynamic_exclude_static = yes ; Disallow all dynamic hosts from registering + ; as any IP address used for staticly defined + ; hosts. This helps avoid the configuration + ; error of allowing your users to register at + ; the same address as a SIP provider. + +;contactdeny=0.0.0.0/0.0.0.0 ; Use contactpermit and contactdeny to +;contactpermit=172.16.0.0/255.255.0.0 ; restrict at what IPs your users may + ; register their phones. + +; +; 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 +; 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 +; separated by '&'. Patterns may be used in regexten. +; +;regcontext=sipregistrations +; +;--------------------------- RTP timers ---------------------------------------------------- +; These timers are currently used for both audio and video streams. The RTP timeouts +; are only applied to the audio channel. +; The settings are settable in the global section as well as per device +; +;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity + ; on the audio channel + ; when we're not on hold. This is to be able to hangup + ; a call in the case of a phone disappearing from the net, + ; like a powerloss or grandma tripping over a cable. +;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity + ; on the audio channel + ; when we're on hold (must be > rtptimeout) +;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open + ; (default is off - zero) +;--------------------------- 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 + ; (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 + + +;--------------------------- 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 +; +; You will get more detailed reports (busy etc) if you have a call limit set +; for a device. When the call limit is filled, we will indicate busy. Note that +; you need at least 2 in order to be able to do attended transfers. +; +; For queues, you will need this level of detail in status reporting, regardless +; if you use SIP subscriptions. Queues and manager use the same internal interface +; for reading status information. +; +; Note: Subscriptions does not work if you have a realtime dialplan and use the +; realtime switch. +; +;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) +;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) +;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. +;limitonpeers = yes ; Apply call limits 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 limit instead of applying two call limits, + ; 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 +; This has to be enabled in the general section for all devices to work. You can then +; 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 +; +;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------ +; Asterisk can register as a SIP user agent to a SIP proxy (provider) +; Format for the register statement is: +; register => user[:secret[:authuser]]@host[:port][/extension] +; +; If no extension is given, the 's' extension is used. The extension needs to +; be defined in extensions.conf to be able to accept calls from this SIP proxy +; (provider). +; +; host is either a host name defined in DNS or the name of a section defined +; below. +; +; Examples: +; +;register => 1234:password@mysipprovider.com +; +; This will pass incoming calls to the 's' extension +; +; +;register => 2345:password@sip_proxy/1234 +; +; Register 2345 at sip provider 'sip_proxy'. Calls from this provider +; connect to local extension 1234 in extensions.conf, default context, +; 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 +; (instead of type=friend) if you have calls in both directions + +;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 + +;----------------------------------------- NAT SUPPORT ------------------------ +; The externip, externhost and localnet settings are used if you use Asterisk +; behind a NAT device to communicate with services on the outside. + +;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP + ; messages if we're behind a NAT + + ; The externip and localnet is used + ; when registering and communicating with other proxies + ; that we're registered with +;externhost=foo.dyndns.net ; Alternatively you can specify an + ; external host, and Asterisk will + ; perform DNS queries periodically. Not + ; recommended for production + ; environments! Use externip instead +;externrefresh=10 ; How often to refresh externhost if + ; used + ; You may add multiple local networks. A reasonable + ; set of defaults are: +;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks +;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 +;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation +;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network + +; The nat= setting is used when Asterisk is on a public IP, communicating with +; devices hidden behind a NAT device (broadband router). If you have one-way +; audio problems, you usually have problems with your NAT configuration or your +; firewall's support of SIP+RTP ports. You configure Asterisk choice of RTP +; ports for incoming audio in rtp.conf +; +;nat=no ; Global NAT settings (Affects all peers and users) + ; yes = Always ignore info and assume NAT + ; no = Use NAT mode only according to RFC3581 (;rport) + ; never = Never attempt NAT mode or RFC3581 support + ; route = Assume NAT, don't send rport + ; (work around more UNIDEN bugs) + +;----------------------------------- MEDIA HANDLING -------------------------------- +; By default, Asterisk tries to re-invite the audio to an optimal path. If there's +; no reason for Asterisk to stay in the media path, the media will be redirected. +; This does not really work with in the case where Asterisk is outside and have +; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat +; +;canreinvite=yes ; 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 behind a NAT). + ; The default setting is YES. If you have all clients + ; behind a NAT, or for some other reason wants Asterisk to + ; stay in the audio path, you may want to turn this off. + + ; In Asterisk 1.4 this setting also affect direct RTP + ; at call setup (a new feature in 1.4 - setting up the + ; call directly between the endpoints instead of sending + ; a re-INVITE). + +;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 + ; 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. + +;canreinvite=nonat ; An additional option is to allow media path redirection + ; (reinvite) but only when the peer where the media is being + ; sent is known to not be behind a NAT (as the RTP core can + ; determine it based on the apparent IP address the media + ; arrives from). + +;canreinvite=update ; Yet a third option... use UPDATE for media path redirection, + ; instead of INVITE. This can be combined with 'nonat', as + ; 'canreinvite=update,nonat'. It implies 'yes'. + +;----------------------------------------- REALTIME SUPPORT ------------------------ +; For additional information on ARA, the Asterisk Realtime Architecture, +; please read realtime.txt and extconfig.txt in the /doc directory of the +; source code. +; +;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list + ; just like friends added from the config file only on a + ; as-needed basis? (yes|no) + +;rtsavesysname=yes ; Save systemname in realtime database at registration + ; Default= no + +;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. + ; 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. +;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule + ; as if it had just registered? (yes|no|<seconds>) + ; If set to yes, when the registration expires, the friend will + ; vanish from the configuration until requested again. If set + ; to an integer, friends expire within this number of seconds + ; instead of the registration interval. + +;ignoreregexpire=yes ; Enabling this setting has two functions: + ; + ; For non-realtime peers, when their registration expires, the + ; information will _not_ be removed from memory or the Asterisk database + ; if you attempt to place a call to the peer, the existing information + ; will be used in spite of it having expired + ; + ; 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 + ; information will not be removed from realtime storage + +;----------------------------------------- SIP DOMAIN SUPPORT ------------------------ +; Incoming INVITE and REFER messages can be matched against a list of 'allowed' +; domains, each of which can direct the call to a specific context if desired. +; By default, all domains are accepted and sent to the default context or the +; context associated with the user/peer placing the call. +; REGISTER to non-local domains will be automatically denied if a domain +; list is configured. +; +; Domains can be specified using: +; domain=<domain>[,<context>] +; Examples: +; domain=myasterisk.dom +; domain=customer.com,customer-context +; +; In addition, all the 'default' domains associated with a server should be +; added if incoming request filtering is desired. +; autodomain=yes +; +; To disallow requests for domains not serviced by this server: +; allowexternaldomains=no + +;domain=mydomain.tld,mydomain-incoming + ; Add domain and configure incoming context + ; for external calls to this domain +;domain=1.2.3.4 ; Add IP address as local domain + ; You can have several "domain" settings +;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains + ; Default is yes +;autodomain=yes ; Turn this on to have Asterisk add local host + ; name and local IP to domain list. + +; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to + ; non-peers, use your primary domain "identity" + ; for From: headers instead of just your IP + ; 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. + +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; SIP channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The SIP channel can accept jitter, + ; thus a jitterbuffer on the receive SIP side will be used only + ; if it is forced and enabled. + +; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP + ; channel. Defaults to "no". + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmaxsize) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- + +[authentication] +; Global credentials for outbound calls, i.e. when a proxy challenges your +; Asterisk server for authentication. These credentials override +; 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 +; 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 +; 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 +; 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 +; allowoverlap allowoverlap +; allowsubscribe allowsubscribe +; allowtransfer allowtransfer +; subscribecontext subscribecontext +; videosupport videosupport +; maxcallbitrate maxcallbitrate +; rfc2833compensate mailbox +; t38pt_usertpsource username +; template +; fromdomain +; regexten +; fromuser +; host +; port +; qualify +; defaultip +; rtptimeout +; rtpholdtimeout +; sendrpid +; outboundproxy +; rfc2833compensate +; 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 +; since we can not match on username (caller id) +;type=peer +;context=from-fwd +;host=fwd.pulver.com + +;[sip_proxy-out] +;type=peer ; we only want to call out, not be called +;secret=guessit +;username=yourusername ; Authentication user for outbound proxies +;fromuser=yourusername ; Many SIP providers require this! +;fromdomain=provider.sip.domain +;host=box.provider.com +;usereqphone=yes ; This provider requires ";user=phone" on URI +;call-limit=5 ; permit only 5 simultaneous outgoing calls to this peer +;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer + ; Call-limits will not be enforced on real-time peers, + ; since they are not stored in-memory +;port=80 ; The port number we want to connect to on the remote side + ; Also used as "defaultport" in combination with "defaultip" settings + +;------------------------------------------------------------------------------ +; 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 + +;[grandstream1] +;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 +;host=192.168.0.23 ; we have a static but private IP address + ; No registration allowed +;nat=no ; there is not NAT between phone and Asterisk +;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk +;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone +;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time + ; from the phone to asterisk + ; 1 for the explicit peer, 1 for the explicit user, + ; remember that a friend equals 1 peer and 1 user in + ; memory + ; This will affect your subscriptions as well. + ; There is no combined call counter for a "friend" + ; so there's currently no way in sip.conf to limit + ; to one inbound or outbound call per phone. Use + ; the group counters in the dial plan for that. + ; +;mailbox=1234@default ; mailbox 1234 in voicemail context "default" +;disallow=all ; need to disallow=all before we can use allow= +;allow=ulaw ; Note: In user sections the order of codecs + ; listed with allow= does NOT matter! +;allow=alaw +;allow=g723.1 ; Asterisk only supports g723.1 pass-thru! +;allow=g729 ; Pass-thru only unless g729 license obtained +;callingpres=allowed_passed_screen ; Set caller ID presentation + ; See doc/callingpres.txt for more information + + +;[xlite1] +; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)! +; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed +;type=friend +;regexten=1234 ; When they register, create extension 1234 +;callerid="Jane Smith" <5678> +;host=dynamic ; This device needs to register +;nat=yes ; X-Lite is behind a NAT router +;canreinvite=no ; Typically set to NO if behind NAT +;disallow=all +;allow=gsm ; GSM consumes far less bandwidth than ulaw +;allow=ulaw +;allow=alaw +;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes + + +;[snom] +;type=friend ; Friends place calls and receive calls +;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 +;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 + ; subscribes for mailbox notification +;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 +;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! + + +;[polycom] +;type=friend ; Friends place calls and receive calls +;context=from-sip ; Context for incoming calls from this user +;secret=blahpoly +;host=dynamic ; This peer register with us +;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info +;username=polly ; Username to use in INVITE until peer registers + ; Normally you do NOT need to set this parameter +;disallow=all +;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! +;progressinband=no ; Polycom phones don't work properly with "never" + + +;[pingtel] +;type=friend +;secret=blah +;host=dynamic +;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 +; +; Call group and Pickup group should be in the range from 0 to 63 +; +;callgroup=1,3-4 ; We are in caller groups 1,3,4 +;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5 +;defaultip=192.168.0.60 ; IP address to use if peer has not registered +;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address +;permit=192.168.0.60/255.255.255.0 + +;[cisco1] +;type=friend +;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 +;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 + ; behind a NAT). +;defaultip=192.168.0.4 ; IP address to use until registration +;username=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 + +;[pre14-asterisk] +;type=friend +;secret=digium +;host=dynamic +;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine. + ; You must have this turned on or DTMF reception will work improperly. +;t38pt_usertpsource=yes ; Use the source IP address of RTP as the destination IP address for UDPTL packets + ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the + ; external IP address of the remote device. If port forwarding is done at the client side + ; then UDPTL will flow to the remote device. diff --git a/1.4.23-rc4/configs/sip_notify.conf.sample b/1.4.23-rc4/configs/sip_notify.conf.sample new file mode 100644 index 000000000..ca7dbe3d0 --- /dev/null +++ b/1.4.23-rc4/configs/sip_notify.conf.sample @@ -0,0 +1,22 @@ +[polycom-check-cfg] +Event=>check-sync +Content-Length=>0 + +; Untested +[sipura-check-cfg] +Event=>resync +Content-Length=>0 + +; Untested +[grandstream-check-cfg] +Event=>sys-control + +; Untested +[cisco-check-cfg] +Event=>check-sync +Content-Length=>0 + +; Tested +[snom-check-cfg] +Event=>check-sync\;reboot=false +Content-Length=>0 diff --git a/1.4.23-rc4/configs/skinny.conf.sample b/1.4.23-rc4/configs/skinny.conf.sample new file mode 100644 index 000000000..87c37e4d2 --- /dev/null +++ b/1.4.23-rc4/configs/skinny.conf.sample @@ -0,0 +1,96 @@ +; +; Skinny Configuration for Asterisk +; +[general] +bindaddr=0.0.0.0 ; Address to bind to +bindport=2000 ; Port to bind to, default tcp/2000 +dateformat=M-D-Y ; M,D,Y in any order (6 chars max) + ; "A" may also be used, but it must be at the end. + ; Use M for month, D for day, Y for year, A for 12-hour time. +keepalive=120 + +;allow=all ; see doc/rtp-packetization for framing options +;disallow= + +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; skinny channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The skinny channel can accept + ; jitter, thus a jitterbuffer on the receive skinny side will be + ; used only if it is forced and enabled. + +;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a skinny + ; channel. Defaults to "no". + +;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a + ; skinny channel. Two implementations are currently available + ; - "fixed" (with size always equals to jbmaxsize) + ; - "adaptive" (with variable size, actually the new jb of IAX2). + ; Defaults to fixed. + +;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +;----------------------------------------------------------------------------------- + +;----------------------------------- DEVICE OPTIONS -------------------------------- +;earlyrtp=1 ; whether audio signalling should be provided by asterisk + ; (earlyrtp=1) or device generated (earlyrtp=0). + ; defaults to earlyrtp=1 +;----------------------------------------------------------------------------------- + +; Typical config for 12SP+ +;[florian] +;device=SEP00D0BA847E6B +;version=P002G204 ; Thanks critch +;context=did +;line => 120 ; Dial(Skinny/120@florian) + + +; Typical config for a 7910 +;[duba] ; Device name +;device=SEP0007EB463101 ; Official identifier +;version=P002F202 ; Firmware version identifier +;host=192.168.1.144 +;permit=192.168.0/24 ; Optional, used for authentication +;nat=yes +;callerid="George W. Bush" <202-456-1414> +;mailbox=500 +;callwaiting=yes +;transfer=yes +;threewaycalling=yes +;context=default +;line => 500 ; Dial(Skinny/500@duba) +;mohinterpret=default ; This option specifies a default music on hold class to + ; use when put on hold if the channel's moh class was not + ; explicitly set with Set(CHANNEL(musicclass)=whatever) and + ; the peer channel did not suggest a class to use. +;mohsuggest=default ; This option specifies which music on hold class to suggest to the peer channel + ; when this channel places the peer on hold. It may be specified globally or on + ; a per-user or per-peer basis. + +; Typical config for a 7940 with dual 7914s +;[support] +;device=SEP0007EB463121 +;nat=yes +;callerid="Customer Support" <810-234-1212> +;mailbox=100 +;context=inbound +;linelabel="Support Line" ; Displays next to the line + ; button on 7940's and 7960s +;line => 100 +;callerid="John Chambers" <408-526-4000> +;context=did +;linelabel="John" +;mailbox=110 +;line => 110 +;speeddial => 111,Jack Smith +;speeddial => 112,Bob Peterson +;addon => 7914 +;addon => 7914 diff --git a/1.4.23-rc4/configs/sla.conf.sample b/1.4.23-rc4/configs/sla.conf.sample new file mode 100644 index 000000000..fa768c513 --- /dev/null +++ b/1.4.23-rc4/configs/sla.conf.sample @@ -0,0 +1,140 @@ +; +; Configuration for Shared Line Appearances (SLA). +; +; See doc/sla.pdf for more information. +; + +; ---- General Options ---------------- +[general] + +;attemptcallerid=no ; Attempt CallerID handling. The default value for this + ; is "no" because CallerID handling with an SLA setup is + ; known to not work properly in some situations. However, + ; feel free to enable it if you would like. If you do, and + ; you find problems, please do not report them. +; ------------------------------------- + + +; ---- Trunk Declarations ------------- +; +;[line1] ; Provide a name for this trunk. + +;type=trunk ; This line is what marks this entry as a trunk. + +;device=Zap/3 ; Map this trunk declaration to a specific device. + ; NOTE: You can not just put any type of channel here. + ; Zap channels can be directly used. IP trunks + ; require some indirect configuration which is + ; described in doc/sla.pdf. + +;autocontext=line1 ; This supports automatic generation of the dialplan entries + ; if the autocontext option is used. Each trunk should have + ; a unique context name. Then, in chan_dahdi.conf, this device + ; should be configured to have incoming calls go to this context. + +;ringtimeout=30 ; Set how long to allow this trunk to ring on an inbound call before hanging + ; it up as an unanswered call. The value is in seconds. + +;barge=no ; If this option is set to "no", then no station will be + ; allowed to join a call that is in progress. The default + ; value is "yes". + +;hold=private ; This option configure hold permissions for this trunk. + ; "open" - This means that any station can put this trunk + ; on hold, and any station can retrieve it from + ; hold. This is the default. + ; "private" - This means that once a station puts the + ; trunk on hold, no other station will be + ; allowed to retrieve the call from hold. + +;[line2] +;type=trunk +;device=Zap/4 +;autocontext=line2 + +;[line3] +;type=trunk +;device=Zap/3 +;autocontext=line3 + +;[line4] +;type=trunk +;device=Local/disa@line4_outbound ; A Local channel in combination with the Disa + ; application can be used to support IP trunks. + ; See doc/sla.pdf on more information on how + ; IP trunks work. +;autocontext=line4 +; -------------------------------------- + + +; ---- Station Declarations ------------ + +;[station1] ; Define a name for this station. + +;type=station ; This line indicates that this entry is a station. + +;device=SIP/station1 ; Each station must be mapped to a device. + +;autocontext=sla_stations ; This supports automatic generation of the dialplan entries if + ; the autocontext option is used. All stations can use the same + ; context without conflict. The device for this station should + ; have its context configured to the same one listed here. + +;ringtimeout=10 ; Set a timeout for how long to allow the station to ring for an + ; incoming call, in seconds. + +;ringdelay=10 ; Set a time for how long to wait before beginning to ring this station + ; once there is an incoming call, in seconds. + +;hold=private ; This option configure hold permissions for this station. Note + ; that if private hold is set in the trunk entry, that will override + ; anything here. However, if a trunk has open hold access, but this + ; station is set to private hold, then the private hold will be in + ; effect. + ; "open" - This means that once this station puts a call + ; on hold, any other station is allowed to retrieve + ; it. This is the default. + ; "private" - This means that once this station puts a + ; call on hold, no other station will be + ; allowed to retrieve the call from hold. + + +;trunk=line1 ; Individually list all of the trunks that will appear on this station. This + ; order is significant. It should be the same order as they appear on the + ; phone. The order here defines the order of preference that the trunks will + ; be used. +;trunk=line2 +;trunk=line3,ringdelay=5 ; A ring delay for the station can also be specified for a specific trunk. + ; If a ring delay is specified both for the whole station and for a specific + ; trunk on a station, the setting for the specific trunk will take priority. + ; This value is in seconds. + +;trunk=line4,ringtimeout=5 ; A ring timeout for the station can also be specified for a specific trunk. + ; If a ring timeout is specified both for the whole station and for a specific + ; trunk on a station, the setting for the specific trunk will take priority. + ; This value is in seconds. + + +;[station](!) ; When there are a lot of stations that are configured the same way, + ; it is convenient to use a configuration template like this so that + ; the common settings stay in one place. +;type=station +;autocontext=sla_stations +;trunk=line1 +;trunk=line2 +;trunk=line3 +;trunk=line4 + +;[station2](station) ; Define a station that uses the configuration from the template "station". +;device=SIP/station2 +; +;[station3](station) +;device=SIP/station3 +; +;[station4](station) +;device=SIP/station4 +; +;[station5](station) +;device=SIP/station5 +; -------------------------------------- + diff --git a/1.4.23-rc4/configs/smdi.conf.sample b/1.4.23-rc4/configs/smdi.conf.sample new file mode 100644 index 000000000..62464c47b --- /dev/null +++ b/1.4.23-rc4/configs/smdi.conf.sample @@ -0,0 +1,75 @@ +; Asterisk SMDI configuration + +[interfaces] +; Specify serial ports to listen for SMDI messages on below. These will be +; referenced later in chan_dahdi.conf. If you do not specify any interfaces then +; SMDI will be disabled. Interfaces can have several different attributes +; associated with them. + +; Set the number of stop bits to use per character here. The default is no, +; in which case one stop bit will be used. + +;twostopbits = no + +; Character size or bit length is the size of each character sent across the +; link. Character size can be 7 or 8. The default is 7. + +;charsize = 7 + +; If you need parity checking enabled you can turn it on here. Acceptable +; values are even, odd, and none. The default is even. + +;paritybit = even + +; The baudrate to use for this port. Acceptable values are 1200, 2400, 4800, +; and 9600. The default is 9600. + +;baudrate = 1200 + +; Often the numbering scheme for a set of mailboxes or extensions will not be 7 +; or 10 digits (as SMDI requires). Use the msdstrip option to strip unused +; digits from the start of numbers. + +;msdstrip = 0 + +; Occasionally Asterisk and the SMDI switch may become out of sync. If this +; happens, Asterisk will appear one or several calls behind as it processes +; voicemail requests. To prevent this from happening, adjust the msgexpirytime. +; This will make Asterisk discard old SMDI messages that have not yet been +; processed. The default expiry time is 30000 milliseconds. + +;msgexpirytime = 30000 + +;smdiport => /dev/ttyS0 + + +[mailboxes] +; This section configures parameters related to MWI handling for the SMDI link. + +; This option configures the polling interval used to check to see if the +; mailboxes have any new messages. This option is specified in seconds. +; The default value is 10 seconds. +; +;pollinginterval=10 + +; Every other entry in this section of the configuration file is interpreted as +; a mapping between the mailbox ID on the SMDI link, and the local Asterisk +; mailbox name. In many cases, they are the same thing, but they still must be +; listed here so that this module knows which mailboxes it needs to pay +; attention to. +; +; Syntax: +; <SMDI mailbox ID>=<Asterisk Mailbox Name>[@Asterisk Voicemail Context] +; +; If no Asterisk voicemail context is specified, "default" will be assumed. +; +; Before specifying mailboxes, you must specify an SMDI interface. All mailbox +; definitions that follow will correspond to that SMDI interface. If you specify +; another interface, then all definitions following that will correspond to the +; new interface. +; +;smdiport=/dev/ttyS0 +;2565551234=1234@vmcontext1 +;2565555678=5678@vmcontext2 +;smdiport=/dev/ttyS1 +;2565559999=9999 diff --git a/1.4.23-rc4/configs/telcordia-1.adsi b/1.4.23-rc4/configs/telcordia-1.adsi new file mode 100644 index 000000000..1486aa95e --- /dev/null +++ b/1.4.23-rc4/configs/telcordia-1.adsi @@ -0,0 +1,83 @@ +; +; Asterisk default ADSI script +; +; +; Begin with the preamble requirements +; +DESCRIPTION "Telcordia Demo" ; Name of vendor +VERSION 0x02 ; Version of stuff +;SECURITY "_AST" ; Security code +SECURITY 0x0000 ; Security code +FDN 0x0000000f ; Descriptor number + +; +; Predefined strings +; +DISPLAY "talkingto" IS "Talking To" "$Call1p" WRAP +DISPLAY "titles" IS "20th Century IQ Svc" +DISPLAY "newcall" IS "New Call From" "$Call1p" WRAP +DISPLAY "ringing" IS "Ringing" + +; +; Begin state definitions +; +STATE "callup" ; Call is currently up +STATE "inactive" ; No active call + +; +; Begin soft key definitions +; +KEY "CB_OH" IS "Block" OR "Call Block" + OFFHOOK + VOICEMODE + WAITDIALTONE + SENDDTMF "*60" + SUBSCRIPT "offHook" +ENDKEY + +KEY "CB" IS "Block" OR "Call Block" + SENDDTMF "*60" +ENDKEY + +; +; Begin main subroutine +; + +SUB "main" IS + IFEVENT NEARANSWER THEN + CLEAR + SHOWDISPLAY "talkingto" AT 1 + GOTO "stableCall" + ENDIF + IFEVENT OFFHOOK THEN + CLEAR + SHOWDISPLAY "titles" AT 1 + SHOWKEYS "CB" + GOTO "offHook" + ENDIF + IFEVENT IDLE THEN + CLEAR + SHOWDISPLAY "titles" AT 1 + SHOWKEYS "CB_OH" + ENDIF + IFEVENT CALLERID THEN + CLEAR + SHOWDISPLAY "newcall" AT 1 + ENDIF +ENDSUB + +SUB "offHook" IS + IFEVENT FARRING THEN + CLEAR + SHOWDISPLAY "ringing" AT 1 + ENDIF + IFEVENT FARANSWER THEN + CLEAR + SHOWDISPLAY "talkingto" AT 1 + GOTO "stableCall" + ENDIF +ENDSUB + +SUB "stableCall" IS + +ENDSUB diff --git a/1.4.23-rc4/configs/udptl.conf.sample b/1.4.23-rc4/configs/udptl.conf.sample new file mode 100644 index 000000000..05a38d54e --- /dev/null +++ b/1.4.23-rc4/configs/udptl.conf.sample @@ -0,0 +1,30 @@ +; +; UDPTL Configuration (UDPTL is one of the transports for T.38) +; +[general] +; +; UDPTL start and UDPTL end configure start and end addresses +; +udptlstart=4000 +udptlend=4999 +; +; Whether to enable or disable UDP checksums on UDPTL traffic +; +;udptlchecksums=no +; +; The error correction type to be sent +; +T38FaxUdpEC = t38UDPFEC +;T38FaxUdpEC = t38UDPRedundancy +; +; The maximum length of a UDPTL packet +; +T38FaxMaxDatagram = 400 +; +; The number of error correction entries in a UDPTL packet +; +udptlfecentries = 3 +; +; The span over which parity is calculated for FEC in a UDPTL packet +; +udptlfecspan = 3 diff --git a/1.4.23-rc4/configs/users.conf.sample b/1.4.23-rc4/configs/users.conf.sample new file mode 100644 index 000000000..2a816d7e4 --- /dev/null +++ b/1.4.23-rc4/configs/users.conf.sample @@ -0,0 +1,79 @@ +; +; User configuration +; +; Creating entries in users.conf is a "shorthand" for creating individual +; entries in each configuration file. Using users.conf is not intended to +; provide you with as much flexibility as using the separate configuration +; files (e.g. sip.conf, iax.conf, etc) but is intended to accelerate the +; simple task of adding users. Note that creating individual items (e.g. +; custom SIP peers, IAX friends, etc.) will allow you to override specific +; parameters within this file. Parameter names here are the same as they +; appear in the other configuration files. There is no way to change the +; value of a parameter here for just one subsystem. +; + +[general] +; +; Full name of a user +; +fullname = New User +; +; Starting point of allocation of extensions +; +userbase = 6000 +; +; Create voicemail mailbox and use use macro-stdexten +; +hasvoicemail = yes +; +; Set voicemail mailbox 6000 password to 1234 +; +vmsecret = 1234 +; +; Create SIP Peer +; +hassip = yes +; +; Create IAX friend +; +hasiax = yes +; +; Create H.323 friend +; +;hash323 = yes +; +; Create manager entry +; +hasmanager = no +; +; Set permissions for manager entry (see manager.conf.sample for documentation) +; (defaults to *all* permissions) +;managerread = system,call,log,verbose,command,agent,user,config +;managerwrite = system,call,log,verbose,command,agent,user,config +; +; Remaining options are not specific to users.conf entries but are general. +; +callwaiting = yes +threewaycalling = yes +callwaitingcallerid = yes +transfer = yes +canpark = yes +cancallforward = yes +callreturn = yes +callgroup = 1 +pickupgroup = 1 + + +;[6000] +;fullname = Joe User +;email = joe@foo.bar +;secret = 1234 +;zapchan = 1 +;hasvoicemail = yes +;vmsecret = 1234 +;hassip = yes +;hasiax = no +;hash323 = no +;hasmanager = no +;callwaiting = no +;context = international diff --git a/1.4.23-rc4/configs/voicemail.conf.sample b/1.4.23-rc4/configs/voicemail.conf.sample new file mode 100644 index 000000000..8f33ba22f --- /dev/null +++ b/1.4.23-rc4/configs/voicemail.conf.sample @@ -0,0 +1,248 @@ +; +; Voicemail Configuration +; + +; +; NOTE: Asterisk has to edit this file to change a user's password. This does +; not currently work with the "#include <file>" directive for Asterisk +; configuration files, nor when using realtime static configuration. +; Do not use them with this configuration file. +; + +[general] +; Formats for writing Voicemail. Note that when using IMAP storage for +; voicemail, only the first format specified will be used. +;format=g723sf|wav49|wav +format=wav49|gsm|wav +; +; WARNING: +; If you change the list of formats that you record voicemail in +; when you have mailboxes that contain messages, you _MUST_ absolutely +; manually go through those mailboxes and convert/delete/add the +; the message files so that they appear to have been stored using +; your new format list. If you don't do this, very unpleasant +; things may happen to your users while they are retrieving and +; manipulating their voicemail. +; +; In other words: don't change the format list on a production system +; unless you are _VERY_ sure that you know what you are doing and are +; prepared for the consequences. +; +; Who the e-mail notification should appear to come from +serveremail=asterisk +;serveremail=asterisk@linux-support.net +; Should the email contain the voicemail as an attachment +attach=yes +; Maximum number of messages per folder. If not specified, a default value +; (100) is used. Maximum value for this option is 9999. +;maxmsg=100 +; Maximum length of a voicemail message in seconds +;maxmessage=180 +; Minimum length of a voicemail message in seconds for the message to be kept +; The default is no minimum. +;minmessage=3 +; Maximum length of greetings in seconds +;maxgreet=60 +; How many milliseconds to skip forward/back when rew/ff in message playback +skipms=3000 +; How many seconds of silence before we end the recording +maxsilence=10 +; Silence threshold (what we consider silence: the lower, the more sensitive) +silencethreshold=128 +; Max number of failed login attempts +maxlogins=3 +; +; User context is where entries from users.conf are registered. The +; default value is 'default' +; +;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 +; is checked, uncomment this. It can also be set to 'smdi' to use +; smdi for external notification. If it is 'smdi', smdiport should +; be set to a valid port as specified in smdi.conf. + +;externnotify=/usr/bin/myapp +;smdiport=/dev/ttyS0 + +; If you need to have an external program, i.e. /usr/bin/myapp +; called when a voicemail password is changed, uncomment this: +;externpass=/usr/bin/myapp +; For the directory, you can override the intro file if you want +;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 +;adsifdn=0000000F +; The ADSI security lock code +;adsisec=9BDBF7AC +; The ADSI voicemail application version number. +;adsiver=1 +; Skip the "[PBX]:" string from the message title +;pbxskip=yes +; Change the From: string +;fromstring=The Asterisk PBX +; Permit finding entries for forward/compose from the directory +;usedirectory=yes +; Voicemail can be stored in a database using the ODBC driver. +; The value of odbcstorage is the database connection configured +; in res_odbc.conf. +;odbcstorage=asterisk +; The default table for ODBC voicemail storage is voicemessages. +;odbctable=voicemessages +; +; Change the from, body and/or subject, variables: +; VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX, VM_CALLERID, VM_CIDNUM, +; VM_CIDNAME, VM_DATE +; +; Note: The emailbody config row can only be up to 512 characters due to a +; limitation in the Asterisk configuration subsystem. +;emailsubject=[PBX]: New message ${VM_MSGNUM} in mailbox ${VM_MAILBOX} +; The following definition is very close to the default, but the default shows +; just the CIDNAME, if it is not null, otherwise just the CIDNUM, or "an unknown +; caller", if they are both null. +;emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you know you were just left a ${VM_DUR} long message (number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from ${VM_CALLERID}, on ${VM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n +; +; You can also change the Pager From: string, the pager body and/or subject. +; The above defined variables also can be used here +;pagerfromstring=The Asterisk PBX +;pagersubject=New VM +;pagerbody=New ${VM_DUR} long msg in box ${VM_MAILBOX}\nfrom ${VM_CALLERID}, on ${VM_DATE} +; +; Set the date format on outgoing mails. Valid arguments can be found on the +; strftime(3) man page +; +; Default +emaildateformat=%A, %B %d, %Y at %r +; 24h date format +;emaildateformat=%A, %d %B %Y at %H:%M:%S +; +; You can override the default program to send e-mail if you wish, too +; +;mailcmd=/usr/sbin/sendmail -t +; +; 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" +; N Minute, with 00 pronounced as "hundred" (US military time) +; P or p AM or PM +; Q "today", "yesterday" or ABdY +; (*note: not standard strftime value) +; q "" (for today), "yesterday", weekday, or ABdY +; (*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 +; received, to the given mailbox. If pager is specified, a message will be +; sent there as well. If the password is prefixed by '-', then it is +; considered to be unchangeable. +; +; 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=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, + ; or set to no, it will be in the envelope +; 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 + ; from within VoiceMailMain() will not be permitted. +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 + ; if one is not specified. The older behavior was to search all contexts. + ; This option restores the old behavior [DEFAULT=no] +; 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. +; review=yes ; Allow sender to review/rerecord their message before saving it [OFF by default +; operator=yes ; Allow sender to hit 0 before/after/during leaving a voicemail to + ; reach an operator [OFF 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 + ; 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 + ; quiet to be heard. This parameter allows you to specify how + ; 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] +; 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". +; forcegreetings=no ; This is the same as forcename, except for recording + ; greetings. The default is "no". +; hidefromdir=yes ; Hide this mailbox from the directory produced by app_directory + ; The default is "no". +;tempgreetwarn=yes ; Remind the user that their temporary greeting is set + +[zonemessages] +eastern=America/New_York|'vm-received' Q 'digits/at' IMp +central=America/Chicago|'vm-received' Q 'digits/at' IMp +central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours' +military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p' +european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM + + + +[default] + +1234 => 4242,Example Mailbox,root@localhost +;4200 => 9855,Mark Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central|maxmsg=10 +;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|sayduration=yes|saydurationm=1 +;4073 => 1099,Bianca Paige,bianca@biancapaige.com,,delete=1 +;4110 => 3443,Rob Flynn,rflynn@blueridge.net +;4235 => 1234,Jim Holmes,jim@astricon.ips,,Tz=european + + +; +; Mailboxes may be organized into multiple contexts for +; voicemail virtualhosting +; + +[other] +;The intro can be customized on a per-context basis +;directoryintro=dir-company2 +1234 => 5678,Company2 User,root@localhost diff --git a/1.4.23-rc4/configs/vpb.conf.sample b/1.4.23-rc4/configs/vpb.conf.sample new file mode 100644 index 000000000..4a9b0b36a --- /dev/null +++ b/1.4.23-rc4/configs/vpb.conf.sample @@ -0,0 +1,108 @@ +; +; V6PCI/V12PCI config file for VoiceTronix Hardware +; +; Options for [general] section +; +; type = v12pci|v6pci|v4pci +; cards = number of cards +; To use Asterisk indication tones +; indication = 1 +; none,-24db,-18db only for use with OpenLine4 +; ecsuppthres = 0|2048|4096 +; Inter Digit Delay timeout for when collecting DTMF tones for dialling +; from a Station port, in ms +; dtmfidd = 3000 +; To use Asterisk DTMF detection +; ast-dtmf-det=1 +; Used with ast-dtmf-det +; relaxdtmf=1 +; When a native bridge occurs between 2 vpb channels, it will only break +; the connection for '#' and '*' +; break-for-dtmf=no +; Set the maximum period between received rings, default 4000ms +; timer_period_ring=4000 +; +; Options for [interface] section +; board = board_number (1, 2, 3, ...) +; channel = channel_number (1,2,3...) +; mode = fxo|immediate|dialtone -- for type of line and line handling +; context = starting context +; echocancel = on|off (on by default of v4pci, off by default for others) +; callerid = on|off|v23|bell (on => to collect caller ID if available between 1st/2nd rings using vpb functions) +; (v23|bell => collect caller ID using asterisk functions) +; Or for use with FXS channels a '"name" <location>' format can be used to set the channels CID +; +; UseLoopDrop = 0|1 (enables the use of Loop Drop detection, on by default in +; some cases spurious loop-drops can cause unexpected +; hangup detection) +; +; Gain settings +; txgain => Transmit Software Gain (-12 => 12) +; rxgain => Receive Software Gain (-12 => 12) +; txhwgain => Transmit hardware gain (-12 => 12) +; rxhwgain => Receive Hardware gain (-12 => 12) +; +; These are advanced settings and only mentioned for completeness. +; bal1 => Hybrid balance codec register 1 +; bal2 => Hybrid balance codec register 2 +; bal3 => Hybrid balance codec register 3 +; +; Dial translations - if you want a pause or hook-flash in your dial string +; you can use "w" for pause (wait) or "f" for "hook-flash", eg: +; exten => _9XXX,1,Dial(vpb/g1/ww${EXTEN:${TRUNKMSD}}) +; +; + +[general] +type = v12pci +;type = v6pci +;type = v4pci +cards = 1 + +[interfaces] + +board = 0 +echocancel = on + + +; For OpenLine4 cards +;context = demo +;mode = fxo +;channel = 0 +;channel = 1 +;channel = 2 +;channel = 3 + +; For OpenSwith12 with jumpers at factory default +context = demo +mode = fxo +channel = 8 +channel = 9 +channel = 10 +channel = 11 + +context = local +mode = dialtone +channel = 0 +channel = 1 +channel = 2 +channel = 3 +channel = 4 +channel = 5 +channel = 6 +channel = 7 +; +; For OpenSwitch6 +; Note that V6PCI channel numbers start at 7! +;context = demo +;mode = fxo +;channel = 6 +;channel = 7 + +;mode = dialtone +;channel = 8 +;channel = 9 +;channel = 10 +;channel = 11 + + |