forked from MathewFrancis/cezenGIT
Woring dial plan and extensions with yml and dockerfile
This commit is contained in:
parent
20b1bda882
commit
5dba7891f6
17
MySQL_conf_pbx/test1/Dockerfile
Executable file
17
MySQL_conf_pbx/test1/Dockerfile
Executable file
@ -0,0 +1,17 @@
|
||||
FROM andrius/asterisk:edge
|
||||
|
||||
# Add edge/testing repository
|
||||
# RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add asterisk-odbc && \
|
||||
apk add unixodbc && \
|
||||
apk add unixodbc-dev && \
|
||||
apk add mariadb-connector-odbc
|
||||
# apk add --no-cache unixodbc unixodbc-dev mariadb-connector-odbc
|
||||
|
||||
# Copy custom Asterisk config files
|
||||
#COPY asterisk_config/ /etc/asterisk/
|
||||
|
||||
# Start Asterisk in verbose mode
|
||||
CMD ["asterisk", "-fvvvvv"]
|
||||
84
MySQL_conf_pbx/test1/Script-1.sql
Executable file
84
MySQL_conf_pbx/test1/Script-1.sql
Executable file
@ -0,0 +1,84 @@
|
||||
USE asterisk_db;
|
||||
|
||||
CREATE TABLE ps_endpoints (
|
||||
id VARCHAR(40) NOT NULL PRIMARY KEY,
|
||||
transport VARCHAR(40) NULL,
|
||||
aors VARCHAR(200) NULL UNIQUE,
|
||||
auth VARCHAR(40) NULL UNIQUE,
|
||||
context VARCHAR(40) NULL,
|
||||
disallow VARCHAR(200) NULL,
|
||||
allow VARCHAR(200) NULL,
|
||||
direct_media VARCHAR(40) NULL,
|
||||
connected_line_method VARCHAR(40) NULL,
|
||||
callerid VARCHAR(40) NULL,
|
||||
dtmf_mode VARCHAR(40) NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ps_auths (
|
||||
id VARCHAR(40) NOT NULL PRIMARY KEY,
|
||||
auth_type VARCHAR(40) NOT NULL,
|
||||
username VARCHAR(40) NULL UNIQUE,
|
||||
password VARCHAR(40) NULL,
|
||||
md5_cred VARCHAR(40) NULL,
|
||||
realm VARCHAR(40) NULL
|
||||
);
|
||||
|
||||
CREATE TABLE ps_aors (
|
||||
id VARCHAR(40) NOT NULL PRIMARY KEY,
|
||||
max_contacts INTEGER NULL
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE extensions_table (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
context VARCHAR(50) NOT NULL,
|
||||
exten VARCHAR(50) NOT NULL UNIQUE,
|
||||
priority INT NOT NULL,
|
||||
app VARCHAR(50) NOT NULL,
|
||||
appdata VARCHAR(100)
|
||||
);
|
||||
|
||||
|
||||
|
||||
INSERT INTO ps_endpoints (id, transport, aors, auth, context, disallow, allow)
|
||||
VALUES ('1001', 'transport-udp', '1001', '1001', 'default', 'all', 'ulaw,alaw');
|
||||
|
||||
INSERT INTO ps_auths (id, auth_type, username, password)
|
||||
VALUES ('1001', 'userpass', '1001', 'mypassword');
|
||||
|
||||
INSERT INTO ps_aors (id, max_contacts)
|
||||
VALUES ('1001', 1);
|
||||
|
||||
|
||||
|
||||
-- Add Authentication for 1002
|
||||
INSERT INTO ps_auths (id, auth_type, username, password)
|
||||
VALUES ('1002', 'userpass', '1002', 'securepass');
|
||||
|
||||
-- Add Endpoint for 1002
|
||||
INSERT INTO ps_endpoints (id, transport, aors, auth, context, disallow, allow, direct_media)
|
||||
VALUES ('1002', 'transport-udp', '1002', '1002', 'default', 'all', 'ulaw,alaw', 'no');
|
||||
|
||||
-- Add AOR (Address of Record) for 1002
|
||||
INSERT INTO ps_aors (id, max_contacts)
|
||||
VALUES ('1002', 2);
|
||||
|
||||
|
||||
INSERT INTO extensions_table (context, exten, priority, app, appdata)
|
||||
VALUES
|
||||
('default', '1001', 1, 'Dial', 'PJSIP/1001,20'),
|
||||
('default', '1002', 1, 'Dial', 'PJSIP/1002,20');
|
||||
|
||||
SELECT * FROM extensions_table;
|
||||
|
||||
|
||||
SELECT * FROM ps_auths;
|
||||
SELECT * FROM ps_endpoints;
|
||||
SELECT * FROM ps_aors;
|
||||
|
||||
-- DROP TABLE `extensions_table`;
|
||||
|
||||
SELECT * FROM extensions_table WHERE context='default';
|
||||
|
||||
SHOW TABLES;
|
||||
|
||||
80
MySQL_conf_pbx/test1/conf/asterisk/acl.conf
Executable file
80
MySQL_conf_pbx/test1/conf/asterisk/acl.conf
Executable file
@ -0,0 +1,80 @@
|
||||
;
|
||||
; Named Access Control Lists (ACLs)
|
||||
;
|
||||
; A convenient way to share acl definitions
|
||||
;
|
||||
; This configuration file is read on startup
|
||||
;
|
||||
; CLI Commands
|
||||
; -----------------------------------------------------------
|
||||
; acl show Show all named ACLs configured
|
||||
; acl show <name> Show contents of a particular named ACL
|
||||
; reload acl Reload configuration file
|
||||
;
|
||||
; Any configuration that uses ACLs which has been made to be able to use named
|
||||
; ACLs will specify a named ACL with the 'acl' option in its configuration in
|
||||
; a similar fashion to the usual 'permit' and 'deny' options. Example:
|
||||
; acl=my_named_acl
|
||||
;
|
||||
; Multiple named ACLs can be applied by either comma separating the arguments or
|
||||
; just by adding additional ACL lines. Example:
|
||||
; acl=my_named_acl
|
||||
; acl=my_named_acl2
|
||||
;
|
||||
; or
|
||||
;
|
||||
; acl=my_named_acl,my_named_acl2
|
||||
;
|
||||
; ACLs specified by name are evaluated independently from the ACL specified via
|
||||
; permit/deny. In order for an address to pass a given ACL, it must pass both
|
||||
; the ACL specified by permit/deny for a given item as well as any named ACLs
|
||||
; that were specified.
|
||||
;
|
||||
;[example_named_acl1]
|
||||
;deny=0.0.0.0/0.0.0.0
|
||||
;permit=209.16.236.0
|
||||
;permit=209.16.236.1
|
||||
;
|
||||
;[example_named_acl2]
|
||||
;permit=0.0.0.0/0.0.0.0
|
||||
;deny=10.24.20.171
|
||||
;deny=10.24.20.103
|
||||
;deny=209.16.236.1
|
||||
;
|
||||
; example_named_acl1 above shows an example of whitelisting. When whitelisting, the
|
||||
; named ACLs should follow a deny that blocks everything (like deny=0.0.0.0/0.0.0.0)
|
||||
; The following example explains how combining the ACLs works:
|
||||
; <in another configuration>
|
||||
; [example_item_with_acl]
|
||||
; acl=example_named_acl1
|
||||
; acl=example_named_acl2
|
||||
;
|
||||
; Suppose 209.16.236.0 tries to communicate and the ACL for that example is applied to it...
|
||||
; First, example_named_acl1 is evaluated. The address is allowed by that ACL.
|
||||
; Next, example_named_acl2 is evaluated. The address isn't blocked by example_named_acl2
|
||||
; either, so it passes.
|
||||
;
|
||||
; Suppose instead 209.16.236.1 tries to communicate and the same ACL is applied.
|
||||
; First, example_named_acl1 is evaluated and the address is allowed.
|
||||
; However, it is blocked by example_named_acl2, so the address is blocked from the combined
|
||||
; ACL.
|
||||
;
|
||||
; Similarly, the permits/denies in specific configurations that make up an ACL definition
|
||||
; are also treated as a separate ACL for evaluation. So if we change the example above to:
|
||||
; <in another configuration>
|
||||
; [example_item_with_acl]
|
||||
; acl=example_named_acl1
|
||||
; acl=example_named_acl2
|
||||
; deny=209.16.236.0
|
||||
;
|
||||
; Then 209.16.236.0 will be rejected by the non-named component of the combined ACL even
|
||||
; though it passes the two named components.
|
||||
;
|
||||
;
|
||||
; Named ACLs can use ipv6 addresses just like normal ACLs.
|
||||
;[ipv6_example_1]
|
||||
;deny = ::/0
|
||||
;permit = ::1/128
|
||||
;
|
||||
;[ipv6_example_2]
|
||||
;permit = fe80::21d:bad:fad:2323
|
||||
8
MySQL_conf_pbx/test1/conf/asterisk/adsi.conf
Executable file
8
MySQL_conf_pbx/test1/conf/asterisk/adsi.conf
Executable file
@ -0,0 +1,8 @@
|
||||
;
|
||||
; Sample ADSI Configuration file
|
||||
;
|
||||
[intro]
|
||||
alignment = center
|
||||
greeting => Welcome to the
|
||||
greeting => Asterisk
|
||||
greeting => Open Source PBX
|
||||
21
MySQL_conf_pbx/test1/conf/asterisk/aeap.conf
Executable file
21
MySQL_conf_pbx/test1/conf/asterisk/aeap.conf
Executable file
@ -0,0 +1,21 @@
|
||||
;
|
||||
; This file is used by the res_aeap module to configure parameters
|
||||
; used for AEAP applications.
|
||||
;
|
||||
;[myclient]
|
||||
;
|
||||
; type must be "client".
|
||||
;type=client
|
||||
;
|
||||
; URL used to connect to a server. It must be a websocket URL (ws or wss).
|
||||
;url=ws://127.0.0.1:9099
|
||||
;
|
||||
; codecs is comma separated string of allowed/disallowed codec names.
|
||||
;codecs=!all,ulaw,alaw,opus
|
||||
;
|
||||
; protocol is the implementation specific sub-protocol
|
||||
;protocol=speech_to_text
|
||||
;
|
||||
; "@" parameters can be specified and are used to to set custom values to
|
||||
; be passed as "params" in the initial "setup" request.
|
||||
;@language=en-US
|
||||
70
MySQL_conf_pbx/test1/conf/asterisk/agents.conf
Executable file
70
MySQL_conf_pbx/test1/conf/asterisk/agents.conf
Executable file
@ -0,0 +1,70 @@
|
||||
;
|
||||
; Agent pool configuration
|
||||
;
|
||||
|
||||
[general]
|
||||
; The general section of this config is not currently used, but reserved
|
||||
; for future use.
|
||||
|
||||
;[agent-id]
|
||||
; Define ackcall to require the agent to give a DTMF acknowledgement
|
||||
; when the agent receives a call.
|
||||
; The channel variable AGENTACKCALL overrides on agent login.
|
||||
; Default is "no".
|
||||
;ackcall=no
|
||||
;
|
||||
; Set what DTMF key sequence the agent should use to acknowledge a call.
|
||||
; The channel variable AGENTACCEPTDTMF overrides on agent login.
|
||||
; This option is ignored unless ackcall is enabled.
|
||||
; Default is "#".
|
||||
;acceptdtmf=##
|
||||
;
|
||||
; Set how many seconds a call for the agent has to wait for the agent to
|
||||
; acknowledge the call before the agent is automatically logged off. If
|
||||
; set to zero then the call will wait forever for the agent to acknowledge.
|
||||
; The channel variable AGENTAUTOLOGOFF overrides on agent login.
|
||||
; This option is ignored unless ackcall is enabled.
|
||||
; Default is 0.
|
||||
;autologoff=15
|
||||
;
|
||||
; Set the minimum amount of time after disconnecting a call before
|
||||
; the agent can receive a new call in milliseconds.
|
||||
; The channel variable AGENTWRAPUPTIME overrides on agent login.
|
||||
; Default is 0.
|
||||
;wrapuptime=5000
|
||||
;
|
||||
; Set the musiconhold class for the agent.
|
||||
; Default is "default".
|
||||
;musiconhold=default
|
||||
;
|
||||
; Enable recording calls the agent takes automatically by invoking the
|
||||
; DTMF automixmon feature when the agent connects to a caller.
|
||||
; See features.conf.sample for information about the automixmon feature.
|
||||
; Default is "no".
|
||||
;recordagentcalls=yes
|
||||
;
|
||||
; The sound file played to alert the agent when a call is present.
|
||||
; Default is "beep".
|
||||
;custom_beep=beep
|
||||
;
|
||||
; A friendly name for the agent used in log messages.
|
||||
; Default is "".
|
||||
;fullname=Mark Spencer
|
||||
;
|
||||
; --------------------------------------------------
|
||||
;
|
||||
; This section contains example agent definitions:
|
||||
;
|
||||
; Define a template called my-agents:
|
||||
;[my-agents](!)
|
||||
;autologoff=15
|
||||
;ackcall=yes
|
||||
;acceptdtmf=##
|
||||
;
|
||||
; Define agent 1001 using the my-agents template:
|
||||
;[1001](my-agents)
|
||||
;fullname=Mark Spencer
|
||||
;
|
||||
; Define agent 1002 using the my-agents template:
|
||||
;[1002](my-agents)
|
||||
;fullname=Will Meadows
|
||||
91
MySQL_conf_pbx/test1/conf/asterisk/alarmreceiver.conf
Executable file
91
MySQL_conf_pbx/test1/conf/asterisk/alarmreceiver.conf
Executable file
@ -0,0 +1,91 @@
|
||||
;
|
||||
; 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
|
||||
|
||||
;
|
||||
; Wait for the connection to settle post-answer. Adjustable from 500 msec. to 10000 msec.
|
||||
; The default is 1250 msec.
|
||||
;
|
||||
|
||||
answait = 1250
|
||||
|
||||
; When logging individual events it may be desirable to skip grouping of metadata
|
||||
|
||||
;no_group_meta = yes
|
||||
|
||||
;
|
||||
; 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
|
||||
;
|
||||
77
MySQL_conf_pbx/test1/conf/asterisk/alsa.conf
Executable file
77
MySQL_conf_pbx/test1/conf/asterisk/alsa.conf
Executable file
@ -0,0 +1,77 @@
|
||||
;
|
||||
; 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
|
||||
|
||||
;
|
||||
; Default mute state (can also be toggled via CLI)
|
||||
;mute=true
|
||||
|
||||
;
|
||||
; If enabled, no audio capture device will be opened. This is useful on
|
||||
; systems where there will be no return audio path, such as overhead pagers.
|
||||
;noaudiocapture=true
|
||||
|
||||
; ----------------------------- 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.
|
||||
|
||||
; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
|
||||
; The option represents the number of milliseconds by which the new
|
||||
; jitter buffer will pad its size. the default is 40, so without
|
||||
; modification, the new jitter buffer will set its size to the jitter
|
||||
; value plus 40 milliseconds. increasing this value may help if your
|
||||
; network normally has low jitter, but occasionally has spikes.
|
||||
|
||||
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
|
||||
; ----------------------------------------------------------------------------------
|
||||
32
MySQL_conf_pbx/test1/conf/asterisk/amd.conf
Executable file
32
MySQL_conf_pbx/test1/conf/asterisk/amd.conf
Executable file
@ -0,0 +1,32 @@
|
||||
;
|
||||
; Answering Machine Detection Configuration
|
||||
;
|
||||
|
||||
[general]
|
||||
total_analysis_time = 5000 ; Maximum time allowed for the algorithm to decide
|
||||
; on whether the audio represents a HUMAN, or a MACHINE
|
||||
silence_threshold = 256 ; If the average level of noise in a sample does not reach
|
||||
; this value, from a scale of 0 to 32767, then we will consider
|
||||
; it to be silence.
|
||||
;playback_file = ; Audio file to play while AMD is running, so the caller
|
||||
; does not just hear silence. Note that specifying this here
|
||||
; will apply to ALL AMD runs, so you may wish to set it
|
||||
; in the dialplan as an argument to AMD() instead.
|
||||
; Default is no audio file (not to play anything).
|
||||
|
||||
; Greeting ;
|
||||
initial_silence = 2500 ; Maximum silence duration before the greeting.
|
||||
; If exceeded, then the result is detection as a MACHINE.
|
||||
after_greeting_silence = 800 ; Silence after detecting a greeting.
|
||||
; If exceeded, then the result is detection as a HUMAN
|
||||
greeting = 1500 ; Maximum length of a greeting. If exceeded, then the
|
||||
; result is detection as a MACHINE.
|
||||
|
||||
; Word detection ;
|
||||
min_word_length = 100 ; Minimum duration of Voice to considered as a word
|
||||
maximum_word_length = 5000 ; Maximum duration of a single Voice utterance allowed.
|
||||
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 = 2 ; Maximum number of words in the greeting
|
||||
; If exceeded, then the result is detection as a MACHINE
|
||||
27
MySQL_conf_pbx/test1/conf/asterisk/app_skel.conf
Executable file
27
MySQL_conf_pbx/test1/conf/asterisk/app_skel.conf
Executable file
@ -0,0 +1,27 @@
|
||||
[general]
|
||||
games=3
|
||||
cheat=no
|
||||
|
||||
[sounds]
|
||||
prompt=please-enter-your,number,queue-less-than
|
||||
wrong_guess=vm-pls-try-again
|
||||
right_guess=auth-thankyou
|
||||
too_high=high
|
||||
too_low=low
|
||||
lose=vm-goodbye
|
||||
|
||||
[easy]
|
||||
max_number=10
|
||||
max_guesses=4
|
||||
|
||||
[medium]
|
||||
max_number=100
|
||||
max_guesses=6
|
||||
|
||||
[hard]
|
||||
max_number=1000
|
||||
max_guesses=7
|
||||
|
||||
[nightmare]
|
||||
max_number=1000
|
||||
max_guesses=1
|
||||
37
MySQL_conf_pbx/test1/conf/asterisk/ari.conf
Executable file
37
MySQL_conf_pbx/test1/conf/asterisk/ari.conf
Executable file
@ -0,0 +1,37 @@
|
||||
[general]
|
||||
enabled = yes ; When set to no, ARI support is disabled.
|
||||
;pretty = no ; When set to yes, responses from ARI are
|
||||
; ; formatted to be human readable.
|
||||
;allowed_origins = ; Comma separated list of allowed origins, for
|
||||
; ; Cross-Origin Resource Sharing. May be set to * to
|
||||
; ; allow all origins.
|
||||
;auth_realm = ; Realm to use for authentication. Defaults to Asterisk
|
||||
; ; REST Interface.
|
||||
;
|
||||
; Default write timeout to set on websockets. This value may need to be adjusted
|
||||
; for connections where Asterisk must write a substantial amount of data and the
|
||||
; receiving clients are slow to process the received information. Value is in
|
||||
; milliseconds; default is 100 ms.
|
||||
;websocket_write_timeout = 100
|
||||
;
|
||||
; Display certain channel variables every time a channel-oriented
|
||||
; event is emitted:
|
||||
;
|
||||
; Note that this does incur a performance penalty and should be avoided if possible.
|
||||
;
|
||||
;channelvars = var1,var2,var3
|
||||
|
||||
;[username]
|
||||
;type = user ; Specifies user configuration
|
||||
;read_only = no ; When set to yes, user is only authorized for
|
||||
; ; read-only requests.
|
||||
;
|
||||
;password = ; Crypted or plaintext password (see password_format).
|
||||
;
|
||||
; password_format may be set to plain (the default) or crypt. When set to crypt,
|
||||
; crypt(3) is used to validate the password. A crypted password can be generated
|
||||
; using mkpasswd -m sha-512.
|
||||
;
|
||||
; When set to plain, the password is in plaintext.
|
||||
;
|
||||
;password_format = plain
|
||||
72
MySQL_conf_pbx/test1/conf/asterisk/ast_debug_tools.conf
Executable file
72
MySQL_conf_pbx/test1/conf/asterisk/ast_debug_tools.conf
Executable file
@ -0,0 +1,72 @@
|
||||
#
|
||||
# This file is used by the Asterisk debug tools.
|
||||
# Unlike other Asterisk config files, this one is
|
||||
# "sourced" by bash and must adhere to bash semantics.
|
||||
#
|
||||
|
||||
#
|
||||
# The following settings are used by ast_coredumper
|
||||
#
|
||||
|
||||
# COREDUMPS is a a list of coredumps and/or coredump
|
||||
# search patterns.
|
||||
#
|
||||
# Bash extended globs are enabled and any resulting files
|
||||
# that aren't actually coredumps are silently ignored
|
||||
# so you can be liberal with the globs.
|
||||
#
|
||||
# If your patterns contain spaces be sure to only quote
|
||||
# the portion of the pattern that DOESN'T contain wildcard
|
||||
# expressions. If you quote the whole pattern, it won't
|
||||
# be expanded and the glob characters will be treated as
|
||||
# literals.
|
||||
#
|
||||
# The exclusion of files ending ".txt" is just for
|
||||
# demonstration purposes as non-asterisk-coredumps will be
|
||||
# ignored anyway.
|
||||
COREDUMPS=( /tmp/core!(*.txt) )
|
||||
|
||||
# OUTPUTDIR is the directory to contain output files and
|
||||
# work directories.
|
||||
# For output from existing core files, the default is the
|
||||
# directory that the core file is found in. For core files
|
||||
# produced from a running process, the default is /tmp.
|
||||
OUTPUTDIR=/tmp
|
||||
|
||||
# DATEOPTS is passed to the 'date' utility and is
|
||||
# used to set the timestamp used to create the
|
||||
# name of the output files and to rename the coredump.
|
||||
#
|
||||
# Beware of colons in the output as you can't upload
|
||||
# files with colons in the name to Jira.
|
||||
# The preferred timestamp format is readable GMT.
|
||||
#
|
||||
# Readable GMT
|
||||
DATEOPTS='-u +%FT%H-%M-%SZ'
|
||||
#
|
||||
# Unix timestamp
|
||||
#DATEOPTS='+%s.%N'
|
||||
#
|
||||
# Readable Local time
|
||||
#DATEOPTS='+%FT%H-%M-%S%z'
|
||||
|
||||
#
|
||||
# The following settings are used by ast_loggrabber
|
||||
#
|
||||
|
||||
# A list of log files and/or log file search patterns using the
|
||||
# same syntax as COREDUMPS.
|
||||
#
|
||||
LOGFILES=(/var/log/asterisk/messages* /var/log/asterisk/queue* \
|
||||
/var/log/asterisk/debug* /var/log/asterisk/security*)
|
||||
|
||||
# ast_loggrabber converts POSIX timestamps to readable format
|
||||
# using this Python strftime format string. If not specified
|
||||
# or an empty string, no format covnersion is done.
|
||||
LOG_DATEFORMAT="%m/%d-%H:%M:%S.%f"
|
||||
|
||||
# The timezone to use when converting POSIX timestamps to
|
||||
# readable format. It can be specified in "<continent>/<city>"
|
||||
# format or in abbreviation format such as "CST6CDT". If not
|
||||
# specified, the "local" timezone is used.
|
||||
# LOG_TIMEZONE=
|
||||
158
MySQL_conf_pbx/test1/conf/asterisk/asterisk.adsi
Executable file
158
MySQL_conf_pbx/test1/conf/asterisk/asterisk.adsi
Executable file
@ -0,0 +1,158 @@
|
||||
;
|
||||
; 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
|
||||
141
MySQL_conf_pbx/test1/conf/asterisk/asterisk.conf
Executable file
141
MySQL_conf_pbx/test1/conf/asterisk/asterisk.conf
Executable file
@ -0,0 +1,141 @@
|
||||
[directories](!)
|
||||
astcachedir => /var/cache/asterisk
|
||||
astetcdir => /etc/asterisk
|
||||
astmoddir => /usr/lib/asterisk/modules
|
||||
astvarlibdir => /var/lib/asterisk
|
||||
astdbdir => /var/lib/asterisk
|
||||
astkeydir => /var/lib/asterisk
|
||||
astdatadir => /var/lib/asterisk
|
||||
astagidir => /var/lib/asterisk/agi-bin
|
||||
astspooldir => /var/spool/asterisk
|
||||
astrundir => /var/run/asterisk
|
||||
astlogdir => /var/log/asterisk
|
||||
astsbindir => /usr/sbin
|
||||
|
||||
[options]
|
||||
;verbose = 3
|
||||
;debug = 3
|
||||
;trace = 0 ; Set the trace level.
|
||||
;refdebug = yes ; Enable reference count debug logging.
|
||||
;alwaysfork = yes ; Same as -F at startup.
|
||||
;nofork = yes ; Same as -f at startup.
|
||||
;quiet = yes ; Same as -q at startup.
|
||||
;timestamp = yes ; Same as -T at startup.
|
||||
;execincludes = yes ; Support #exec in config files.
|
||||
;console = yes ; Run as console (same as -c at startup).
|
||||
;highpriority = yes ; Run realtime priority (same as -p at
|
||||
; startup).
|
||||
;initcrypto = yes ; Initialize crypto keys (same as -i at
|
||||
; startup).
|
||||
;nocolor = yes ; Disable console colors.
|
||||
;dontwarn = yes ; Disable some warnings.
|
||||
;dumpcore = yes ; Dump core on crash (same as -g at startup).
|
||||
;languageprefix = yes ; Use the new sound prefix path syntax.
|
||||
;systemname = my_system_name ; Prefix uniqueid with a system name for
|
||||
; Global uniqueness issues.
|
||||
;autosystemname = yes ; Automatically set systemname to hostname,
|
||||
; uses 'localhost' on failure, or systemname if
|
||||
; set.
|
||||
;mindtmfduration = 80 ; Set minimum DTMF duration in ms (default 80 ms)
|
||||
; If we get shorter DTMF messages, these will be
|
||||
; changed to the minimum duration
|
||||
;maxcalls = 10 ; Maximum amount of calls allowed.
|
||||
;maxload = 0.9 ; Asterisk stops accepting new calls if the
|
||||
; load average exceed this limit.
|
||||
;maxfiles = 1000 ; Maximum amount of openfiles.
|
||||
;minmemfree = 1 ; In MBs, Asterisk stops accepting new calls if
|
||||
; the amount of free memory falls below this
|
||||
; watermark.
|
||||
;cache_media_frames = yes ; Cache media frames for performance
|
||||
; Disable this option to help track down media frame
|
||||
; mismanagement when using valgrind or MALLOC_DEBUG.
|
||||
; The cache gets in the way of determining if the
|
||||
; frame is used after being freed and who freed it.
|
||||
; NOTE: This option has no effect when Asterisk is
|
||||
; compiled with the LOW_MEMORY compile time option
|
||||
; enabled because the cache code does not exist.
|
||||
; Default yes
|
||||
;cache_record_files = yes ; Cache recorded sound files to another
|
||||
; directory during recording.
|
||||
;record_cache_dir = /tmp ; Specify cache directory (used in conjunction
|
||||
; with cache_record_files).
|
||||
;transmit_silence = yes ; Transmit silence while a channel is in a
|
||||
; waiting state, a recording only state, or
|
||||
; when DTMF is being generated. Note that the
|
||||
; silence internally is generated in raw signed
|
||||
; linear format. This means that it must be
|
||||
; transcoded into the native format of the
|
||||
; channel before it can be sent to the device.
|
||||
; It is for this reason that this is optional,
|
||||
; as it may result in requiring a temporary
|
||||
; codec translation path for a channel that may
|
||||
; not otherwise require one.
|
||||
;transcode_via_sln = yes ; Build transcode paths via SLINEAR, instead of
|
||||
; directly.
|
||||
;runuser = asterisk ; The user to run as.
|
||||
;rungroup = asterisk ; The group to run as.
|
||||
;lightbackground = yes ; If your terminal is set for a light-colored
|
||||
; background.
|
||||
;forceblackbackground = yes ; Force the background of the terminal to be
|
||||
; black, in order for terminal colors to show
|
||||
; up properly.
|
||||
;defaultlanguage = en ; Default language
|
||||
documentation_language = en_US ; Set the language you want documentation
|
||||
; displayed in. Value is in the same format as
|
||||
; locale names.
|
||||
;hideconnect = yes ; Hide messages displayed when a remote console
|
||||
; connects and disconnects.
|
||||
;lockconfdir = no ; Protect the directory containing the
|
||||
; configuration files (/etc/asterisk) with a
|
||||
; lock.
|
||||
;stdexten = gosub ; How to invoke the extensions.conf stdexten.
|
||||
; macro - Invoke the stdexten using a macro as
|
||||
; done by legacy Asterisk versions.
|
||||
; gosub - Invoke the stdexten using a gosub as
|
||||
; documented in extensions.conf.sample.
|
||||
; Default gosub.
|
||||
;live_dangerously = no ; Enable the execution of 'dangerous' dialplan
|
||||
; functions and configuration file access from
|
||||
; external sources (AMI, etc.) These functions
|
||||
; (such as SHELL) are considered dangerous
|
||||
; because they can allow privilege escalation.
|
||||
; Configuration files are considered dangerous
|
||||
; if they exist outside of the Asterisk
|
||||
; configuration directory.
|
||||
; Default no
|
||||
;entityid=00:11:22:33:44:55 ; Entity ID.
|
||||
; This is in the form of a MAC address.
|
||||
; It should be universally unique.
|
||||
; It must be unique between servers communicating
|
||||
; with a protocol that uses this value.
|
||||
; This is currently is used by DUNDi and
|
||||
; Exchanging Device and Mailbox State
|
||||
; using protocols: XMPP, Corosync and PJSIP.
|
||||
;rtp_use_dynamic = yes ; When set to "yes" RTP dynamic payload types
|
||||
; are assigned dynamically per RTP instance vs.
|
||||
; allowing Asterisk to globally initialize them
|
||||
; to pre-designated numbers (defaults to "yes").
|
||||
;rtp_pt_dynamic = 35 ; Normally the Dynamic RTP Payload Type numbers
|
||||
; are 96-127, which allow just 32 formats. The
|
||||
; starting point 35 enables the range 35-63 and
|
||||
; allows 29 additional formats. When you use
|
||||
; more than 32 formats in the dynamic range and
|
||||
; calls are not accepted by a remote
|
||||
; implementation, please report this and go
|
||||
; back to value 96.
|
||||
;hide_messaging_ami_events = no; This option, if enabled, will
|
||||
; suppress all of the Message/ast_msg_queue channel's
|
||||
; housekeeping AMI and ARI channel events. This can
|
||||
; reduce the load on the manager and ARI applications
|
||||
; when the Digium Phone Module for Asterisk is in use.
|
||||
;sounds_search_custom_dir = no; This option, if enabled, will
|
||||
; cause Asterisk to search for sounds files in
|
||||
; AST_DATA_DIR/sounds/custom before searching the
|
||||
; normal directories like AST_DATA_DIR/sounds/<lang>.
|
||||
|
||||
; Changing the following lines may compromise your security.
|
||||
;[files]
|
||||
;astctlpermissions = 0660
|
||||
;astctlowner = root
|
||||
;astctlgroup = apache
|
||||
;astctl = asterisk.ctl
|
||||
111
MySQL_conf_pbx/test1/conf/asterisk/calendar.conf
Executable file
111
MySQL_conf_pbx/test1/conf/asterisk/calendar.conf
Executable file
@ -0,0 +1,111 @@
|
||||
;[calendar1]
|
||||
;type = ical ; type of calendar--currently supported: ical, caldav, exchange, or ews
|
||||
;url = https://example.com/home/jdoe/Calendar/ ; URL to shared calendar (Zimbra example)
|
||||
;user = jdoe ; web username
|
||||
;secret = supersecret ; web password
|
||||
;refresh = 15 ; refresh calendar every n minutes
|
||||
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
|
||||
; ; should always be >= refresh
|
||||
;fetch_again_at_reload = no ; to reload the calendar content when the module is reloaded
|
||||
;
|
||||
;
|
||||
; You can set up res_calendar to execute a call upon an upcoming busy status
|
||||
; The following fields are available from the ${CALENDAR_EVENT(<field>)} dialplan function:
|
||||
;
|
||||
; summary : The VEVENT Summary property or Exchange subject
|
||||
; description : The text description of the vent
|
||||
; organizer : The organizer of the event
|
||||
; location : The location field of the event
|
||||
; calendar : The name of the calendar tied to the event
|
||||
; uid : The unique ID for this event
|
||||
; start : Start time of the event
|
||||
; end : The end time of the event
|
||||
; busystate : 0=FREE, 1=TENTATIVE, 2=BUSY
|
||||
;
|
||||
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
|
||||
;
|
||||
;channel = SIP/60001 ; Channel to dial
|
||||
;context = default ; Context to connect to on answer
|
||||
;extension = 123 ; Extension to connect to on answer
|
||||
;
|
||||
; or
|
||||
;
|
||||
;app = Playback ; Application to execute on answer (instead of context/extension)
|
||||
;appdata = tt-weasels ; Data part of application to execute on answer
|
||||
;
|
||||
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds
|
||||
;
|
||||
; Channel variables can be set on the notification channel. The format is
|
||||
; setvar=name=value. Variable subsitution is done on the value to allow the use of dialplan
|
||||
; functions like CALENDAR_EVENT. The variables are set in order, so one can use the value
|
||||
; of earlier variables in the definition of later ones.
|
||||
;
|
||||
;setvar = CALLERID(name)=${CALENDAR_EVENT(summary)}
|
||||
|
||||
;[calendar2]
|
||||
; Note: Support for Exchange Server 2003
|
||||
;
|
||||
;type = exchange ; type of calendar--currently supported: ical, caldav, exchange, or ews
|
||||
;url = https://example.com/exchange/jdoe ; URL to MS Exchange OWA for user (usually includes exchange/user)
|
||||
;user = jdoe ; Exchange username
|
||||
;secret = mysecret ; Exchange password
|
||||
;refresh = 15 ; refresh calendar every n minutes
|
||||
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
|
||||
; ; should always be >= refresh
|
||||
;
|
||||
; You can set up res_calendar to execute a call upon an upcoming busy status
|
||||
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
|
||||
;
|
||||
;channel = SIP/1234 ; Channel to dial
|
||||
;context = default ; Context to connect to on answer
|
||||
;extension = 1234 ; Extension to connect to on answer
|
||||
;
|
||||
; or
|
||||
;
|
||||
;[calendar3]
|
||||
; Note: Support for Exchange Server 2007+
|
||||
;
|
||||
;type = ews ; type of calendar--currently supported: ical, caldav, exchange, or ews
|
||||
;url = https://example.com/ews/Exchange.asmx ; URL to MS Exchange EWS
|
||||
;user = jdoe ; Exchange username
|
||||
;secret = mysecret ; Exchange password
|
||||
;refresh = 15 ; refresh calendar every n minutes
|
||||
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
|
||||
; ; should always be >= refresh
|
||||
;
|
||||
; You can set up res_calendar to execute a call upon an upcoming busy status
|
||||
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
|
||||
;
|
||||
;channel = SIP/1234 ; Channel to dial
|
||||
;context = default ; Context to connect to on answer
|
||||
;extension = 1234 ; Extension to connect to on answer
|
||||
;
|
||||
; or
|
||||
;
|
||||
;app = Playback ; Application to execute on answer (instead of context/extension)
|
||||
;appdata = tt-weasels ; Data part of application to execute on answer
|
||||
;
|
||||
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds
|
||||
|
||||
;[calendar4]
|
||||
;type = caldav ; type of calendar--currently supported: ical, caldav, exchange, or ews
|
||||
;url = https://www.google.com/calendar/dav/username@gmail.com/events/ ; Main GMail calendar (the trailing slash is significant!)
|
||||
;user = jdoe@gmail.com ; username
|
||||
;secret = mysecret ; password
|
||||
;refresh = 15 ; refresh calendar every n minutes
|
||||
;timeframe = 60 ; number of minutes of calendar data to pull for each refresh period
|
||||
; ; should always be >= refresh
|
||||
;
|
||||
; You can set up res_calendar to execute a call upon an upcoming busy status
|
||||
;autoreminder = 10 ; Override event-defined reminder before each busy status (in mins)
|
||||
;
|
||||
;channel = SIP/1234 ; Channel to dial
|
||||
;context = default ; Context to connect to on answer
|
||||
;extension = 1234 ; Extension to connect to on answer
|
||||
;
|
||||
; or
|
||||
;
|
||||
;app = Playback ; Application to execute on answer (instead of context/extension)
|
||||
;appdata = tt-weasels ; Data part of application to execute on answer
|
||||
;
|
||||
;waittime = 30 ; How long to wait for an answer, defaults to 30 seconds
|
||||
205
MySQL_conf_pbx/test1/conf/asterisk/ccss.conf
Executable file
205
MySQL_conf_pbx/test1/conf/asterisk/ccss.conf
Executable file
@ -0,0 +1,205 @@
|
||||
;
|
||||
; --- Call Completion Supplementary Services ---
|
||||
;
|
||||
; For more information about CCSS, see the CCSS user documentation
|
||||
; https://docs.asterisk.org/Deployment/PSTN-Connectivity/Call-Completion-Supplementary-Services-CCSS/
|
||||
;
|
||||
|
||||
[general]
|
||||
; The cc_max_requests option is a global limit on the number of
|
||||
; CC requests that may be in the Asterisk system at any time.
|
||||
;
|
||||
;cc_max_requests = 20
|
||||
;
|
||||
; The cc_STATE_devstate variables listed below can be used to change the
|
||||
; default mapping of the internal state machine tracking the state of
|
||||
; call completion to an Asterisk Device State value. The acceptable values
|
||||
; that can be provided are as follows, with a description of what the
|
||||
; equivalent device BLF that this maps to:
|
||||
;
|
||||
; UNKNOWN ; Device is valid but channel didn't know state
|
||||
; NOT_INUSE ; Device is not used
|
||||
; INUSE ; Device is in use
|
||||
; BUSY ; Device is busy
|
||||
; INVALID ; Device is invalid
|
||||
; UNAVAILABLE ; Device is unavailable
|
||||
; RINGING ; Device is ringing
|
||||
; RINGINUSE ; Device is ringing *and* in use
|
||||
; ONHOLD ; Device is on hold
|
||||
;
|
||||
; These states are used to generate DEVICE_STATE information that can be
|
||||
; included with Asterisk hints for phones to subscribe to the state information
|
||||
; or dialplan to check the state using the EXTENSION_STATE() function or
|
||||
; the DEVICE_STATE() function.
|
||||
;
|
||||
; The states are in the format of: "ccss:TECH/ID" so an example of device
|
||||
; SIP/3000 making a CallCompletionRequest() could be checked by looking at
|
||||
; DEVICE_STATE(ccss:SIP/3000) or an Asterisk Hint could be generated such as
|
||||
;
|
||||
; [hint-context]
|
||||
; exten => *843000,hint,ccss:SIP/3000
|
||||
;
|
||||
; and then accessed with EXTENSION_STATE(*843000@hint-context)
|
||||
; or subscribed to with a BLF button on a phone.
|
||||
;
|
||||
; The available state mapping and default values are:
|
||||
;
|
||||
; cc_available_devstate = NOT_INUSE
|
||||
; cc_offered_devstate = NOT_INUSE
|
||||
; cc_caller_requested_devstate = NOT_INUSE
|
||||
; cc_active_devstate = INUSE
|
||||
; cc_callee_ready_devstate = INUSE
|
||||
; cc_caller_busy_devstate = ONHOLD
|
||||
; cc_recalling_devstate = RINGING
|
||||
; cc_complete_devstate = NOT_INUSE
|
||||
; cc_failed_devstate = NOT_INUSE
|
||||
|
||||
;
|
||||
;============================================
|
||||
; PLEASE READ THIS!!!
|
||||
; The options described below should NOT be
|
||||
; set in this file. Rather, they should be
|
||||
; set per-device in a channel driver
|
||||
; configuration file.
|
||||
; PLEASE READ THIS!!!
|
||||
;===========================================
|
||||
;
|
||||
; --------------------------------------------------------------------
|
||||
; Timers
|
||||
; --------------------------------------------------------------------
|
||||
;There are three configurable timers for all types of CC: the
|
||||
;cc_offer_timer, the ccbs_available_timer, and the ccnr_available_timer.
|
||||
;In addition, when using a generic agent, there is a fourth timer,
|
||||
;the cc_recall_timer. All timers are configured in seconds, and the
|
||||
;values shown below are the defaults.
|
||||
;
|
||||
;When a caller is offered CCBS or CCNR, the cc_offer_timer will
|
||||
;be started. If the caller does not request CC before the
|
||||
;cc_offer_timer expires, then the caller will be unable to request
|
||||
;CC for this call.
|
||||
;
|
||||
;cc_offer_timer = 20
|
||||
;
|
||||
;Once a caller has requested CC, then either the ccbs_available_timer
|
||||
;or the ccnr_available_timer will run, depending on the service
|
||||
;requested. The reason why there are two separate timers for CCBS
|
||||
;and CCNR is that it is reasonable to want to have a shorter timeout
|
||||
;configured for CCBS than for CCNR. If the available timer expires
|
||||
;before the called party becomes available, then the CC attempt
|
||||
;will have failed and monitoring of the called party will stop.
|
||||
;
|
||||
;ccbs_available_timer = 4800
|
||||
;ccnr_available_timer = 7200
|
||||
;
|
||||
; When using a generic agent, the original caller is called back
|
||||
; when one of the original called parties becomes available. The
|
||||
; cc_recall_timer tells Asterisk how long it should let the original
|
||||
; caller's phone ring before giving up. Please note that this parameter
|
||||
; only affects operation when using a generic agent.
|
||||
;
|
||||
;cc_recall_timer = 20
|
||||
; --------------------------------------------------------------------
|
||||
; Policies
|
||||
; --------------------------------------------------------------------
|
||||
; Policy settings tell Asterisk how to behave and what sort of
|
||||
; resources to allocate in order to facilitate CC. There are two
|
||||
; settings to control the actions Asterisk will take.
|
||||
;
|
||||
; The cc_agent_policy describes the behavior that Asterisk will
|
||||
; take when communicating with the caller during CC. There are
|
||||
; three possible options.
|
||||
;
|
||||
;never: Never offer CC to the caller. Setting the cc_agent_policy
|
||||
; to this value is the way to disable CC for a call.
|
||||
;
|
||||
;generic: A generic CC agent is one which uses no protocol-specific
|
||||
; mechanisms to offer CC to the caller. Instead, the caller
|
||||
; requests CC using a dialplan function. Due to internal
|
||||
; restrictions, you should only use a generic CC agent on
|
||||
; phones (i.e. not "trunks"). If you are using phones which
|
||||
; do not support a protocol-specific method of using CC, then
|
||||
; generic CC agents are what you should use.
|
||||
;
|
||||
;native: A native CC agent is one which uses protocol-specific
|
||||
; signaling to offer CC to the caller and accept CC requests
|
||||
; from the caller. The supported protocols for native CC
|
||||
; agents are SIP, ISDN ETSI PTP, ISDN ETSI PTMP, and Q.SIG
|
||||
;cc_agent_policy=never
|
||||
;
|
||||
; The cc_monitor_policy describes the behavior that Asterisk will
|
||||
; take when communicating with the called party during CC. There
|
||||
; are four possible options.
|
||||
;
|
||||
;never: Analogous to the cc_agent_policy setting. We will never
|
||||
; attempt to request CC services on this interface.
|
||||
;
|
||||
;generic: Analogous to the cc_agent_policy setting. We will monitor
|
||||
; the called party's progress using protocol-agnostic
|
||||
; capabilities. Like with generic CC agents, generic CC
|
||||
; monitors should only be used for phones.
|
||||
;
|
||||
;native: Analogous to the cc_agent_policy setting. We will use
|
||||
; protocol-specific methods to request CC from this interface
|
||||
; and to monitor the interface for availability.
|
||||
;
|
||||
;always: If an interface is set to "always," then we will accept
|
||||
; protocol-specific CC offers from the caller and use
|
||||
; a native CC monitor for the remainder of the CC transaction.
|
||||
; However, if the interface does not offer protocol-specific
|
||||
; CC, then we will fall back to using a generic CC monitor
|
||||
; instead. This is a good setting to use for phones for which
|
||||
; you do not know if they support protocol-specific CC
|
||||
; methodologies.
|
||||
;cc_monitor_policy=never
|
||||
;
|
||||
;
|
||||
; --------------------------------------------------------------------
|
||||
; Limits
|
||||
; --------------------------------------------------------------------
|
||||
;
|
||||
; The use of CC requires Asterisk to potentially use more memory than
|
||||
; some administrators would like. As such, it is a good idea to limit
|
||||
; the number of CC requests that can be in the system at a given time.
|
||||
; The values shown below are the defaults.
|
||||
;
|
||||
; The cc_max_agents setting limits the number of outstanding CC
|
||||
; requests a caller may have at any given time. Please note that due
|
||||
; to implementation restrictions, this setting is ignored when using
|
||||
; generic CC agents. Generic CC agents may only have one outstanding
|
||||
; CC request.
|
||||
;
|
||||
;cc_max_agents = 5
|
||||
;
|
||||
; The cc_max_monitors setting limits the number of outstanding CC
|
||||
; requests can be made to a specific interface at a given time.
|
||||
;
|
||||
;cc_max_monitors = 5
|
||||
;
|
||||
; --------------------------------------------------------------------
|
||||
; Other
|
||||
; --------------------------------------------------------------------
|
||||
;
|
||||
; When using a generic CC agent, the caller who requested CC will be
|
||||
; called back when a called party becomes available. When the caller
|
||||
; answers his phone, the administrator may opt to have a macro run.
|
||||
; What this macro does is up to the administrator. By default there
|
||||
; is no callback macro configured.
|
||||
;
|
||||
;cc_callback_macro=
|
||||
;
|
||||
; Alternatively, the administrator may run a subroutine. By default
|
||||
; there is no callback subroutine configured. The subroutine should
|
||||
; be specified in the format: [[context,]exten,]priority
|
||||
;
|
||||
;cc_callback_sub=
|
||||
;
|
||||
; When using an ISDN phone and a generic CC agent, Asterisk is unable
|
||||
; to determine the dialstring that should be used when calling back
|
||||
; the original caller. Furthermore, if you desire to use any dialstring-
|
||||
; specific options, such as distinctive ring, you must set this
|
||||
; configuration option. For non-ISDN phones, it is not necessary to
|
||||
; set this, since Asterisk can determine the dialstring to use since
|
||||
; it is identical to the name of the calling device. By default, there
|
||||
; is no cc_agent_dialstring set.
|
||||
;
|
||||
;cc_agent_dialstring=
|
||||
180
MySQL_conf_pbx/test1/conf/asterisk/cdr.conf
Executable file
180
MySQL_conf_pbx/test1/conf/asterisk/cdr.conf
Executable file
@ -0,0 +1,180 @@
|
||||
;
|
||||
; 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 use CDR logging on new channels by default.
|
||||
; Setting this to "no" will disable CDR on channels unless it is explicitly
|
||||
; enabled. Default is "yes".
|
||||
;channeldefaultenabled=yes
|
||||
|
||||
; Define whether or not to log unanswered calls that don't involve an outgoing
|
||||
; party. Setting this to "yes" will make calls to extensions that don't answer
|
||||
; and don't set a B side channel (such as by using the Dial application)
|
||||
; receive CDR log entries. If this option is set to "no", then those log
|
||||
; entries will not be created. Unanswered Calls which get offered to an
|
||||
; outgoing line will always receive log entries regardless of this option, and
|
||||
; that is the intended behaviour.
|
||||
;unanswered = no
|
||||
|
||||
; Define whether or not to log congested calls. Setting this to "yes" will
|
||||
; report each call that fails to complete due to congestion conditions. Default
|
||||
; is "no".
|
||||
;congestion = no
|
||||
|
||||
; Define whether or not to ignore bridging changes in CDRs. This prevents
|
||||
; bridging changes from resulting in multiple CDRs for different parts of
|
||||
; a call. Default is "no". This setting cannot be changed on a reload.
|
||||
;ignorestatechanges = no
|
||||
|
||||
; Define whether or not to ignore dial updates in CDRs. This prevents
|
||||
; dial updates from resulting in multiple CDRs for different parts of
|
||||
; a call. The last disposition on the channel will be used for the CDR.
|
||||
; Use with caution. Default is "no".
|
||||
;ignoredialchanges = no
|
||||
|
||||
; Normally, CDR's are not closed out until after all extensions are finished
|
||||
; executing. By enabling this option, the CDR will be ended before executing
|
||||
; the "h" extension and hangup handlers so that CDR values such as "end" and
|
||||
; "billsec" may be retrieved inside of of this extension.
|
||||
; The default value is "no".
|
||||
;endbeforehexten=no
|
||||
|
||||
; Normally, the 'billsec' field logged to the backends (text files or databases)
|
||||
; is simply the end time (hangup time) minus the answer time in seconds. Internally,
|
||||
; asterisk stores the time in terms of microseconds and seconds. By setting
|
||||
; initiatedseconds to 'yes', you can force asterisk to report any seconds
|
||||
; that were initiated (a sort of round up method). Technically, this is
|
||||
; when the microsecond part of the end time is greater than the microsecond
|
||||
; part of the answer time, then the billsec time is incremented one second.
|
||||
; The default value is "no".
|
||||
;initiatedseconds=no
|
||||
|
||||
; Define the CDR batch mode, where instead of posting the CDR at the end of
|
||||
; every call, the data will be stored in a buffer to help alleviate load on the
|
||||
; asterisk server. Default is "no".
|
||||
;
|
||||
; 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
|
||||
|
||||
;
|
||||
;
|
||||
; 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
|
||||
; (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 database 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"
|
||||
accountlogs=yes ; create separate log file for each account code. Default is "yes"
|
||||
;newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence).
|
||||
; 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
|
||||
62
MySQL_conf_pbx/test1/conf/asterisk/cdr_adaptive_odbc.conf
Executable file
62
MySQL_conf_pbx/test1/conf/asterisk/cdr_adaptive_odbc.conf
Executable file
@ -0,0 +1,62 @@
|
||||
; The point of this module is to allow you log whatever you like in terms of
|
||||
; the CDR variables. Do you want to log uniqueid? Then simply ensure that
|
||||
; your table has that column. If you don't want the column, ensure that it
|
||||
; does not exist in the table structure. If you'd like to call uniqueid
|
||||
; something else in your table, simply provide an alias in the configuration
|
||||
; file that maps the standard CDR field name (uniqueid) to whatever column
|
||||
; name you like. Perhaps you'd like some extra CDR values logged that aren't
|
||||
; in the standard repertoire of CDR variables (some that come to mind are
|
||||
; certain values used for LCR: route, per_minute_cost, and per_minute_price).
|
||||
; Simply set those CDR variables in your dialplan, i.e. Set(CDR(route)=27),
|
||||
; ensure that a corresponding column exists in your table, and cdr_adaptive_odbc
|
||||
; will do the rest.
|
||||
;
|
||||
; This configuration defines the connections and tables for which CDRs may
|
||||
; be populated. Each context specifies a different CDR table to be used.
|
||||
;
|
||||
; The columns in the tables should match up word-for-word (case-insensitive)
|
||||
; to the CDR variables set in the dialplan. The natural advantage to this
|
||||
; system is that beyond setting up the configuration file to tell you what
|
||||
; tables to look at, there isn't anything more to do beyond creating the
|
||||
; columns for the fields that you want, and populating the corresponding
|
||||
; CDR variables in the dialplan. For the builtin variables only, you may
|
||||
; create aliases for the real column name.
|
||||
;
|
||||
; Please note that after adding columns to the database, it is necessary to
|
||||
; reload this module to get the new column names and types read.
|
||||
;
|
||||
; Warning: if you specify two contexts with exactly the same connection and
|
||||
; table names, you will get duplicate records in that table. So be careful.
|
||||
;
|
||||
|
||||
;[first]
|
||||
;connection=mysql1
|
||||
;table=cdr
|
||||
|
||||
;[second]
|
||||
;connection=mysql1
|
||||
;table=extracdr
|
||||
|
||||
;[third]
|
||||
;connection=sqlserver
|
||||
;table=AsteriskCDR
|
||||
;schema=public ; for databases which support schemas
|
||||
;usegmtime=yes ; defaults to no
|
||||
;alias src => source
|
||||
;alias channel => source_channel
|
||||
;alias dst => dest
|
||||
;alias dstchannel => dest_channel
|
||||
;
|
||||
; Any filter specified MUST match exactly or the CDR will be discarded
|
||||
;filter accountcode => somename
|
||||
;filter src => 123
|
||||
; Negative filters are also now available
|
||||
;filter src != 456
|
||||
;
|
||||
; Additionally, we now support setting static values per column. The reason
|
||||
; for this is to allow different sections to specify different values for
|
||||
; a certain named column, presumably separated by filters.
|
||||
;static "Some Special Value" => identifier_code
|
||||
;
|
||||
; Add quoted indentifiers for table and columns names.
|
||||
;quoted_identifiers=" ; Default to null
|
||||
20
MySQL_conf_pbx/test1/conf/asterisk/cdr_beanstalkd.conf
Executable file
20
MySQL_conf_pbx/test1/conf/asterisk/cdr_beanstalkd.conf
Executable file
@ -0,0 +1,20 @@
|
||||
;
|
||||
; Asterisk Call Management CDR via Beanstalkd job queue
|
||||
;
|
||||
; Beanstalkd is a simple job queue server, that is highly versatile and simple to use.
|
||||
; Beanstalkd includes the capability of using multiple queues at the same time, with priorities.
|
||||
;
|
||||
; This module requires that your server has the beanstalk-client library installed. The library
|
||||
; can be downloaded from - https://github.com/deepfryed/beanstalk-client
|
||||
;
|
||||
|
||||
[general]
|
||||
;enabled = yes
|
||||
|
||||
;host = 127.0.0.1 ; Specify the remote IP address of the Beanstalkd server
|
||||
;port = 11300 ; Specify the remote PORT of the the Beanstalkd server
|
||||
;tube = asterisk-cdr ; Specify the default CDR job queue to use
|
||||
;priority = 99 ; Specify the default job priority for the queue. This parameter is useful when building
|
||||
; platform with multiple Asterisk servers, that are used for different functions. For example,
|
||||
; none billable CDR records can be inserted with a priority of 99, while billable ones be
|
||||
; inserted with a priority of 1
|
||||
19
MySQL_conf_pbx/test1/conf/asterisk/cdr_custom.conf
Executable file
19
MySQL_conf_pbx/test1/conf/asterisk/cdr_custom.conf
Executable file
@ -0,0 +1,19 @@
|
||||
;
|
||||
; Mappings for custom config file
|
||||
;
|
||||
; To get your CSV output in a format tailored to your liking, uncomment the
|
||||
; following lines and look for the output in the cdr-custom directory (usually
|
||||
; in /var/log/asterisk). Depending on which mapping you uncomment, you may see
|
||||
; Master.csv, Simple.csv, or both.
|
||||
;
|
||||
; Alternatively, you can also specify the location of your CSV file using an
|
||||
; absolute path, e.g.:
|
||||
;
|
||||
; /srv/pbx/cdr/Master.csv => ${CSV_QUOTE(${CDR(clid)})},...
|
||||
;
|
||||
;[mappings]
|
||||
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
|
||||
;
|
||||
; High Resolution Time for billsec and duration fields
|
||||
;Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration,f)})},${CSV_QUOTE(${CDR(billsec,f)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
|
||||
;Simple.csv => ${CSV_QUOTE(${EPOCH})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})}
|
||||
15
MySQL_conf_pbx/test1/conf/asterisk/cdr_manager.conf
Executable file
15
MySQL_conf_pbx/test1/conf/asterisk/cdr_manager.conf
Executable file
@ -0,0 +1,15 @@
|
||||
;
|
||||
; Asterisk Call Management CDR
|
||||
;
|
||||
[general]
|
||||
enabled = no
|
||||
|
||||
; The "mappings" category can be used to define additional "key: value" pairs
|
||||
; that will be included in the manager event. (after AccountCode, Source, etc).
|
||||
;
|
||||
; Each line like "varname => label" will include a "label: ${CDR(varname)}"
|
||||
; in the generated event where ${CDR(varname)} its replaced with its value
|
||||
;
|
||||
;[mappings]
|
||||
;rate => Rate
|
||||
;carrier => Carrier
|
||||
12
MySQL_conf_pbx/test1/conf/asterisk/cdr_odbc.conf
Executable file
12
MySQL_conf_pbx/test1/conf/asterisk/cdr_odbc.conf
Executable file
@ -0,0 +1,12 @@
|
||||
;
|
||||
; cdr_odbc.conf
|
||||
;
|
||||
|
||||
;[global]
|
||||
;dsn=MySQL-test
|
||||
;loguniqueid=yes
|
||||
;dispositionstring=yes
|
||||
;table=cdr ;"cdr" is default table name
|
||||
;usegmtime=no ; set to "yes" to log in GMT
|
||||
;hrtime=yes ;Enables microsecond accuracy with the billsec and duration fields
|
||||
;newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence)
|
||||
16
MySQL_conf_pbx/test1/conf/asterisk/cdr_pgsql.conf
Executable file
16
MySQL_conf_pbx/test1/conf/asterisk/cdr_pgsql.conf
Executable file
@ -0,0 +1,16 @@
|
||||
; Sample Asterisk config file for CDR logging to PostgresSQL
|
||||
;
|
||||
; Note that you can use TLS connections to your database server.
|
||||
; This is configured for your PostgreSQL client installation
|
||||
; on this system (check for pgsessions.conf)
|
||||
|
||||
[global]
|
||||
;hostname=localhost
|
||||
;port=5432
|
||||
;dbname=asterisk
|
||||
;password=password
|
||||
;user=postgres
|
||||
;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.
|
||||
;table=cdr ;SQL table where CDRs will be inserted
|
||||
;encoding=LATIN9 ; Encoding of logged characters in Asterisk
|
||||
;timezone=UTC ; Uncomment if you want datetime fields in UTC/GMT
|
||||
11
MySQL_conf_pbx/test1/conf/asterisk/cdr_sqlite3_custom.conf
Executable file
11
MySQL_conf_pbx/test1/conf/asterisk/cdr_sqlite3_custom.conf
Executable file
@ -0,0 +1,11 @@
|
||||
;
|
||||
; Mappings for custom config file
|
||||
;
|
||||
[master] ; currently, only file "master.db" is supported, with only one table at a time.
|
||||
;table => cdr
|
||||
;columns => calldate, clid, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, test
|
||||
;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
|
||||
;busy_timeout => 1000
|
||||
|
||||
;Enable High Resolution Times for billsec and duration fields
|
||||
;values => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration,f)}','${CDR(billsec,f)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
|
||||
77
MySQL_conf_pbx/test1/conf/asterisk/cdr_tds.conf
Executable file
77
MySQL_conf_pbx/test1/conf/asterisk/cdr_tds.conf
Executable file
@ -0,0 +1,77 @@
|
||||
;
|
||||
; Asterisk Call Detail Records (CDR) - FreeTDS Backend
|
||||
;
|
||||
|
||||
;[global]
|
||||
|
||||
; Connection
|
||||
;
|
||||
; Use the 'connection' keyword to specify one of the instance names from your
|
||||
; 'freetds.conf' file. Note that 'freetds.conf' is not an Asterisk
|
||||
; configuration file, but one specific to the FreeTDS library. See the FreeTDS
|
||||
; documentation on 'freetds.conf' for more information:
|
||||
;
|
||||
; http://www.freetds.org/userguide/freetdsconf.htm
|
||||
;
|
||||
; Accepted values: One of the connections specified in freetds.conf
|
||||
|
||||
;connection=ConnectionFromFreeTDSConf
|
||||
|
||||
; Database Name
|
||||
;
|
||||
; The 'dbname' keyword specifies the database name to use when logging CDRs.
|
||||
;
|
||||
; Accepted values: Any valid database name
|
||||
|
||||
;dbname=AsteriskCDRs
|
||||
|
||||
; Database Table Name
|
||||
;
|
||||
; The 'table' keyword identifies which database table is used to log CDRs.
|
||||
;
|
||||
; Accepted value: Any valid table name
|
||||
; Default value: If not specified, a table named 'cdr' is assumed
|
||||
|
||||
;table=cdr
|
||||
|
||||
; Credentials
|
||||
;
|
||||
; The 'username' and 'password' keywords specify the user credentials that
|
||||
; Asterisk should use when connecting to the database.
|
||||
;
|
||||
; Accepted value: Any valid username and password
|
||||
|
||||
;username=mangUsr
|
||||
;password=
|
||||
|
||||
; Language
|
||||
;
|
||||
; The 'language' keyword changes the language which are used for error and
|
||||
; information messages returned by SQL Server. Each database and user has their
|
||||
; own default value, and this default can be overriden here.
|
||||
;
|
||||
; Accepted value: Any language installed on the target SQL Server.
|
||||
; Default value: us_english
|
||||
|
||||
;language=us_english
|
||||
|
||||
; Character Set
|
||||
;
|
||||
; The 'charset' setting is used to change the character set used when connecting
|
||||
; to the database server. Each database and database user has their own
|
||||
; character set setting, and this default can be overriden here.
|
||||
;
|
||||
; Accepted value: Any valid character set available on the target SQL server.
|
||||
; Default value: iso_1
|
||||
|
||||
;charset=BIG5
|
||||
|
||||
; High Resolution Times
|
||||
;
|
||||
; The 'hrtime' setting is used to store high resolution (sub second) times for
|
||||
; billsec and duration fields.
|
||||
;
|
||||
; Accepted value: true or false
|
||||
; Default value: false
|
||||
|
||||
;hrtime=false
|
||||
116
MySQL_conf_pbx/test1/conf/asterisk/cel.conf
Executable file
116
MySQL_conf_pbx/test1/conf/asterisk/cel.conf
Executable file
@ -0,0 +1,116 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL)
|
||||
;
|
||||
|
||||
; Channel Event Logging is a mechanism to provide fine-grained event information
|
||||
; that can be used to generate billing information. Such event information can
|
||||
; be recorded to various backend modules.
|
||||
;
|
||||
|
||||
[general]
|
||||
|
||||
; CEL Activation
|
||||
;
|
||||
; Use the 'enable' keyword to turn CEL on or off.
|
||||
;
|
||||
; Accepted values: yes and no
|
||||
; Default value: no
|
||||
|
||||
;enable=yes
|
||||
|
||||
; Application Tracking
|
||||
;
|
||||
; Use the 'apps' keyword to specify the list of applications for which you want
|
||||
; to receive CEL events. This is a comma separated list of Asterisk dialplan
|
||||
; applications, such as Dial, Queue, and Park.
|
||||
;
|
||||
; Accepted values: A comma separated list of Asterisk dialplan applications
|
||||
; Default value: none
|
||||
;
|
||||
; Note: You may also use 'all' which will result in CEL events being reported
|
||||
; for all Asterisk applications. This may affect Asterisk's performance
|
||||
; significantly.
|
||||
|
||||
apps=dial,park
|
||||
|
||||
; Event Tracking
|
||||
;
|
||||
; Use the 'events' keyword to specify the list of events which you want to be
|
||||
; raised when they occur. This is a comma separated list of the values in the
|
||||
; table below.
|
||||
;
|
||||
; Accepted values: A comma separated list of one or more of the following:
|
||||
; ALL -- Generate entries on all events
|
||||
; CHAN_START -- The time a channel was created
|
||||
; CHAN_END -- The time a channel was terminated
|
||||
; ANSWER -- The time a channel was answered (ie, phone taken off-hook)
|
||||
; HANGUP -- The time at which a hangup occurred
|
||||
; BRIDGE_ENTER -- The time a channel was connected into a conference room
|
||||
; BRIDGE_EXIT -- The time a channel was removed from a conference room
|
||||
; APP_START -- The time a tracked application was started
|
||||
; APP_END -- the time a tracked application ended
|
||||
; PARK_START -- The time a call was parked
|
||||
; PARK_END -- Unpark event
|
||||
; BLINDTRANSFER -- When a blind transfer is initiated
|
||||
; ATTENDEDTRANSFER -- When an attended transfer is initiated
|
||||
; PICKUP -- This channel picked up the specified channel
|
||||
; FORWARD -- This channel is being forwarded somewhere else
|
||||
; LINKEDID_END -- The last channel with the given linkedid is retired
|
||||
; USER_DEFINED -- Triggered from the dialplan, and has a name given by the
|
||||
; user
|
||||
; LOCAL_OPTIMIZE -- A local channel pair is optimizing away.
|
||||
;
|
||||
; Default value: none
|
||||
; (Track no events)
|
||||
|
||||
events=APP_START,CHAN_START,CHAN_END,ANSWER,HANGUP,BRIDGE_ENTER,BRIDGE_EXIT
|
||||
|
||||
; Date Format
|
||||
;
|
||||
; Use the 'dateformat' keyword to specify the date format used when CEL events
|
||||
; are raised.
|
||||
;
|
||||
; Accepted values: A strftime format string (see man strftime)
|
||||
;
|
||||
; Example: "%F %T"
|
||||
; -> This gives the date and time in the format "2009-06-23 17:02:35"
|
||||
;
|
||||
; If this option is not specified, the default format is "<seconds>.<microseconds>"
|
||||
; since epoch. The microseconds field will always be 6 digits in length, meaning it
|
||||
; may have leading zeros.
|
||||
;
|
||||
;dateformat = %F %T
|
||||
|
||||
;
|
||||
; Asterisk Manager Interface (AMI) CEL Backend
|
||||
;
|
||||
[manager]
|
||||
|
||||
; AMI Backend Activation
|
||||
;
|
||||
; Use the 'enable' keyword to turn CEL logging to the Asterisk Manager Interface
|
||||
; on or off.
|
||||
;
|
||||
; Accepted values: yes and no
|
||||
; Default value: no
|
||||
;enabled=yes
|
||||
|
||||
; Use 'show_user_defined' to put "USER_DEFINED" in the EventName header,
|
||||
; instead of (by default) just putting the user defined event name there.
|
||||
; When enabled the UserDefType header is added for user defined events to
|
||||
; provide the user defined event name.
|
||||
;
|
||||
;show_user_defined=yes
|
||||
|
||||
;
|
||||
; RADIUS CEL Backend
|
||||
;
|
||||
[radius]
|
||||
;
|
||||
; Log date/time in GMT
|
||||
;usegmtime=yes
|
||||
;
|
||||
; Set this to the location of the radiusclient-ng configuration file
|
||||
; The default is /etc/radiusclient-ng/radiusclient.conf
|
||||
;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf
|
||||
;
|
||||
21
MySQL_conf_pbx/test1/conf/asterisk/cel_beanstalkd.conf
Executable file
21
MySQL_conf_pbx/test1/conf/asterisk/cel_beanstalkd.conf
Executable file
@ -0,0 +1,21 @@
|
||||
;
|
||||
; Beanstalkd Job Queue Server CEL Backend
|
||||
;
|
||||
[general]
|
||||
|
||||
; Backend Activation
|
||||
;
|
||||
; Use the 'enabled' keyword to turn CEL logging
|
||||
; on or off.
|
||||
;
|
||||
; Accepted values: yes and no
|
||||
; Default value: no
|
||||
;enabled = yes
|
||||
|
||||
;host = 127.0.0.1 ; Specify the remote IP address of the Beanstalkd server
|
||||
;port = 11300 ; Specify the remote PORT of the the Beanstalkd server
|
||||
;tube = asterisk-cel ; Specify the default CDR job queue to use
|
||||
;priority = 99 ; Specify the default job priority for the queue. This parameter is useful when building
|
||||
; platform with multiple Asterisk servers, that are used for different functions. For example,
|
||||
; none billable CDR records can be inserted with a priority of 99, while billable ones be
|
||||
; inserted with a priority of 1
|
||||
40
MySQL_conf_pbx/test1/conf/asterisk/cel_custom.conf
Executable file
40
MySQL_conf_pbx/test1/conf/asterisk/cel_custom.conf
Executable file
@ -0,0 +1,40 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL) - Custom CSV Backend
|
||||
;
|
||||
|
||||
; This is the configuration file for the customizable CSV backend for CEL
|
||||
; logging.
|
||||
;
|
||||
; In order to create custom CSV logs for CEL, uncomment the template below
|
||||
; (Master.csv) and start Asterisk. Once CEL events are generated, a file will
|
||||
; appear in the following location:
|
||||
;
|
||||
; /var/log/asterisk/cel-custom/Master.csv
|
||||
;
|
||||
; (Note that /var/log/asterisk is the default and may differ on your system)
|
||||
;
|
||||
; You can also create more than one template if desired. All logs will appear
|
||||
; in the cel-custom directory under your Asterisk logs directory.
|
||||
;
|
||||
; Alternatively, you can also specify the location of your CSV file using an
|
||||
; absolute path, e.g.:
|
||||
;
|
||||
; /srv/pbx/cel/Master.csv => ${CSV_QUOTE(${eventtype})},...
|
||||
;
|
||||
|
||||
;
|
||||
; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
|
||||
; details from the CEL event. There are also a few variables created by this
|
||||
; module that can be used in a mapping:
|
||||
;
|
||||
; eventtype - The name of the CEL event.
|
||||
; eventtime - The timestamp of the CEL event.
|
||||
; eventenum - Like eventtype but is "USER_DEFINED" for a user defined event.
|
||||
; userdeftype - User defined event type name from CELGenUserEvent().
|
||||
; eventextra - Extra data included with this CEL event, typically along with
|
||||
; an event of type USER_DEFINED from CELGenUserEvent().
|
||||
; BRIDGEPEER - Bridged peer channel name at the time of the CEL event.
|
||||
; CHANNEL(peer) could also be used.
|
||||
;
|
||||
[mappings]
|
||||
;Master.csv => ${CSV_QUOTE(${eventtype})},${CSV_QUOTE(${eventtime})},${CSV_QUOTE(${CALLERID(name)})},${CSV_QUOTE(${CALLERID(num)})},${CSV_QUOTE(${CALLERID(ANI)})},${CSV_QUOTE(${CALLERID(RDNIS)})},${CSV_QUOTE(${CALLERID(DNID)})},${CSV_QUOTE(${CHANNEL(exten)})},${CSV_QUOTE(${CHANNEL(context)})},${CSV_QUOTE(${CHANNEL(channame)})},${CSV_QUOTE(${CHANNEL(appname)})},${CSV_QUOTE(${CHANNEL(appdata)})},${CSV_QUOTE(${CHANNEL(amaflags)})},${CSV_QUOTE(${CHANNEL(accountcode)})},${CSV_QUOTE(${CHANNEL(uniqueid)})},${CSV_QUOTE(${CHANNEL(linkedid)})},${CSV_QUOTE(${BRIDGEPEER})},${CSV_QUOTE(${CHANNEL(userfield)})},${CSV_QUOTE(${userdeftype})},${CSV_QUOTE(${eventextra})}
|
||||
108
MySQL_conf_pbx/test1/conf/asterisk/cel_odbc.conf
Executable file
108
MySQL_conf_pbx/test1/conf/asterisk/cel_odbc.conf
Executable file
@ -0,0 +1,108 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL) - Adaptive ODBC Backend
|
||||
;
|
||||
|
||||
; General module options category.
|
||||
[general]
|
||||
; Use 'show_user_defined' to put "USER_DEFINED" in the eventtype field,
|
||||
; instead of (by default) just putting the user defined event name there.
|
||||
;
|
||||
;show_user_defined=yes
|
||||
|
||||
; This configuration defines the connections and tables for which CEL records
|
||||
; may be populated. Each context specifies a different CEL table to be used.
|
||||
;
|
||||
; The columns in the tables should match up word-for-word (case-insensitive) to
|
||||
; the CEL variables set in the dialplan. The natural advantage to this system
|
||||
; is that beyond setting up the configuration file to tell you what tables to
|
||||
; look at, there isn't anything more to do beyond creating the columns for the
|
||||
; fields that you want, and populating the corresponding CEL variables in the
|
||||
; dialplan.
|
||||
;
|
||||
; Please note that after adding columns to the database, it is necessary to
|
||||
; reload this module to get the new column names and types read.
|
||||
;
|
||||
; Warning: if you specify two contexts with exactly the same connection and
|
||||
; table names, you will get duplicate records in that table. So be careful.
|
||||
;
|
||||
; CEL FIELDS:
|
||||
; eventtype
|
||||
; CHANNEL_START = 1
|
||||
; CHANNEL_END = 2
|
||||
; HANGUP = 3
|
||||
; ANSWER = 4
|
||||
; APP_START = 5
|
||||
; APP_END = 6
|
||||
; BRIDGE_START = 7
|
||||
; BRIDGE_END = 8
|
||||
; CONF_START = 9
|
||||
; CONF_END = 10
|
||||
; PARK_START = 11
|
||||
; PARK_END = 12
|
||||
; BLINDTRANSFER = 13
|
||||
; ATTENDEDTRANSFER = 14
|
||||
; TRANSFER = 15
|
||||
; HOOKFLASH = 16
|
||||
; 3WAY_START = 17
|
||||
; 3WAY_END = 18
|
||||
; CONF_ENTER = 19
|
||||
; CONF_EXIT = 20
|
||||
; USER_DEFINED = 21
|
||||
; LINKEDID_END = 22
|
||||
; BRIDGE_UPDATE = 23
|
||||
; PICKUP = 24
|
||||
; FORWARD = 25
|
||||
; eventtime (timeval, includes microseconds)
|
||||
; userdeftype (set only if eventtype == USER_DEFINED)
|
||||
; cid_name
|
||||
; cid_num
|
||||
; cid_ani
|
||||
; cid_rdnis
|
||||
; cid_dnid
|
||||
; exten
|
||||
; context
|
||||
; channame
|
||||
; appname
|
||||
; appdata
|
||||
; accountcode
|
||||
; peeraccount
|
||||
; uniqueid
|
||||
; linkedid
|
||||
; amaflags (an int)
|
||||
; userfield
|
||||
; peer
|
||||
; extra
|
||||
|
||||
; The point of this module is to allow you log whatever you like in terms of the
|
||||
; CEL variables. Do you want to log uniqueid? Then simply ensure that your
|
||||
; table has that column. If you don't want the column, ensure that it does not
|
||||
; exist in the table structure. If you'd like to call uniqueid something else
|
||||
; in your table, simply provide an alias in this file that maps the standard CEL
|
||||
; field name (uniqueid) to whatever column name you like.
|
||||
|
||||
;[first]
|
||||
;connection=mysql1
|
||||
;table=cel
|
||||
|
||||
;[second]
|
||||
;connection=mysql1
|
||||
;table=extracel
|
||||
|
||||
;[third]
|
||||
;connection=sqlserver
|
||||
;table=AsteriskCEL
|
||||
;usegmtime=yes ; defaults to no
|
||||
;allowleapsecond=no ; allow leap second in SQL column for eventtime, default yes.
|
||||
;alias src => source
|
||||
;alias channel => source_channel
|
||||
;alias dst => dest
|
||||
;alias dstchannel => dest_channel
|
||||
|
||||
; Any filter specified MUST match exactly or the event will be discarded
|
||||
;filter accountcode => somename
|
||||
;filter src => 123
|
||||
|
||||
; Additionally, we now support setting static values per column. Reason
|
||||
; for this is to allow different sections to specify different values for
|
||||
; a certain named column, presumably separated by filters.
|
||||
;static "Some Special Value" => identifier_code
|
||||
73
MySQL_conf_pbx/test1/conf/asterisk/cel_pgsql.conf
Executable file
73
MySQL_conf_pbx/test1/conf/asterisk/cel_pgsql.conf
Executable file
@ -0,0 +1,73 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL) - PostgreSQL Backend
|
||||
;
|
||||
|
||||
; Sample Asterisk config file for CEL logging to PostgreSQL
|
||||
;
|
||||
; CEL field names:
|
||||
;
|
||||
; eventtype
|
||||
; CHANNEL_START = 1
|
||||
; CHANNEL_END = 2
|
||||
; HANGUP = 3
|
||||
; ANSWER = 4
|
||||
; APP_START = 5
|
||||
; APP_END = 6
|
||||
; BRIDGE_START = 7
|
||||
; BRIDGE_END = 8
|
||||
; CONF_START = 9
|
||||
; CONF_END = 10
|
||||
; PARK_START = 11
|
||||
; PARK_END = 12
|
||||
; BLINDTRANSFER = 13
|
||||
; ATTENDEDTRANSFER = 14
|
||||
; TRANSFER = 15
|
||||
; HOOKFLASH = 16
|
||||
; 3WAY_START = 17
|
||||
; 3WAY_END = 18
|
||||
; CONF_ENTER = 19
|
||||
; CONF_EXIT = 20
|
||||
; USER_DEFINED = 21
|
||||
; LINKEDID_END = 22
|
||||
; BRIDGE_UPDATE = 23
|
||||
; PICKUP = 24
|
||||
; FORWARD = 25
|
||||
; eventtime (timeval, includes microseconds)
|
||||
; userdeftype (set only if eventtype == USER_DEFINED)
|
||||
; cid_name
|
||||
; cid_num
|
||||
; cid_ani
|
||||
; cid_rdnis
|
||||
; cid_dnid
|
||||
; exten
|
||||
; context
|
||||
; channame
|
||||
; appname
|
||||
; appdata
|
||||
; accountcode
|
||||
; peeraccount
|
||||
; uniqueid
|
||||
; linkedid
|
||||
; amaflags (an int)
|
||||
; userfield
|
||||
; peer
|
||||
; extra
|
||||
|
||||
[global]
|
||||
; Use 'show_user_defined' to put "USER_DEFINED" in the eventtype field,
|
||||
; instead of (by default) just putting the user defined event name there.
|
||||
;
|
||||
;show_user_defined=yes
|
||||
|
||||
; Log date/time in GMT. The default of this option is 'no'.
|
||||
;usegmtime=yes
|
||||
|
||||
;hostname=localhost
|
||||
;port=5432
|
||||
;dbname=asterisk
|
||||
;password=password
|
||||
;user=postgres
|
||||
;table=cel ;SQL table where CEL's will be inserted
|
||||
;schema=public ;Schema where CEL's table is located. Optional parameter.
|
||||
;If schema support is present the default value used will be current_schema().
|
||||
;appname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.
|
||||
25
MySQL_conf_pbx/test1/conf/asterisk/cel_sqlite3_custom.conf
Executable file
25
MySQL_conf_pbx/test1/conf/asterisk/cel_sqlite3_custom.conf
Executable file
@ -0,0 +1,25 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL) - SQLite 3 Backend
|
||||
;
|
||||
|
||||
;
|
||||
; Mappings for sqlite3 config file
|
||||
;
|
||||
; Within a mapping, use the CALLERID() and CHANNEL() functions to retrieve
|
||||
; details from the CEL event. There are also a few variables created by this
|
||||
; module that can be used in a mapping:
|
||||
;
|
||||
; eventtype - The name of the CEL event.
|
||||
; eventtime - The timestamp of the CEL event.
|
||||
; eventenum - Like eventtype but is "USER_DEFINED" for a user defined event.
|
||||
; userdeftype - User defined event type name from CELGenUserEvent().
|
||||
; eventextra - Extra data included with this CEL event, typically along with
|
||||
; an event of type USER_DEFINED from CELGenUserEvent().
|
||||
; BRIDGEPEER - Bridged peer channel name at the time of the CEL event.
|
||||
; CHANNEL(peer) could also be used.
|
||||
;
|
||||
;[master] ; currently, only file "master.db" is supported, with only one table at a time.
|
||||
;table => cel
|
||||
;columns => eventtype, eventtime, cidname, cidnum, cidani, cidrdnis, ciddnid, context, exten, channame, appname, appdata, amaflags, accountcode, uniqueid, userfield, peer, userdeftype, eventextra
|
||||
;values => '${eventtype}','${eventtime}','${CALLERID(name)}','${CALLERID(num)}','${CALLERID(ANI)}','${CALLERID(RDNIS)}','${CALLERID(DNID)}','${CHANNEL(context)}','${CHANNEL(exten)}','${CHANNEL(channame)}','${CHANNEL(appname)}','${CHANNEL(appdata)}','${CHANNEL(amaflags)}','${CHANNEL(accountcode)}','${CHANNEL(uniqueid)}','${CHANNEL(userfield)}','${BRIDGEPEER}','${userdeftype}','${eventextra}'
|
||||
;busy_timeout => 1000
|
||||
69
MySQL_conf_pbx/test1/conf/asterisk/cel_tds.conf
Executable file
69
MySQL_conf_pbx/test1/conf/asterisk/cel_tds.conf
Executable file
@ -0,0 +1,69 @@
|
||||
;
|
||||
; Asterisk Channel Event Logging (CEL) - FreeTDS Backend
|
||||
;
|
||||
|
||||
;[global]
|
||||
|
||||
; Connection
|
||||
;
|
||||
; Use the 'connection' keyword to specify one of the instance names from your
|
||||
; 'freetds.conf' file. Note that 'freetds.conf' is not an Asterisk
|
||||
; configuration file, but one specific to the FreeTDS library. See the FreeTDS
|
||||
; documentation on 'freetds.conf' for more information:
|
||||
;
|
||||
; http://www.freetds.org/userguide/freetdsconf.htm
|
||||
;
|
||||
; Accepted values: One of the connections specified in freetds.conf
|
||||
|
||||
;connection=ConnectionFromFreeTDSConf
|
||||
|
||||
; Database Name
|
||||
;
|
||||
; The 'dbname' keyword specifies the database name to use when logging CEL
|
||||
; records.
|
||||
;
|
||||
; Accepted values: Any valid database name
|
||||
|
||||
;dbname=MalicoHN
|
||||
|
||||
; Database Table Name
|
||||
;
|
||||
; The 'table' keyword identifies which database table is used to log CEL
|
||||
; records.
|
||||
;
|
||||
; Accepted value: Any valid table name
|
||||
; Default value: If not specified, a table named 'cel' is assumed
|
||||
|
||||
;table=cel
|
||||
|
||||
; Credentials
|
||||
;
|
||||
; The 'username' and 'password' keywords specify the user credentials that
|
||||
; Asterisk should use when connecting to the database.
|
||||
;
|
||||
; Accepted value: Any valid username and password
|
||||
|
||||
;username=mangUsr
|
||||
;password=
|
||||
|
||||
; Language
|
||||
;
|
||||
; The 'language' keyword changes the language which are used for error and
|
||||
; information messages returned by SQL Server. Each database and user has their
|
||||
; own default value, and this default can be overriden here.
|
||||
;
|
||||
; Accepted value: Any language installed on the target SQL Server.
|
||||
; Default value: Server default
|
||||
|
||||
;language=us_english
|
||||
|
||||
; Character Set
|
||||
;
|
||||
; The 'charset' setting is used to change the character set used when connecting
|
||||
; to the database server. Each database and database user has their own
|
||||
; character set setting, and this default can be overriden here.
|
||||
;
|
||||
; Accepted value: Any valid character set available on the target server.
|
||||
; Default value: Server setting
|
||||
|
||||
;charset=BIG5
|
||||
1798
MySQL_conf_pbx/test1/conf/asterisk/chan_dahdi.conf
Executable file
1798
MySQL_conf_pbx/test1/conf/asterisk/chan_dahdi.conf
Executable file
File diff suppressed because it is too large
Load Diff
69
MySQL_conf_pbx/test1/conf/asterisk/chan_mobile.conf
Executable file
69
MySQL_conf_pbx/test1/conf/asterisk/chan_mobile.conf
Executable file
@ -0,0 +1,69 @@
|
||||
;
|
||||
; chan_mobile.conf
|
||||
; configuration file for chan_mobile
|
||||
;
|
||||
|
||||
[general]
|
||||
interval=30 ; Number of seconds between trying to connect to devices.
|
||||
|
||||
; The following is a list of adapters we use.
|
||||
; id must be unique and address is the bdaddr of the adapter from hciconfig.
|
||||
; Each adapter may only have one device (headset or phone) connected at a time.
|
||||
; Add an [adapter] entry for each adapter you have.
|
||||
|
||||
[adapter]
|
||||
id=blue
|
||||
address=00:09:DD:60:01:A3
|
||||
;forcemaster=yes ; attempt to force adapter into master mode. default is no.
|
||||
;alignmentdetection=yes ; enable this if you sometimes get 'white noise' on asterisk side of the call
|
||||
; its a bug in the bluetooth adapter firmware, enabling this will compensate for it.
|
||||
; default is no.
|
||||
|
||||
[adapter]
|
||||
id=dlink
|
||||
address=00:80:C8:35:52:78
|
||||
|
||||
; The following is a list of the devices we deal with.
|
||||
; Every device listed below will be available for calls in and out of Asterisk.
|
||||
; Each device needs an adapter=xxxx entry which determines which bluetooth adapter is used.
|
||||
; Use the CLI command 'mobile search' to discover devices.
|
||||
; Use the CLI command 'mobile show devices' to see device status.
|
||||
;
|
||||
; To place a call out through a mobile phone use Dial(Mobile/[device]/NNN.....) or Dial(Mobile/gn/NNN......) in your dialplan.
|
||||
; To call a headset use Dial(Mobile/[device]).
|
||||
|
||||
[LGTU550]
|
||||
address=00:E0:91:7F:46:44 ; the address of the phone
|
||||
port=4 ; the rfcomm port number (from mobile search)
|
||||
context=incoming-mobile ; dialplan context for incoming calls
|
||||
adapter=dlink ; adapter to use
|
||||
group=1 ; this phone is in channel group 1
|
||||
;sms=no ; support SMS, defaults to yes
|
||||
;nocallsetup=yes ; set this only if your phone reports that it supports call progress notification, but does not do it. Motorola L6 for example.
|
||||
|
||||
[blackberry]
|
||||
address=00:60:57:32:7E:B2
|
||||
port=2
|
||||
context=incoming-mobile
|
||||
adapter=dlink
|
||||
group=1
|
||||
;blackberry=yes ; set this if you are using a blackberry device
|
||||
|
||||
[6310i]
|
||||
address=00:60:57:32:7E:B1
|
||||
port=13
|
||||
context=incoming-mobile
|
||||
adapter=dlink
|
||||
group=1 ; this phone is in channel group 1 also.
|
||||
|
||||
[headset]
|
||||
address=00:0B:9E:11:AE:C6
|
||||
port=1
|
||||
type=headset ; This is a headset, not a Phone !
|
||||
adapter=blue
|
||||
|
||||
[headset1]
|
||||
address=00:0B:9E:11:74:A5
|
||||
port=1
|
||||
type=headset
|
||||
adapter=dlink
|
||||
12
MySQL_conf_pbx/test1/conf/asterisk/cli.conf
Executable file
12
MySQL_conf_pbx/test1/conf/asterisk/cli.conf
Executable file
@ -0,0 +1,12 @@
|
||||
;
|
||||
; Asterisk CLI configuration
|
||||
;
|
||||
|
||||
[startup_commands]
|
||||
;
|
||||
; Any commands listed in this section will get automatically executed
|
||||
; when Asterisk starts as a daemon or foreground process (-c).
|
||||
;
|
||||
;sip set debug on = yes
|
||||
;core set verbose 3 = yes
|
||||
;core set debug 1 = yes
|
||||
203
MySQL_conf_pbx/test1/conf/asterisk/cli_aliases.conf
Executable file
203
MySQL_conf_pbx/test1/conf/asterisk/cli_aliases.conf
Executable file
@ -0,0 +1,203 @@
|
||||
;
|
||||
; CLI Aliases configuration
|
||||
;
|
||||
; This module also registers a "cli show aliases" CLI command to list
|
||||
; configured CLI aliases.
|
||||
|
||||
[general]
|
||||
; Here you define what alias templates you want to use. You can also define
|
||||
; multiple templates to use as well. If you do, and there is a conflict, then
|
||||
; the first alias defined will win.
|
||||
;
|
||||
template = friendly ; By default, include friendly aliases
|
||||
;template = asterisk_1dot2 ; Asterisk 1.2 style syntax
|
||||
;template = asterisk_1dot4 ; Asterisk 1.4 style syntax
|
||||
;template = individual_custom ; see [individual_custom] example below which
|
||||
; includes a list of aliases from an external
|
||||
; file
|
||||
|
||||
|
||||
; Because the Asterisk CLI syntax follows a "module verb argument" syntax,
|
||||
; sometimes we run into an issue between being consistant with this format
|
||||
; in the core system, and maintaining system friendliness. In order to get
|
||||
; around this we're providing some useful aliases by default.
|
||||
;
|
||||
[friendly]
|
||||
hangup request=channel request hangup
|
||||
originate=channel originate
|
||||
help=core show help
|
||||
pri intense debug span=pri set debug intense span
|
||||
reload=module reload
|
||||
pjsip reload=module reload res_pjsip.so res_pjsip_authenticator_digest.so res_pjsip_endpoint_identifier_ip.so res_pjsip_mwi.so res_pjsip_notify.so res_pjsip_outbound_publish.so res_pjsip_publish_asterisk.so res_pjsip_outbound_registration.so
|
||||
|
||||
; CLI Alias Templates
|
||||
; -------------------
|
||||
;
|
||||
; You can define several alias templates.
|
||||
; It works with context templates like all other configuration files
|
||||
;
|
||||
;[asterisk](!)
|
||||
; To create an alias you simply set the variable name as the alias and variable
|
||||
; value as the real CLI command you want executed
|
||||
;
|
||||
;die die die=stop now
|
||||
|
||||
;[asterisk_1dot6](asterisk)
|
||||
; Alias for making voicemail reload actually do module reload app_voicemail.so
|
||||
;voicemail reload=module reload app_voicemail.so
|
||||
; This will make the CLI command "mr" behave as though it is "module reload".
|
||||
;mr=module reload
|
||||
;
|
||||
;
|
||||
; In addition, you could also include a flat file of aliases which is loaded by
|
||||
; the [individual_custom] template in the [general] section.
|
||||
;
|
||||
;[individual_custom]
|
||||
;#include "/etc/asterisk/aliases"
|
||||
|
||||
; Implemented CLI Alias Templates
|
||||
; -------------------------------
|
||||
;
|
||||
; Below here we have provided you with some templates, easily allowing you to
|
||||
; utilize previous Asterisk CLI commands with any version of Asterisk. In this
|
||||
; way you will be able to use Asterisk 1.2 and 1.4 style CLI syntax with any
|
||||
; version Asterisk going forward into the future.
|
||||
;
|
||||
; We have also separated out the vanilla syntax into a context template which
|
||||
; allows you to keep your custom changes separate of the standard templates
|
||||
; we have provided you. In this way you can clearly see your custom changes,
|
||||
; and also allowing you to combine various templates as you see fit.
|
||||
;
|
||||
; The naming scheme we have used is recommended, but certainly is not enforced
|
||||
; by Asterisk. If you wish to use the provided templates, simply define the
|
||||
; context name which does not utilize the '_tpl' at the end. For example,
|
||||
; if you would like to use the Asterisk 1.2 style syntax, define in the
|
||||
; [general] section
|
||||
|
||||
[asterisk_1dot2_tpl](!)
|
||||
show channeltypes=core show channeltypes
|
||||
show channeltype=core show channeltype
|
||||
show manager command=manager show command
|
||||
show manager commands=manager show commands
|
||||
show manager connected=manager show connected
|
||||
show manager eventq=manager show eventq
|
||||
rtp no debug=rtp set debug off
|
||||
rtp rtcp debug ip=rtcp debug ip
|
||||
rtp rtcp debug=rtcp debug
|
||||
rtp rtcp no debug=rtcp debug off
|
||||
rtp rtcp stats=rtcp stats
|
||||
rtp rtcp no stats=rtcp stats off
|
||||
stun no debug=stun debug off
|
||||
udptl no debug=udptl debug off
|
||||
show image formats=core show image formats
|
||||
show file formats=core show file formats
|
||||
show applications=core show applications
|
||||
show functions=core show functions
|
||||
show switches=core show switches
|
||||
show hints=core show hints
|
||||
show globals=core show globals
|
||||
show function=core show function
|
||||
show application=core show application
|
||||
set global=core set global
|
||||
show dialplan=dialplan show
|
||||
show codecs=core show codecs
|
||||
show audio codecs=core show audio codecs
|
||||
show video codecs=core show video codecs
|
||||
show image codecs=core show image codecs
|
||||
show codec=core show codec
|
||||
moh classes show=moh show classes
|
||||
moh files show=moh show files
|
||||
agi no debug=agi debug off
|
||||
show agi=agi show
|
||||
dump agihtml=agi dumphtml
|
||||
show features=feature show
|
||||
show indications=indication show
|
||||
answer=console answer
|
||||
hangup=console hangup
|
||||
flash=console flash
|
||||
dial=console dial
|
||||
mute=console mute
|
||||
unmute=console unmute
|
||||
transfer=console transfer
|
||||
send text=console send text
|
||||
autoanswer=console autoanswer
|
||||
oss boost=console boost
|
||||
console=console active
|
||||
save dialplan=dialplan save
|
||||
add extension=dialplan add extension
|
||||
remove extension=dialplan remove extension
|
||||
add ignorepat=dialplan add ignorepat
|
||||
remove ignorepat=dialplan remove ignorepat
|
||||
include context=dialplan add include
|
||||
dont include=dialplan remove include
|
||||
extensions reload=dialplan reload
|
||||
show translation=core show translation
|
||||
convert=file convert
|
||||
show queue=queue show
|
||||
add queue member=queue add member
|
||||
remove queue member=queue remove member
|
||||
ael no debug=ael nodebug
|
||||
sip debug=sip set debug
|
||||
sip no debug=sip set debug off
|
||||
show voicemail users=voicemail show users
|
||||
show voicemail zones=voicemail show zones
|
||||
iax2 trunk debug=iax2 set debug trunk
|
||||
iax2 jb debug=iax2 set debug jb
|
||||
iax2 no debug=iax2 set debug off
|
||||
iax2 no trunk debug=iax2 set debug trunk off
|
||||
iax2 no jb debug=iax2 set debug jb off
|
||||
show agents=agent show
|
||||
show agents online=agent show online
|
||||
show memory allocations=memory show allocations
|
||||
show memory summary=memory show summary
|
||||
show version=core show version
|
||||
show version files=core show file version
|
||||
show profile=core show profile
|
||||
clear profile=core clear profile
|
||||
soft hangup=channel request hangup
|
||||
|
||||
[asterisk_1dot2](asterisk_1dot2_tpl)
|
||||
; add any additional custom commands you want below here, for example:
|
||||
;die quickly=stop now
|
||||
|
||||
[asterisk_1dot4_tpl](!)
|
||||
cdr status=cdr show status
|
||||
rtp debug=rtp set debug on
|
||||
rtcp debug=rtcp set debug on
|
||||
rtcp stats=rtcp set stats on
|
||||
stun debug=stun set debug on
|
||||
udptl debug=udptl set debug on
|
||||
core show globals=dialplan show globals
|
||||
core set global=dialplan set global
|
||||
core set chanvar=dialplan set chanvar
|
||||
agi dumphtml=agi dump html
|
||||
ael debug=ael set debug
|
||||
funcdevstate list=devstate list
|
||||
sip history=sip set history on
|
||||
skinny debug=skinny set debug on
|
||||
mgcp set debug=mgcp set debug on
|
||||
abort shutdown=core abort shutdown
|
||||
stop now=core stop now
|
||||
stop gracefully=core stop gracefully
|
||||
stop when convenient=core stop when convenient
|
||||
restart now=core restart now
|
||||
restart gracefully=core restart gracefully
|
||||
restart when convenient=core restart when convenient
|
||||
soft hangup=channel request hangup
|
||||
|
||||
[asterisk_1dot4](asterisk_1dot4_tpl)
|
||||
; add any additional custom commands you want below here.
|
||||
|
||||
[asterisk_11_tpl](!)
|
||||
jabber list nodes=xmpp list nodes
|
||||
jabber purge nodes=xmpp purge nodes
|
||||
jabber delete node=xmpp delete node
|
||||
jabber create collection=xmpp create collection
|
||||
jabber create leaf=xmpp create leaf
|
||||
jabber set debug=xmpp set debug
|
||||
jabber show connections=xmpp show connections
|
||||
jabber show buddies=xmpp show buddies
|
||||
features reload=module reload features
|
||||
|
||||
[asterisk_11](asterisk_11_tpl)
|
||||
; add any additional custom commands you want below here.
|
||||
82
MySQL_conf_pbx/test1/conf/asterisk/cli_permissions.conf
Executable file
82
MySQL_conf_pbx/test1/conf/asterisk/cli_permissions.conf
Executable file
@ -0,0 +1,82 @@
|
||||
;
|
||||
; CLI permissions configuration example for Asterisk
|
||||
;
|
||||
; All the users that you want to connect with asterisk using
|
||||
; rasterisk, should have write/read access to the
|
||||
; asterisk socket (asterisk.ctl). You could change the permissions
|
||||
; of this file in 'asterisk.conf' config parameter: 'astctlpermissions' (0666)
|
||||
; found on the [files] section.
|
||||
;
|
||||
; general options:
|
||||
;
|
||||
; default_perm = permit | deny
|
||||
; This is the default permissions to apply for a user that
|
||||
; does not has a permissions defined.
|
||||
;
|
||||
; user options:
|
||||
; permit = <command name> | all ; allow the user to run 'command' |
|
||||
; ; allow the user to run 'all' the commands
|
||||
; deny = <command name> | all ; disallow the user to run 'command' |
|
||||
; ; disallow the user to run 'all' commands.
|
||||
;
|
||||
|
||||
[general]
|
||||
|
||||
default_perm=permit ; To leave asterisk working as normal
|
||||
; we should set this parameter to 'permit'
|
||||
;
|
||||
; Follows the per-users permissions configs.
|
||||
;
|
||||
; This list is read in the sequence that is being written, so
|
||||
; In this example the user 'eliel' is allow to run only the following
|
||||
; commands:
|
||||
; sip show peer
|
||||
; core set debug
|
||||
; core set verbose
|
||||
; If the user is not specified, the default_perm option will be apply to
|
||||
; every command.
|
||||
;
|
||||
; Notice that you can also use regular expressions to allow or deny access to a
|
||||
; certain command like: 'core show application D*'. In this example the user will be
|
||||
; allowed to view the documentation for all the applications starting with 'D'.
|
||||
; Another regular expression could be: 'channel originate SIP/[0-9]* extension *'
|
||||
; allowing the user to use 'channel originate' on a sip channel and with the 'extension'
|
||||
; parameter and avoiding the use of the 'application' parameter.
|
||||
;
|
||||
; We can also use the templates syntax:
|
||||
; [supportTemplate](!)
|
||||
; deny=all
|
||||
; permit=sip show ; all commands starting with 'sip show' will be allowed
|
||||
; permit=core show
|
||||
;
|
||||
; You can specify permissions for a local group instead of a user,
|
||||
; just put a '@' and we will know that is a group.
|
||||
; IMPORTANT NOTE: Users permissions overwrite group permissions.
|
||||
;
|
||||
;[@adm]
|
||||
;deny=all
|
||||
;permit=sip
|
||||
;permit=core
|
||||
;
|
||||
;
|
||||
;[eliel]
|
||||
;deny=all
|
||||
;permit=sip show peer
|
||||
;deny=sip show peers
|
||||
;permit=core set
|
||||
;
|
||||
;
|
||||
;User 'tommy' inherits from template 'supportTemplate':
|
||||
; deny=all
|
||||
; permit=sip show
|
||||
; permit=core show
|
||||
;[tommy](supportTemplate)
|
||||
;permit=core set debug
|
||||
;permit=dialplan show
|
||||
;
|
||||
;
|
||||
;[mark]
|
||||
;deny=all
|
||||
;permit=all
|
||||
;
|
||||
;
|
||||
214
MySQL_conf_pbx/test1/conf/asterisk/codecs.conf
Executable file
214
MySQL_conf_pbx/test1/conf/asterisk/codecs.conf
Executable file
@ -0,0 +1,214 @@
|
||||
[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
|
||||
|
||||
; experimental bitrate changes depending on RTCP feedback [true / false]
|
||||
experimental_rtcp_feedback => false
|
||||
|
||||
|
||||
[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.
|
||||
; By default plc is applied only when the 2 codecs
|
||||
; in a channel are different.
|
||||
genericplc => true
|
||||
; Apply generic plc to channels even if the 2 codecs
|
||||
; are the same. This forces transcoding via slin so
|
||||
; the performance impact should be considered.
|
||||
; Ignored if genericplc is not also enabled.
|
||||
genericplc_on_equal_codecs => false
|
||||
|
||||
; Generate custom formats for formats requiring attributes.
|
||||
; After defining the custom format, the name used in defining
|
||||
; the format can be used throughout Asterisk in the format 'allow'
|
||||
; and 'disallow' options.
|
||||
;
|
||||
; Example: silk8 is a predefined custom format in this config file.
|
||||
; Once this config file is loaded, silk8 can be used anywhere a
|
||||
; peer's codec capabilities are defined.
|
||||
;
|
||||
; In sip.conf 'silk8' can be defined as a capability for a peer.
|
||||
; [peer1]
|
||||
; type=peer
|
||||
; host=dynamic
|
||||
; disallow=all
|
||||
; allow=silk8 ;custom codec defined in codecs.conf
|
||||
;
|
||||
; LIMITATIONS
|
||||
; Custom formats can only be defined at startup. Any changes to this
|
||||
; file made after startup will not take into effect until after Asterisk
|
||||
; is restarted.
|
||||
;
|
||||
|
||||
; Default Custom SILK format definitions, only one custom SILK format per
|
||||
; sample rate is allowed.
|
||||
[silk8]
|
||||
type=silk
|
||||
samprate=8000
|
||||
fec=true ; turn on or off encoding with forward error correction.
|
||||
; On recommended, off by default.
|
||||
packetloss_percentage=10 ; Estimated packet loss percentage in uplink direction. This
|
||||
; affects how much redundancy is built in when using fec.
|
||||
; The higher the percentage, the larger amount of bandwidth is
|
||||
; used. Default is 0%, 10% is recommended when fec is in use.
|
||||
|
||||
maxbitrate=10000 ; Use the table below to make sure a useful bitrate is choosen
|
||||
; for maxbitrate. If not set or value is not within the bounds
|
||||
; of the encoder, a default value is chosen.
|
||||
;
|
||||
; sample rate | bitrate range
|
||||
; 8khz | 5000 - 20000 bps
|
||||
; 12khz | 7000 - 25000 bps
|
||||
; 16khz | 8000 - 30000 bps
|
||||
; 24khz | 20000- 40000 bps
|
||||
;
|
||||
;dtx=true ; Encode using discontinuous transmission mode or not. Turning this
|
||||
; on will save bandwidth during periods of silence at the cost of
|
||||
; increased computational complexity. Off by default.
|
||||
|
||||
[silk12]
|
||||
type=silk
|
||||
samprate=12000
|
||||
maxbitrate=12000
|
||||
fec=true
|
||||
packetloss_percentage=10;
|
||||
|
||||
[silk16]
|
||||
type=silk
|
||||
samprate=16000
|
||||
maxbitrate=20000
|
||||
fec=true
|
||||
packetloss_percentage=10;
|
||||
|
||||
[silk24]
|
||||
type=silk
|
||||
samprate=24000
|
||||
maxbitrate=30000
|
||||
fec=true
|
||||
packetloss_percentage=10;
|
||||
|
||||
|
||||
; Default custom CELT codec definitions. Only one custom CELT definition is allowed
|
||||
; per a sample rate.
|
||||
;[celt44]
|
||||
;type=celt
|
||||
;samprate=44100 ; The samplerate in hz. This option is required.
|
||||
;framesize=480 ; The framesize option represents the duration of each frame in samples.
|
||||
; This must be a factor of 2. This option is only advertised in an SDP
|
||||
; when it is set. Otherwise a default of framesize of 480 is assumed
|
||||
; internally
|
||||
|
||||
;[celt48]
|
||||
;type=celt
|
||||
;samprate=48000
|
||||
|
||||
;[celt32]
|
||||
;type=celt
|
||||
;samprate=32000
|
||||
|
||||
;============================ OPUS Section Options ============================
|
||||
;
|
||||
; NOTE: Accurate documentation corresponding to your downloaded version of
|
||||
; codec_opus is available from Asterisk's CLI:
|
||||
;
|
||||
; *CLI> config show help codec_opus opus
|
||||
;
|
||||
;[opus]
|
||||
;type= ; Must be of type "opus" (default: "")
|
||||
;packet_loss= ; Encoder's packet loss percentage. Can be any number between 0
|
||||
; and 100, inclusive. A higher value results in more loss
|
||||
; resistance. (default: 0)
|
||||
;complexity= ; Encoder's computational complexity. Can be any number between 0
|
||||
; and 10, inclusive. Note, 10 equals the highest complexity.
|
||||
; (default: 10)
|
||||
;max_bandwidth= ; Encoder's maximum bandwidth allowed. Sets an upper bandwidth
|
||||
; bound on the encoder. Can be any of the following: narrow,
|
||||
; medium, wide, super_wide, full. (default: full)
|
||||
;signal= ; Encoder's signal type. Aids in mode selection on the encoder: Can
|
||||
; be any of the following: auto, voice, music. (default: auto)
|
||||
;application= ; Encoder's application type. Can be any of the following: voip,
|
||||
; audio, low_delay. (default: voip)
|
||||
;max_playback_rate= ; Override the maximum playback rate in the offer's SDP.
|
||||
; Any value between 8000 and 48000 (inclusive) is valid,
|
||||
; however typically it should match one of the usual opus
|
||||
; bandwidths. (default: 48000)
|
||||
;bitrate= ; Override the maximum average bitrate in the offer's SDP. Any value
|
||||
; between 500 and 512000 is valid. The following values are also
|
||||
; allowed: auto, max. (default: auto)
|
||||
;cbr= ; Override the constant bit rate parameter in the offer's SDP. A value of
|
||||
; 0/false/no represents a variable bit rate whereas 1/true/yes represents
|
||||
; a constant bit rate. (default: no)
|
||||
;fec= ; Override the use inband fec parameter in the offer's SDP. A value of
|
||||
; 0/false/no represents disabled whereas 1/true/yes represents enabled.
|
||||
; (default: yes)
|
||||
;dtx= ; Override the use dtx parameter in the offer's SDP. A value of 0/false/no
|
||||
; represents disabled whereas 1/true/yes represents enabled. (default: no)
|
||||
|
||||
;=============================== OPUS Examples ================================
|
||||
;
|
||||
;[opus]
|
||||
;type=opus
|
||||
;max_playback_rate=8000 ; Limit the maximum playback rate on the encoder
|
||||
;fec=no ; No inband fec
|
||||
|
||||
;[myopus]
|
||||
;type=opus
|
||||
;max_bandwidth=wide ; Maximum encoded bandwidth set to wide band (0-8000 Hz
|
||||
; ; audio bandwidth at 16Khz sample rate)
|
||||
;cbr=yes ; Negotiate a constant bit rate
|
||||
461
MySQL_conf_pbx/test1/conf/asterisk/confbridge.conf
Executable file
461
MySQL_conf_pbx/test1/conf/asterisk/confbridge.conf
Executable file
@ -0,0 +1,461 @@
|
||||
[general]
|
||||
; The general section of this config
|
||||
; is not currently used, but reserved
|
||||
; for future use.
|
||||
|
||||
;
|
||||
; --- Default Information ---
|
||||
; The default_user and default_bridge sections are applied
|
||||
; automatically to all ConfBridge instances invoked without
|
||||
; a user, or bridge argument. No menu is applied by default.
|
||||
;
|
||||
; Note that while properties of the default_user or default_bridge
|
||||
; profile can be overridden, if removed, they will be automatically
|
||||
; added and made available to the dialplan upon module load.
|
||||
;
|
||||
|
||||
; --- ConfBridge User Profile Options ---
|
||||
[default_user]
|
||||
type=user
|
||||
;admin=yes ; Sets if the user is an admin or not. Off by default.
|
||||
|
||||
;send_events=no ; If events are enabled for this bridge and this option is
|
||||
; set, users will receive events like join, leave, talking,
|
||||
; etc. via text messages. For users accessing the bridge
|
||||
; via chan_pjsip, this means in-dialog MESSAGE messages.
|
||||
; This is most useful for WebRTC participants where the
|
||||
; browser application can use the messages to alter the user
|
||||
; interface.
|
||||
;echo_events=yes ; If events are enabled for this user and this option is set,
|
||||
; the user will receive events they trigger, talking, mute, etc.
|
||||
; If not set, they will not receive their own events.
|
||||
|
||||
;marked=yes ; Sets if this is a marked user or not. Off by default.
|
||||
;startmuted=yes; Sets if all users should start out muted. Off by default
|
||||
;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only
|
||||
; one person is in the conference or when the
|
||||
; the user is waiting on a marked user to enter
|
||||
; the conference. Off by default.
|
||||
;music_on_hold_class=default ; The MOH class to use for this user.
|
||||
;quiet=yes ; When enabled enter/leave prompts and user intros are not played.
|
||||
; There are some prompts, such as the prompt to enter a PIN number,
|
||||
; that must be played regardless of what this option is set to.
|
||||
; Off by default
|
||||
;hear_own_join_sound=yes ; Sets if a user joining the conference should hear the sound_join
|
||||
; audio sound when they enter the conference. If set to 'no' the
|
||||
; user will not hear the sound_join audio but the other participants
|
||||
; in the conference will still hear the audio. If set to 'yes'
|
||||
; everyone hears the sound_join audio when this user enters the conference.
|
||||
; On by default
|
||||
;announce_user_count=yes ; Sets if the number of users should be announced to the
|
||||
; caller. Off by default.
|
||||
;announce_user_count_all=yes ; Sets if the number of users should be announced to
|
||||
; all the other users in the conference when someone joins.
|
||||
; This option can be either set to 'yes' or a number.
|
||||
; When set to a number, the announcement will only occur
|
||||
; once the user count is above the specified number.
|
||||
;announce_only_user=yes ; Sets if the only user announcement should be played
|
||||
; when a channel enters a empty conference. On by default.
|
||||
;wait_marked=yes ; Sets if the user must wait for a marked user to enter before
|
||||
; joining the conference. Off by default.
|
||||
;end_marked=yes ; This option will kick every non-marked user with this option set in their
|
||||
; user profile after the last marked user exits the conference.
|
||||
;end_marked_any=no ; This option will kick every user with this option set in
|
||||
; their user profile after any marked user exits the conference.
|
||||
; Additionally, note that unlike end_marked, this includes marked users.
|
||||
|
||||
;dsp_drop_silence=yes ; This option drops what Asterisk detects as silence from
|
||||
; entering into the bridge. Enabling this option will drastically
|
||||
; improve performance and help remove the buildup of background
|
||||
; noise from the conference. Highly recommended for large conferences
|
||||
; due to its performance enhancements.
|
||||
|
||||
;dsp_talking_threshold=128 ; Average magnitude threshold to determine talking.
|
||||
;
|
||||
; The minimum average magnitude per sample in a frame for the
|
||||
; DSP to consider talking/noise present. A value below this
|
||||
; level is considered silence. This value affects several
|
||||
; operations and should not be changed unless the impact on
|
||||
; call quality is fully understood.
|
||||
;
|
||||
; What this value affects internally:
|
||||
;
|
||||
; 1. Audio is only mixed out of a user's incoming audio
|
||||
; stream if talking is detected. If this value is set too
|
||||
; high the user will hear himself talking.
|
||||
;
|
||||
; 2. When talk detection AMI events are enabled, this value
|
||||
; determines when talking has begun which results in an
|
||||
; AMI event to fire. If this value is set too low AMI
|
||||
; events may be falsely triggered by variants in room
|
||||
; noise.
|
||||
;
|
||||
; 3. The 'drop_silence' option depends on this value to
|
||||
; determine when the user's audio should be mixed into the
|
||||
; bridge after periods of silence. If this value is too
|
||||
; high the user's speech will get discarded as they will
|
||||
; be considered silent.
|
||||
;
|
||||
; Valid values are 1 through 2^15.
|
||||
; By default this value is 160.
|
||||
|
||||
;dsp_silence_threshold=2000 ; The number of milliseconds of silence necessary to declare
|
||||
; talking stopped.
|
||||
;
|
||||
; The time in milliseconds of sound falling below the
|
||||
; 'dsp_talking_threshold' option when a user is considered to
|
||||
; stop talking. This value affects several operations and
|
||||
; should not be changed unless the impact on call quality is
|
||||
; fully understood.
|
||||
;
|
||||
; What this value affects internally:
|
||||
;
|
||||
; 1. When talk detection AMI events are enabled, this value
|
||||
; determines when the user has stopped talking after a
|
||||
; period of talking. If this value is set too low AMI
|
||||
; events indicating the user has stopped talking may get
|
||||
; falsely sent out when the user briefly pauses during mid
|
||||
; sentence.
|
||||
;
|
||||
; 2. The 'drop_silence' option depends on this value to
|
||||
; determine when the user's audio should begin to be
|
||||
; dropped from the conference bridge after the user stops
|
||||
; talking. If this value is set too low the user's audio
|
||||
; stream may sound choppy to the other participants. This
|
||||
; is caused by the user transitioning constantly from
|
||||
; silence to talking during mid sentence.
|
||||
;
|
||||
; The best way to approach this option is to set it slightly
|
||||
; above the maximum amount of milliseconds of silence a user
|
||||
; may generate during natural speech.
|
||||
;
|
||||
; Valid values are 1 through 2^31.
|
||||
; By default this value is 2500ms.
|
||||
|
||||
;talk_detection_events=yes ; This option sets whether or not notifications of when a user
|
||||
; begins and ends talking should be sent out as events over AMI.
|
||||
; By default this option is off.
|
||||
|
||||
;denoise=yes ; Sets whether or not a denoise filter should be applied
|
||||
; to the audio before mixing or not. Off by default. Requires
|
||||
; func_speex to be built and installed. Do not confuse this option
|
||||
; with drop_silence. Denoise is useful if there is a lot of background
|
||||
; noise for a user as it attempts to remove the noise while preserving
|
||||
; the speech. This option does NOT remove silence from being mixed into
|
||||
; the conference and does come at the cost of a slight performance hit.
|
||||
|
||||
;jitterbuffer=yes ; Enabling this option places a jitterbuffer on the user's audio stream
|
||||
; before audio mixing is performed. This is highly recommended but will
|
||||
; add a slight delay to the audio. This option is using the JITTERBUFFER
|
||||
; dialplan function's default adaptive jitterbuffer. For a more fine tuned
|
||||
; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
|
||||
; on the user before entering the ConfBridge application.
|
||||
|
||||
;pin=1234 ; Sets if this user must enter a PIN number before entering
|
||||
; the conference. The PIN will be prompted for.
|
||||
;announce_join_leave=yes ; When enabled, this option will prompt the user for a
|
||||
; name when entering the conference. After the name is
|
||||
; recorded, it will be played as the user enters and exists
|
||||
; the conference. This option is off by default.
|
||||
;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
|
||||
; will be prompted to review their recording before
|
||||
; entering the conference. During this phase, the recording
|
||||
; may be listened to, re-recorded, or accepted as is. This
|
||||
; option is off by default.
|
||||
;dtmf_passthrough=yes ; Sets whether or not DTMF should pass through the conference.
|
||||
; This option is off by default.
|
||||
;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.
|
||||
|
||||
;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
|
||||
; may stay in the conference before being automatically ejected. When the user
|
||||
; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
|
||||
; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
|
||||
; Default: 0
|
||||
;text_messaging=yes ; When set to yes text messages will be sent to this user. Text messages
|
||||
; may occur as a result of events or can be received from other participants.
|
||||
; When set to no text messages will not be sent to this user.
|
||||
;answer_channel=yes ; Sets if the channel should be answered if it hasn't been already.
|
||||
; On by default.
|
||||
|
||||
; --- ConfBridge Bridge Profile Options ---
|
||||
[default_bridge]
|
||||
type=bridge
|
||||
;max_members=50 ; This option limits the number of participants for a single
|
||||
; conference to a specific number. By default conferences
|
||||
; have no participant limit. After the limit is reached, the
|
||||
; conference will be locked until someone leaves. Note however
|
||||
; that an Admin user will always be alowed to join the conference
|
||||
; regardless if this limit is reached or not.
|
||||
|
||||
;record_conference=yes ; Records the conference call starting when the first user
|
||||
; enters the room, and ending when the last user exits the room.
|
||||
; The default recorded filename is
|
||||
; 'confbridge-<name of conference bridge>-<start time>.wav
|
||||
; and the default format is 8khz slinear. This file will be
|
||||
; located in the configured monitoring directory in asterisk.conf.
|
||||
|
||||
;record_file=</path/to/file> ; When record_conference is set to yes, the specific name of the
|
||||
; record file can be set using this option. Note that since multiple
|
||||
; conferences may use the same bridge profile, this may cause issues
|
||||
; depending on the configuration. It is recommended to only use this
|
||||
; option dynamically with the CONFBRIDGE() dialplan function. This
|
||||
; allows the record name to be specified and a unique name to be chosen.
|
||||
; By default, the record_file is stored in Asterisk's spool/monitor directory
|
||||
; with a unique filename starting with the 'confbridge' prefix.
|
||||
|
||||
;record_file_append=yes ; Append record file when starting/stopping on same conference recording.
|
||||
;record_file_timestamp=yes ; Append the start time to the record file name.
|
||||
|
||||
;record_options= ; Pass additional options to MixMonitor.
|
||||
;record_command=</path/to/command> ; Command to execute when recording finishes.
|
||||
|
||||
;internal_sample_rate=auto ; Sets the internal native sample rate the
|
||||
; conference is mixed at. This is set to automatically
|
||||
; adjust the sample rate to the best quality by default.
|
||||
; Other values can be anything from 8000-192000. If a
|
||||
; sample rate is set that Asterisk does not support, the
|
||||
; closest sample rate Asterisk does support to the one requested
|
||||
; will be used.
|
||||
|
||||
;maximum_sample_rate=none ; Sets the maximum sample rate the conference
|
||||
; is mixed at. This is set to no maximum by default.
|
||||
; Values can be anything from 8000-192000.
|
||||
|
||||
;mixing_interval=40 ; Sets the internal mixing interval in milliseconds for the bridge. This
|
||||
; number reflects how tight or loose the mixing will be for the conference.
|
||||
; In order to improve performance a larger mixing interval such as 40ms may
|
||||
; be chosen. Using a larger mixing interval comes at the cost of introducing
|
||||
; larger amounts of delay into the bridge. Valid values here are 10, 20, 40,
|
||||
; or 80. By default 20ms is used.
|
||||
|
||||
;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
|
||||
; Note that participants wanting to view and be the source of a video feed
|
||||
; _MUST_ be sharing the same video codec. Also, using video in conjunction with
|
||||
; with the jitterbuffer currently results in the audio being slightly out of sync
|
||||
; with the video. This is a result of the jitterbuffer only working on the audio
|
||||
; stream. It is recommended to disable the jitterbuffer when video is used.
|
||||
;
|
||||
; --- MODES ---
|
||||
; none: No video sources are set by default in the conference. It is still
|
||||
; possible for a user to be set as a video source via AMI or DTMF action
|
||||
; at any time.
|
||||
;
|
||||
; follow_talker: The video feed will follow whoever is talking and providing video.
|
||||
;
|
||||
; last_marked: The last marked user to join the conference with video capabilities
|
||||
; will be the single source of video distributed to all participants.
|
||||
; If multiple marked users are capable of video, the last one to join
|
||||
; is always the source, when that user leaves it goes to the one who
|
||||
; joined before them.
|
||||
;
|
||||
; first_marked: The first marked user to join the conference with video capabilities
|
||||
; is the single source of video distribution among all participants. If
|
||||
; that user leaves, the marked user to join after them becomes the source.
|
||||
;
|
||||
; sfu: Selective Forwarding Unit - Sets multi-stream operation
|
||||
; for a multi-party video conference.
|
||||
|
||||
;language=en ; Set the language used for announcements to the conference.
|
||||
; Default is en (English).
|
||||
|
||||
;regcontext=conferences ; The name of the context into which to register conference names as extensions.
|
||||
;video_update_discard=2000 ; Amount of time (in milliseconds) to discard video update requests after sending a video
|
||||
; update request. Default is 2000. A video update request is a request for a full video
|
||||
; intra-frame. Clients can request this if they require a full frame in order to decode
|
||||
; the video stream. Since a full frame can be large limiting how often they occur can
|
||||
; reduce bandwidth usage at the cost of increasing how long it may take a newly joined
|
||||
; channel to receive the video stream.
|
||||
;remb_send_interval=1000 ; Interval (in milliseconds) at which a combined REMB frame will be sent to sources of video.
|
||||
; A REMB frame contains receiver estimated maximum bitrate information. By creating a combined
|
||||
; frame and sending it to the sources of video the sender can be influenced on what bitrate
|
||||
; they choose allowing a better experience for the receivers. This defaults to 0, or disabled.
|
||||
;remb_behavior=average ; How the combined REMB report for an SFU video bridge is constructed. If set to "average" then
|
||||
; the estimated maximum bitrate of each receiver is used to construct an average bitrate. If
|
||||
; set to "lowest" the lowest maximum bitrate is forwarded to the sender. If set to "highest"
|
||||
; the highest maximum bitrate is forwarded to the sender. If set to "average_all" a single average
|
||||
; is generated from every receiver and the same value is sent to every sender. If set to
|
||||
; "lowest_all" the lowest maximum bitrate of all receivers is sent to every sender. If set to
|
||||
; "highest_all" the highest maximum bitrate of all receivers is sent to every sender.
|
||||
; When set to "force", the value set in remb_estimated_bitrate is sent to every sender.
|
||||
; This defaults to "average".
|
||||
;remb_estimated_bitrate=0 ; When remb_behavior is set to 'force', this options sets the estimated bitrate
|
||||
; (in bits per second) sent to each participant in REMB reports.
|
||||
|
||||
;enable_events=no ; If enabled, recipients who joined the bridge via a channel driver
|
||||
; that supports Enhanced Messaging (currently only chan_pjsip) will
|
||||
; receive in-dialog messages containing a JSON body describing the
|
||||
; event. The Content-Type header will be
|
||||
; "text/x-ast-confbridge-event".
|
||||
; This feature must also be enabled in user profiles.
|
||||
|
||||
; All sounds in the conference are customizable using the bridge profile options below.
|
||||
; Simply state the option followed by the filename or full path of the filename after
|
||||
; the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin
|
||||
; sound file found in the sounds directory when announcing someone's name is joining the
|
||||
; conference.
|
||||
|
||||
;sound_join ; The sound played to everyone when someone enters the conference.
|
||||
;sound_leave ; The sound played to everyone when someone leaves the conference.
|
||||
;sound_has_joined ; The sound played before announcing someone's name has
|
||||
; joined the conference. This is used for user intros.
|
||||
; Example "_____ has joined the conference"
|
||||
;sound_has_left ; The sound played when announcing someone's name has
|
||||
; left the conference. This is used for user intros.
|
||||
; Example "_____ has left the conference"
|
||||
;sound_kicked ; The sound played to a user who has been kicked from the conference.
|
||||
;sound_muted ; The sound played when the mute option is toggled on using DTMF menu.
|
||||
;sound_unmuted ; The sound played when the mute option is toggled off using DTMF menu.
|
||||
;sound_only_person ; The sound played when the user is the only person in the conference.
|
||||
;sound_only_one ; The sound played to a user when there is only one other
|
||||
; person is in the conference.
|
||||
;sound_there_are ; The sound played when announcing how many users there
|
||||
; are in a conference.
|
||||
;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
|
||||
; when announcing how many users there are in the conference.
|
||||
; The sounds are stringed together like this.
|
||||
; "sound_there_are" <number of participants> "sound_other_in_party"
|
||||
;sound_place_into_conference ; The sound played when someone is placed into the conference
|
||||
; after waiting for a marked user. This sound is now deprecated
|
||||
; since it was only ever used improperly and correcting that bug
|
||||
; made it completely unused.
|
||||
;sound_wait_for_leader ; The sound played when a user is placed into a conference that
|
||||
; can not start until a marked user enters.
|
||||
;sound_leader_has_left ; The sound played when the last marked user leaves the conference.
|
||||
;sound_get_pin ; The sound played when prompting for a conference pin number.
|
||||
;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
|
||||
;sound_locked ; The sound played to a user trying to join a locked conference.
|
||||
;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
|
||||
;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
|
||||
;sound_error_menu ; The sound played when an invalid menu option is entered.
|
||||
;sound_begin ; The sound played to the conference when the first marked user enters the conference.
|
||||
;sound_binaural_on ; The sound played when binaural audio is turned on
|
||||
;sound_binaural_off ; The sound played when binaural audio is turned off
|
||||
|
||||
; --- ConfBridge Menu Options ---
|
||||
; The ConfBridge application also has the ability to
|
||||
; apply custom DTMF menus to each channel using the
|
||||
; application. Like the User and Bridge profiles
|
||||
; a menu is passed in to ConfBridge as an argument in
|
||||
; the dialplan.
|
||||
;
|
||||
; Below is a list of menu actions that can be assigned
|
||||
; to a DTMF sequence.
|
||||
;
|
||||
; To have the first DTMF digit in a sequence be the '#' character, you need to
|
||||
; escape it. If it is not escaped then normal config file processing will
|
||||
; think it is a directive like #include. For example:
|
||||
; \#1=toggle_mute ; Pressing #1 will toggle the mute setting.
|
||||
;
|
||||
; A single DTMF sequence can have multiple actions associated with it. This is
|
||||
; accomplished by stringing the actions together and using a ',' as the delimiter.
|
||||
; Example: Both listening and talking volume is reset when '5' is pressed.
|
||||
; 5=reset_talking_volume, reset_listening_volume
|
||||
;
|
||||
; playback(<name of audio file>&<name of audio file>)
|
||||
; Playback will play back an audio file to a channel
|
||||
; and then immediately return to the conference.
|
||||
; This file can not be interupted by DTMF.
|
||||
; Mutliple files can be chained together using the
|
||||
; '&' character.
|
||||
; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
|
||||
; playback_and_continue will
|
||||
; play back a prompt while continuing to
|
||||
; collect the dtmf sequence. This is useful
|
||||
; when using a menu prompt that describes all
|
||||
; the menu options. Note however that any DTMF
|
||||
; during this action will terminate the prompts
|
||||
; playback. Prompt files can be chained together
|
||||
; using the '&' character as a delimiter.
|
||||
; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent
|
||||
; to everyone else, but the user will still be able to listen in.
|
||||
; toggle_binaural ; Toggle on or off binaural audio processing.
|
||||
|
||||
; no_op ; This action does nothing (No Operation). Its only real purpose exists for
|
||||
; being able to reserve a sequence in the config as a menu exit sequence.
|
||||
; decrease_listening_volume ; Decreases the channel's listening volume.
|
||||
; increase_listening_volume ; Increases the channel's listening volume.
|
||||
; reset_listening_volume ; Reset channel's listening volume to default level.
|
||||
|
||||
; decrease_talking_volume ; Decreases the channel's talking volume.
|
||||
; increase_talking_volume ; Icreases the channel's talking volume.
|
||||
; reset_talking_volume ; Reset channel's talking volume to default level.
|
||||
;
|
||||
; dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user
|
||||
; to escape from the conference and execute
|
||||
; commands in the dialplan. Once the dialplan
|
||||
; exits the user will be put back into the
|
||||
; conference. The possibilities are endless!
|
||||
; leave_conference ; This action allows a user to exit the conference and continue
|
||||
; execution in the dialplan.
|
||||
;
|
||||
; admin_kick_last ; This action allows an Admin to kick the last participant from the
|
||||
; conference. This action will only work for admins which allows
|
||||
; a single menu to be used for both users and admins.
|
||||
;
|
||||
; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
|
||||
; unlocking the conference. Non admins can not use
|
||||
; this action even if it is in their menu.
|
||||
|
||||
; set_as_single_video_src ; This action allows any user to set themselves as the
|
||||
; single video source distributed to all participants.
|
||||
; This will make the video feed stick to them regardless
|
||||
; of what the video_mode is set to.
|
||||
|
||||
; release_as_single_video_src ; This action allows a user to release themselves as
|
||||
; the video source. If video_mode is not set to "none"
|
||||
; this action will result in the conference returning to
|
||||
; whatever video mode the bridge profile is using.
|
||||
;
|
||||
; Note that this action will have no effect if the user
|
||||
; is not currently the video source. Also, the user is
|
||||
; not guaranteed by using this action that they will not
|
||||
; become the video source again. The bridge will return
|
||||
; to whatever operation the video_mode option is set to
|
||||
; upon release of the video src.
|
||||
|
||||
; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
|
||||
; state for all non-admins within a conference.
|
||||
; Subsequent non-admins joining a muted conference will
|
||||
; start muted. All admin users are unaffected by this
|
||||
; option. Note that all users, regardless of their admin
|
||||
; status, are notified that the conference is muted when
|
||||
; the state is toggled.
|
||||
|
||||
; participant_count ; This action plays back the number of participants currently
|
||||
; in a conference
|
||||
|
||||
[sample_user_menu]
|
||||
type=menu
|
||||
*=playback_and_continue(conf-usermenu)
|
||||
*1=toggle_mute
|
||||
1=toggle_mute
|
||||
*4=decrease_listening_volume
|
||||
4=decrease_listening_volume
|
||||
*6=increase_listening_volume
|
||||
6=increase_listening_volume
|
||||
*7=decrease_talking_volume
|
||||
7=decrease_talking_volume
|
||||
*8=leave_conference
|
||||
8=leave_conference
|
||||
*9=increase_talking_volume
|
||||
9=increase_talking_volume
|
||||
|
||||
[sample_admin_menu]
|
||||
type=menu
|
||||
*=playback_and_continue(conf-adminmenu)
|
||||
*1=toggle_mute
|
||||
1=toggle_mute
|
||||
*2=admin_toggle_conference_lock ; only applied to admin users
|
||||
2=admin_toggle_conference_lock ; only applied to admin users
|
||||
*3=admin_kick_last ; only applied to admin users
|
||||
3=admin_kick_last ; only applied to admin users
|
||||
*4=decrease_listening_volume
|
||||
4=decrease_listening_volume
|
||||
*6=increase_listening_volume
|
||||
6=increase_listening_volume
|
||||
*7=decrease_talking_volume
|
||||
7=decrease_talking_volume
|
||||
*8=no_op
|
||||
8=no_op
|
||||
*9=increase_talking_volume
|
||||
9=increase_talking_volume
|
||||
46
MySQL_conf_pbx/test1/conf/asterisk/config_test.conf
Executable file
46
MySQL_conf_pbx/test1/conf/asterisk/config_test.conf
Executable file
@ -0,0 +1,46 @@
|
||||
; Config to test config parsing
|
||||
; global and item have values that differ from defaults
|
||||
; global_defaults and item_defualts are to show all defaults are set
|
||||
; there should be an option for every default type, and a custom type
|
||||
|
||||
[global]
|
||||
intopt=-1
|
||||
uintopt=1
|
||||
timelenopt1=1ms
|
||||
timelenopt2=1s
|
||||
timelenopt3=1m
|
||||
timelenopt4=1h
|
||||
doubleopt=0.1
|
||||
sockaddropt=1.2.3.4:1234
|
||||
boolopt=true
|
||||
boolflag1=true
|
||||
boolflag2=false
|
||||
boolflag3=true
|
||||
deny=0.0.0.0/0
|
||||
permit=1.2.3.4/32
|
||||
codecopt=!all,ulaw,g729
|
||||
stropt=test
|
||||
customopt=yes
|
||||
|
||||
[global_defaults]
|
||||
|
||||
[item]
|
||||
intopt=-1
|
||||
uintopt=1
|
||||
timelenopt1=1
|
||||
timelenopt2=1
|
||||
timelenopt3=1
|
||||
timelenopt4=1
|
||||
doubleopt=0.1
|
||||
sockaddropt=1.2.3.4:1234
|
||||
boolopt=true
|
||||
boolflag1=true
|
||||
boolflag2=false
|
||||
boolflag3=true
|
||||
acldenyopt=0.0.0.0/0
|
||||
aclpermitopt=1.2.3.4/32
|
||||
codecopt=!all,ulaw,g729
|
||||
stropt=test
|
||||
customopt=yes
|
||||
|
||||
[item_defaults]
|
||||
97
MySQL_conf_pbx/test1/conf/asterisk/console.conf
Executable file
97
MySQL_conf_pbx/test1/conf/asterisk/console.conf
Executable file
@ -0,0 +1,97 @@
|
||||
;
|
||||
; Configuration for chan_console, a cross-platform console channel driver.
|
||||
;
|
||||
|
||||
[general]
|
||||
|
||||
; Set this option to "yes" to enable automatically answering calls on the
|
||||
; console. This is very useful if the console is used as an intercom.
|
||||
; The default value is "no".
|
||||
;
|
||||
;autoanswer = no
|
||||
|
||||
; Set the default context to use for outgoing calls. This can be overridden by
|
||||
; dialing some extension@context, unless the overridecontext option is enabled.
|
||||
; The default is "default".
|
||||
;
|
||||
;context = default
|
||||
|
||||
; Set the default extension to use for outgoing calls. The default is "s".
|
||||
;
|
||||
;extension = s
|
||||
|
||||
; Set the default CallerID for created channels.
|
||||
;
|
||||
;callerid = MyName Here <(256) 428-6000>
|
||||
|
||||
; Set the default language for created channels.
|
||||
;
|
||||
;language = en
|
||||
|
||||
; 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".
|
||||
;
|
||||
;overridecontext = no ; if 'no', the last @ will start the context
|
||||
; if 'yes' the whole string is an extension.
|
||||
|
||||
|
||||
; 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
|
||||
|
||||
; ----------------------------- JITTER BUFFER CONFIGURATION --------------------------
|
||||
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of an
|
||||
; Console 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 Console channel can't accept jitter,
|
||||
; thus an enabled jitterbuffer on the receive Console 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 Console
|
||||
; 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.
|
||||
|
||||
; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
|
||||
; The option represents the number of milliseconds by which the new
|
||||
; jitter buffer will pad its size. the default is 40, so without
|
||||
; modification, the new jitter buffer will set its size to the jitter
|
||||
; value plus 40 milliseconds. increasing this value may help if your
|
||||
; network normally has low jitter, but occasionally has spikes.
|
||||
|
||||
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
|
||||
; ----------------------------------------------------------------------------------
|
||||
|
||||
|
||||
;
|
||||
; Any configuration context defined beyond the [general] section configures
|
||||
; specific devices for use.
|
||||
;
|
||||
|
||||
[default]
|
||||
input_device = default ; When configuring an input device and output device,
|
||||
output_device = default ; use the name that you see when you run the "console
|
||||
; list available" CLI command. If you say "default", the
|
||||
; system default input and output devices will be used.
|
||||
autoanswer = no
|
||||
context = default
|
||||
extension = s
|
||||
callerid = MyName Here <(256) 428-6000>
|
||||
language = en
|
||||
overridecontext = no
|
||||
mohinterpret = default
|
||||
active = yes ; This option should only be set for one console.
|
||||
; It means that it is the active console to be
|
||||
; used from the Asterisk CLI.
|
||||
34
MySQL_conf_pbx/test1/conf/asterisk/dbsep.conf
Executable file
34
MySQL_conf_pbx/test1/conf/asterisk/dbsep.conf
Executable file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# Configuration file for dbsep.cgi
|
||||
#
|
||||
# The purpose of this file is to provide realtime access to a database,
|
||||
# possibly through ODBC, without needing to load the ODBC drivers into
|
||||
# Asterisk, since there are several backend drivers which are rather
|
||||
# buggy.
|
||||
#
|
||||
# We accomplish this separation by using the res_config_curl realtime
|
||||
# driver to connect to a server running dbsep.cgi (or another, which
|
||||
# implements the same protocol).
|
||||
#
|
||||
# This file contains the information necessary to configure dbsep.cgi.
|
||||
#
|
||||
#
|
||||
# Once installed to a web server, you'll need to preload func_curl.so
|
||||
# and res_config_curl.so in modules.conf and configure extconfig.conf:
|
||||
#
|
||||
# voicemail => curl,http://server/path/to/dbsep.cgi/voicemail
|
||||
# sippeers => curl,http://server/path/to/dbsep.cgi/sippeers
|
||||
#
|
||||
|
||||
# The Data Source Name, as specified by the Perl DBI module.
|
||||
# Typically, this will be along the lines of 'DBI:mysql:astdbname[:dbhostname]' or 'DBI:Pg:dbname=astdbname;hostname=dbhostname'
|
||||
dsn=somedsn
|
||||
|
||||
# Connected database user
|
||||
dbuser=someuser
|
||||
|
||||
# And its password
|
||||
dbpass=password
|
||||
|
||||
# For most databases, this is fine. Set to 'no' for Sybase or MS SQL Server.
|
||||
backslash_is_escape=yes
|
||||
5
MySQL_conf_pbx/test1/conf/asterisk/dnsmgr.conf
Executable file
5
MySQL_conf_pbx/test1/conf/asterisk/dnsmgr.conf
Executable file
@ -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)
|
||||
42
MySQL_conf_pbx/test1/conf/asterisk/dsp.conf
Executable file
42
MySQL_conf_pbx/test1/conf/asterisk/dsp.conf
Executable file
@ -0,0 +1,42 @@
|
||||
[default]
|
||||
;
|
||||
; Length of sound (in milliseconds) before a period of silence is considered
|
||||
; to be a change from talking to silence or a period of noise converts silence
|
||||
; to talking. [default=256]
|
||||
;
|
||||
;silencethreshold=256
|
||||
|
||||
; DTMF Reverse Twist and Normal Twist is the difference in power between the row and column energies.
|
||||
;
|
||||
; Normal Twist is where the row energy is greater than the column energy.
|
||||
; Reverse Twist is where the column energy is greater.
|
||||
;
|
||||
; Power level difference between frequencies for different Administrations/RPOAs
|
||||
; Power Gain equiv
|
||||
; normal reverse dB's
|
||||
; AT&T(default) 6.31 2.51 8dB(normal), 4dB(reverse)
|
||||
; NTT 3.16 3.16 Max. 5dB
|
||||
; Danish 3.98 3.98 Max. 6dB
|
||||
; Australian 10.0 10.0 Max. 10dB
|
||||
; Brazilian 7.94 7.94 Max. 9dB
|
||||
; ETSI 3.98 3.98 Max. 6dB
|
||||
|
||||
;previous version compatible AT&T values
|
||||
; RADIO_RELAX disabled, and relaxdtmf=no
|
||||
; 6.30 2.50 7.99dB(normal), 3.98dB(reverse)
|
||||
; RADIO_RELAX disabled, and relaxdtmf=yes
|
||||
; 6.30 4.00 7.99dB(normal), 6.02dB(reverse)
|
||||
; RADIO_RELAX enabled, and relaxdtmf=no
|
||||
; 6.30 2.50 7.99dB(normal), 3.984dB(reverse)
|
||||
; RADIO_RELAX enabled, and relaxdtmf=yes
|
||||
; 6.30 6.50 7.99dB(normal), 8.13dB(reverse)
|
||||
|
||||
;If you don't know what these mean, don't change them.
|
||||
;dtmf_normal_twist=6.31
|
||||
;dtmf_reverse_twist=2.51
|
||||
;relax_dtmf_normal_twist=6.31
|
||||
;relax_dtmf_reverse_twist=3.98
|
||||
|
||||
;successive number hits/misses of 12.75ms before a digit/nodigit is considered valid
|
||||
;dtmf_hits_to_begin=2
|
||||
;dtmf_misses_to_end=3
|
||||
289
MySQL_conf_pbx/test1/conf/asterisk/dundi.conf
Executable file
289
MySQL_conf_pbx/test1/conf/asterisk/dundi.conf
Executable file
@ -0,0 +1,289 @@
|
||||
;
|
||||
; 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. IPv6 addresses are accepted. Default is 0.0.0.0
|
||||
; You can specify 'bindaddr2' to bind to another address however
|
||||
; 'bindaddr and 'bindaddr2' need to be different IP protocols.
|
||||
; Specify port number. Default is 4520.
|
||||
;
|
||||
;bindaddr=0.0.0.0
|
||||
;port=4520
|
||||
;
|
||||
; See https://docs.asterisk.org/Configuration/Channel-Drivers/IP-Quality-of-Service for a description of the tos parameter.
|
||||
;tos=ef
|
||||
;
|
||||
; Our entity identifier. (It 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!) The EID can be overridden by a setting in asterisk.conf
|
||||
; or by setting this option.
|
||||
;
|
||||
;entityid=00:07:E9:3B:76:60
|
||||
;
|
||||
; Peers shall cache our query responses for the specified time
|
||||
; in seconds. Default is 3600.
|
||||
;
|
||||
;cachetime=3600
|
||||
;
|
||||
; This defines the max depth (hops) 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 on' and 'dundi store history off') 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
|
||||
;
|
||||
; Channel technology to use for outgoing calls using SIP (Session Initiation Protocol).
|
||||
; Options are 'SIP' for chan_sip and 'PJSIP' for chan_pjsip. Default is 'PJSIP'.
|
||||
; If specified, all outgoing SIP calls using DUNDi will use the specified channel tech.
|
||||
;
|
||||
;outgoing_sip_tech=pjsip
|
||||
;
|
||||
; Name of endpoint from pjsip.conf to use for outgoing calls from this system,
|
||||
; when using the PJSIP technology to complete a call to a SIP-based destination.
|
||||
; (Required for PJSIP, since PJSIP calls must specify an endpoint explicitly).
|
||||
;
|
||||
;pjsip_outgoing_endpoint=outgoing
|
||||
|
||||
[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 (IAX2, SIP, H323)
|
||||
;
|
||||
; 'dest' is the Dial application's channel technology resource 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 IAX2 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.
|
||||
;
|
||||
;empty_context =>
|
||||
;
|
||||
;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}
|
||||
|
||||
;
|
||||
; Weights for mappings can be set a few different ways:
|
||||
;
|
||||
; 1) It can be set as a static number.
|
||||
;testmap1 => context1,222,IAX2,guest@peer1/${NUMBER}
|
||||
;
|
||||
; 2) It can be an Asterisk global variable.
|
||||
;testmap2 => context2,${DUNDITESTVAR},IAX2,guest@peer2${NUMBER}
|
||||
;
|
||||
; 3) It can be retrieved using a dialplan function. This can be extremely
|
||||
; useful if you want to let an external script decide what the weight
|
||||
; in a response should be.
|
||||
;testmap3 => context3,${SHELL(echo 123)},IAX2,guest@peer3/${NUMBER}
|
||||
;
|
||||
; The built in variables ${SECRET}, ${IPADDR} and ${NUMBER} can also be
|
||||
; passed to the weight. For example, you could pass the ${NUMBER} value
|
||||
; to your SHELL() script and use that to dynamically return a weight.
|
||||
;
|
||||
; Note when using a global variable or dialplan function to set the
|
||||
; weight for a mapping that response caching should be disabled if you
|
||||
; plan for these values to change frequently at all. If the results are
|
||||
; cached then any change in value will not take effect until the cache
|
||||
; has expired.
|
||||
;
|
||||
|
||||
;
|
||||
; The remaining sections represent the peers that we fundamentally trust.
|
||||
; The section name specifies the peer's entityid. You can specify which
|
||||
; DUNDi contexts with which you want the trust to be established.
|
||||
;
|
||||
; inkey - What key they will be authenticating to us with
|
||||
;
|
||||
; outkey - What key we use to authenticate to them
|
||||
;
|
||||
; host - What their host is (DNS name, IP address, or dynamic)
|
||||
;
|
||||
; port - The port where their host is listening (default: 4520)
|
||||
;
|
||||
; ustothem - Explicitly specify the entityid we use with this peer.
|
||||
;
|
||||
; 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 - Excludes 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 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.
|
||||
;
|
||||
; qualify - Enable qualifying the peer to determine reachable status.
|
||||
; Set to yes, no, or number of milliseconds for qualifying
|
||||
; the peer's reachable status.
|
||||
;
|
||||
; register - Enable registering with the peer. This presupposes that the
|
||||
; peer's host option for us is dynamic. (yes/no value)
|
||||
;
|
||||
; 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
|
||||
|
||||
;[*]
|
||||
;
|
||||
22
MySQL_conf_pbx/test1/conf/asterisk/enum.conf
Executable file
22
MySQL_conf_pbx/test1/conf/asterisk/enum.conf
Executable file
@ -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
|
||||
137
MySQL_conf_pbx/test1/conf/asterisk/extconfig.conf
Executable file
137
MySQL_conf_pbx/test1/conf/asterisk/extconfig.conf
Executable file
@ -0,0 +1,137 @@
|
||||
;
|
||||
; Static and realtime external configuration
|
||||
; engine configuration
|
||||
;
|
||||
; See https://docs.asterisk.org/Fundamentals/Asterisk-Configuration/Database-Support-Configuration/Realtime-Database-Configuration/
|
||||
; for basic table formatting information.
|
||||
;
|
||||
;[settings]
|
||||
;
|
||||
; Static configuration files:
|
||||
;
|
||||
; file.conf => driver,database[,table[,priority]]
|
||||
;
|
||||
; 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
|
||||
;extensions.conf => sqlite,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
|
||||
;
|
||||
; Named ACLs specified in realtime also can not be used
|
||||
; from manager.conf unless the storage driver is preloaded.
|
||||
; Attempting to use a realtime stored named ACL before the
|
||||
; driver is loaded will result in an invalid ACL which
|
||||
; rejects all addresses.
|
||||
;
|
||||
; 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,1
|
||||
;example => mysql,asterisk,alttable,2
|
||||
;example2 => ldap,"dc=oxymium,dc=net",example2
|
||||
;
|
||||
; Additionally, priorities are now supported for use as failover methods
|
||||
; for retrieving realtime data. If one connection fails to retrieve any
|
||||
; information, the next sequential priority will be tried next. This
|
||||
; especially works well with ODBC connections, since res_odbc now caches
|
||||
; when connection failures occur and prevents immediately retrying those
|
||||
; connections until after a specified timeout. Note: priorities must
|
||||
; start at 1 and be sequential (i.e. if you have only priorities 1, 2,
|
||||
; and 4, then 4 will be ignored, because there is no 3).
|
||||
;
|
||||
;
|
||||
; Possible driver backends:
|
||||
;
|
||||
; "odbc" is shown in the examples below, but is not the only valid realtime
|
||||
; engine. Here are several of the possible options:
|
||||
; odbc ... res_config_odbc
|
||||
; sqlite3 ... res_config_sqlite3
|
||||
; pgsql ... res_config_pgsql
|
||||
; curl ... res_config_curl
|
||||
; ldap ... res_config_ldap
|
||||
; mysql ... res_config_mysql (available via add-ons in menuselect)
|
||||
;
|
||||
; Note: The res_config_pgsql backend configures the database used in their
|
||||
; respective configuration files and ignore the database name configured in
|
||||
; this file.
|
||||
;
|
||||
;iaxusers => odbc,asterisk
|
||||
;iaxpeers => odbc,asterisk
|
||||
;sippeers => odbc,asterisk
|
||||
;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
|
||||
;ps_endpoints => odbc,asterisk
|
||||
;ps_auths => odbc,asterisk
|
||||
;ps_aors => odbc,asterisk
|
||||
;ps_domain_aliases => odbc,asterisk
|
||||
;ps_endpoint_id_ips => odbc,asterisk
|
||||
;ps_outbound_publishes => odbc,asterisk
|
||||
;ps_inbound_publications = odbc,asterisk
|
||||
;ps_asterisk_publications = odbc,asterisk
|
||||
;stir_tn => odbc,asterisk
|
||||
;voicemail => odbc,asterisk
|
||||
;extensions => odbc,asterisk
|
||||
;meetme => mysql,general
|
||||
;queues => odbc,asterisk
|
||||
;queue_members => odbc,asterisk
|
||||
;queue_rules => odbc,asterisk
|
||||
;acls => odbc,asterisk
|
||||
;musiconhold => mysql,general
|
||||
;musiconhold_entry => mysql,general
|
||||
;queue_log => mysql,general
|
||||
;
|
||||
;
|
||||
; While most dynamic realtime engines are automatically used when defined in
|
||||
; this file, 'extensions', distinctively, is not. To activate dynamic realtime
|
||||
; extensions, you must turn them on in each respective context within
|
||||
; extensions.conf with a switch statement. The syntax is:
|
||||
; switch => Realtime/[[db_context@]tablename]/<opts>
|
||||
; The only option available currently is the 'p' option, which disallows
|
||||
; extension pattern queries to the database. If you have no patterns defined
|
||||
; in a particular context, this will save quite a bit of CPU time. However,
|
||||
; note that using dynamic realtime extensions is not recommended anymore as a
|
||||
; best practice; instead, you should consider writing a static dialplan with
|
||||
; proper data abstraction via a tool like func_odbc.
|
||||
|
||||
;[settings]e
|
||||
;sippeers => odbc,asterisk,sip_buddies
|
||||
;sipusers => odbc,asterisk,sip_buddies
|
||||
|
||||
|
||||
; [settings]
|
||||
; sippeers => odbc,asterisk_db,ps_endpoints
|
||||
; ps_endpoints => odbc,asterisk_db,ps_endpoints
|
||||
; ps_auths => odbc,asterisk_db,ps_auths
|
||||
; ps_aors => odbc,asterisk_db,ps_aors
|
||||
|
||||
;[settings]
|
||||
;ps_aors => odbc,asterisk
|
||||
;ps_auths => odbc,asterisk
|
||||
;ps_endpoints => odbc,asterisk
|
||||
|
||||
[settings]
|
||||
ps_endpoints => odbc,asterisk,ps_endpoints
|
||||
ps_auths => odbc,asterisk,ps_auths
|
||||
ps_aors => odbc,asterisk,ps_aors
|
||||
extensions => odbc,asterisk,extensions_table
|
||||
|
||||
|
||||
|
||||
443
MySQL_conf_pbx/test1/conf/asterisk/extensions.ael
Executable file
443
MySQL_conf_pbx/test1/conf/asterisk/extensions.ael
Executable file
@ -0,0 +1,443 @@
|
||||
//
|
||||
// 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)}
|
||||
//
|
||||
|
||||
// NOTE! NOTE! NOTE!
|
||||
// Asterisk by default will load both extensions.conf and extensions.ael files.
|
||||
// Upon loading these files the dialplans generated from both with be merged,
|
||||
// so you must make sure that you don't have any overlapping contexts or global
|
||||
// variables. If you do, then unexpected behavior may result when the data is
|
||||
// merged.
|
||||
// NOTE! NOTE! NOTE!
|
||||
|
||||
globals {
|
||||
CONSOLE-AEL="Console/dsp"; // Console interface for demo
|
||||
//CONSOLE-AEL=Zap/1;
|
||||
//CONSOLE-AEL=Phone/phone0;
|
||||
OUTBOUND-TRUNK="Zap/g2"; // Trunk interface
|
||||
//
|
||||
// Note the 'g2' in the OUTBOUND-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 DAHDI channel
|
||||
// (aka. ascending sequential hunt group).
|
||||
// G: select the highest-numbered non-busy DAHDI 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).
|
||||
//
|
||||
OUTBOUND-TRUNKMSD=1; // MSD digits to strip (usually 1 or 0)
|
||||
//OUTBOUND-TRUNK2=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(DAHDI/G2/${EXTEN:7}); // Expose all of 256-428
|
||||
//_1256325XXXX => Dial(DAHDI/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;
|
||||
};
|
||||
|
||||
//
|
||||
// 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 severely 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(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
};
|
||||
};
|
||||
|
||||
context ael-trunkld {
|
||||
//
|
||||
// Long distance context accessed through trunk
|
||||
//
|
||||
includes {
|
||||
ael-dundi-e164-lookup;
|
||||
};
|
||||
_91NXXNXXXXXX => {
|
||||
&ael-dundi-e164(${EXTEN:1});
|
||||
Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
};
|
||||
};
|
||||
|
||||
context ael-trunklocal {
|
||||
//
|
||||
// Local seven-digit dialing accessed through trunk interface
|
||||
//
|
||||
_9NXXXXXX => {
|
||||
Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
};
|
||||
};
|
||||
|
||||
context ael-trunktollfree {
|
||||
//
|
||||
// Long distance context accessed through trunk interface
|
||||
//
|
||||
|
||||
_91800NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
_91888NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
_91877NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-TRUNKMSD}});
|
||||
_91866NXXXXXX => Dial(${OUTBOUND-TRUNK}/${EXTEN:${OUTBOUND-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 and toll-free calls only
|
||||
//
|
||||
ignorepat => 9;
|
||||
includes {
|
||||
ael-default;
|
||||
ael-trunklocal;
|
||||
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 DAHDI/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.
|
||||
//
|
||||
}
|
||||
778
MySQL_conf_pbx/test1/conf/asterisk/extensions.conf
Executable file
778
MySQL_conf_pbx/test1/conf/asterisk/extensions.conf
Executable file
@ -0,0 +1,778 @@
|
||||
|
||||
[general]
|
||||
switch => Realtime
|
||||
;
|
||||
; 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 extenpatternmatchnew is set (true, yes, etc), then a new algorithm that uses
|
||||
; a Trie to find the best matching pattern is used. In dialplans
|
||||
; with more than about 20-40 extensions in a single context, this
|
||||
; new algorithm can provide a noticeable speedup.
|
||||
; With 50 extensions, the speedup is 1.32x
|
||||
; with 88 extensions, the speedup is 2.23x
|
||||
; with 138 extensions, the speedup is 3.44x
|
||||
; with 238 extensions, the speedup is 5.8x
|
||||
; with 438 extensions, the speedup is 10.4x
|
||||
; With 1000 extensions, the speedup is ~25x
|
||||
; with 10,000 extensions, the speedup is 374x
|
||||
; Basically, the new algorithm provides a flat response
|
||||
; time, no matter the number of extensions.
|
||||
;
|
||||
; By default, the old pattern matcher is used.
|
||||
;
|
||||
; ****This is a new feature! *********************
|
||||
; The new pattern matcher is for the brave, the bold, and
|
||||
; the desperate. If you have large dialplans (more than about 50 extensions
|
||||
; in a context), and/or high call volume, you might consider setting
|
||||
; this value to "yes" !!
|
||||
; Please, if you try this out, and are forced to return to the
|
||||
; old pattern matcher, please report your reasons in a bug report
|
||||
; on https://github.com/asterisk/asterisk/issues. We have made good
|
||||
; progress in providing something compatible with the old matcher; help us
|
||||
; finish the job!
|
||||
;
|
||||
; This value can be switched at runtime using the cli command "dialplan set extenpatternmatchnew true"
|
||||
; or "dialplan set extenpatternmatchnew false", so you can experiment to your hearts content.
|
||||
;
|
||||
;extenpatternmatchnew=no
|
||||
;
|
||||
; If clearglobalvars is set, global variables will be cleared
|
||||
; and reparsed on a dialplan reload, or Asterisk reload.
|
||||
;
|
||||
; If clearglobalvars is not set, then global variables will persist
|
||||
; 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
|
||||
;
|
||||
; 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"
|
||||
;#include <filename.conf>
|
||||
;#include filename.conf
|
||||
;
|
||||
; You can execute a program or script that produces config files, and they
|
||||
; will be inserted where you insert the #exec command. The #exec command
|
||||
; works on all asterisk configuration files. However, you will need to
|
||||
; activate them within asterisk.conf with the "execincludes" option. They
|
||||
; are otherwise considered a security risk.
|
||||
;#exec /opt/bin/build-extra-contexts.sh
|
||||
;#exec /opt/bin/build-extra-contexts.sh --foo="bar"
|
||||
;#exec </opt/bin/build-extra-contexts.sh --foo="bar">
|
||||
;#exec "/opt/bin/build-extra-contexts.sh --foo=\"bar\""
|
||||
;
|
||||
|
||||
; 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=DAHDI/1
|
||||
;CONSOLE=Phone/phone0
|
||||
TRUNK=DAHDI/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 DAHDI channel
|
||||
; (aka. ascending sequential hunt group).
|
||||
; G: select the highest-numbered non-busy DAHDI 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
|
||||
|
||||
;FREENUMDOMAIN=mydomain.com ; domain to send on outbound
|
||||
; freenum calls (uses outbound-freenum
|
||||
; context)
|
||||
|
||||
;
|
||||
; WARNING WARNING WARNING WARNING
|
||||
; If you load any other extension configuration engine, such as pbx_ael.so,
|
||||
; your global variables may be overridden by that file. Please take care to
|
||||
; use only one location to set global variables, and you will likely save
|
||||
; yourself a ton of grief.
|
||||
; WARNING WARNING WARNING WARNING
|
||||
;
|
||||
; 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 parentheses after their name which can be used in goto situations.
|
||||
;
|
||||
; Contexts contain several lines, one for each step of each extension. 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.
|
||||
; Switches may also be included within a context. The order of matching within
|
||||
; a context is always exact extensions, pattern match extensions, includes, and
|
||||
; switches. Includes are always processed depth-first. So for example, if you
|
||||
; would like a switch "A" to match before context "B", simply put switch "A" in
|
||||
; an included context "C", where "C" is included in your original context
|
||||
; before "B".
|
||||
;
|
||||
;[context]
|
||||
;
|
||||
;autohints = yes
|
||||
; If enabled for a context, a device state hint will be automatically created in
|
||||
; the context with the name of the device and updated with device state changes.
|
||||
;
|
||||
;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...)
|
||||
;
|
||||
; Timing list for includes is
|
||||
;
|
||||
; <time range>,<days of week>,<days of month>,<months>[,<timezone>]
|
||||
;
|
||||
; Note that ranges may be specified to wrap around the ends. Also, minutes are
|
||||
; fine-grained only down to the closest even minute.
|
||||
;
|
||||
;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. Please note that ignorepat
|
||||
; only works with channels which receive dialtone from the PBX, such as DAHDI,
|
||||
; Phone, and VPB. Other channels, such as IAX2, PJSIP, SIP and MGCP, which generate
|
||||
; generate their own dialtone and converse with the PBX only after a number is
|
||||
; complete, are generally unaffected by ignorepat (unless DISA or another method
|
||||
; is used to generate a dialtone after answering the channel).
|
||||
;
|
||||
|
||||
;
|
||||
; Sample entries for extensions.conf
|
||||
;
|
||||
;
|
||||
[dundi-e164-canonical]
|
||||
;include => stdexten
|
||||
;
|
||||
; List canonical entries here
|
||||
;
|
||||
;exten => 12564286000,1,Gosub(6000,stdexten(IAX2/foo))
|
||||
;exten => 12564286000,n,Goto(default,s,1) ; exited Voicemail
|
||||
;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})
|
||||
;exten => _125642861XX,1,Dial(IAX2/user@example.com/${EXTEN:7})
|
||||
;exten => _125642862XX,1,Dial(IAX2/user:secret@example.com/${EXTEN:7})
|
||||
;exten => _125642863XX,1,Dial(IAX2/user:secret:[outkey]@example.com/${EXTEN:7})
|
||||
|
||||
[dundi-e164-customers]
|
||||
;
|
||||
; If you are an ITSP or Reseller, list your customers here.
|
||||
;
|
||||
;exten => _12564286000,1,Dial(PJSIP/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(DAHDI/G2/${EXTEN:7}) ; Expose all of 256-428
|
||||
;exten => _1256325XXXX,1,Dial(DAHDI/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 subroutine instead of using
|
||||
; the Local channel driver.
|
||||
;
|
||||
[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.
|
||||
;
|
||||
; Note: In old versions of Asterisk the PBX in some cases defaulted to
|
||||
; extension "s" when a given extension was wrong (like in AMI originate).
|
||||
; This is no longer the case.
|
||||
;
|
||||
; For wildcard matches, see above - all pattern matches start with
|
||||
; an underscore.
|
||||
exten => s,1,Goto(${ARG1},1)
|
||||
include => dundi-e164-lookup
|
||||
|
||||
;
|
||||
; Here is how to make a call to another Asterisk server using the IAX2 protocol
|
||||
;
|
||||
[iax2-trunk]
|
||||
exten => _555XXXX,1,Dial(IAX2/username:secret@example.com/${EXTEN}@some-dialplan-context)
|
||||
|
||||
;
|
||||
; 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 severely delayed.
|
||||
;
|
||||
[iaxprovider]
|
||||
;switch => IAX2/user:[key]@myserver/mycontext
|
||||
|
||||
[trunkint]
|
||||
;
|
||||
; International long distance through trunk
|
||||
;
|
||||
exten => _9011.,1,Gosub(dundi-e164,s,1(${EXTEN:4}))
|
||||
; same => n,Hangup()
|
||||
exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${FILTER(0-9,${EXTEN:${GLOBAL(TRUNKMSD)}})})
|
||||
|
||||
[trunkld]
|
||||
;
|
||||
; Long distance context accessed through trunk
|
||||
;
|
||||
exten => _91NXXNXXXXXX,1,Gosub(dundi-e164,s,1(${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 and toll-free calls only
|
||||
;
|
||||
ignorepat => 9
|
||||
include => default
|
||||
include => trunklocal
|
||||
include => iax2-trunk
|
||||
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}
|
||||
|
||||
; The following two contexts are a template to enable the ability to dial
|
||||
; ISN numbers. For more information about what an ISN number is, please see
|
||||
; http://www.freenum.org.
|
||||
;
|
||||
; This is the dialing hook. use:
|
||||
; include => outbound-freenum
|
||||
|
||||
[outbound-freenum]
|
||||
; We'll add more digits as needed. The purpose is to dial things
|
||||
; like extension numbers at domains (ITAD number) so we're matching
|
||||
; on lengths of 1 through 6 prior to the separator (the asterisk [*])
|
||||
;
|
||||
exten => _X*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
exten => _XX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
exten => _XXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
exten => _XXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
exten => _XXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
|
||||
|
||||
[outbound-freenum2]
|
||||
; This is the handler which performs the dialing logic. It is called
|
||||
; from the [outbound-freenum] context
|
||||
;
|
||||
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
|
||||
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)}) ; make sure the suffix is all digits as well
|
||||
same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
|
||||
; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
|
||||
same => n,Set(TIMEOUT(absolute)=10800)
|
||||
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)}) ; perform our lookup with freenum.org
|
||||
same => n,GotoIf($["${isnresult}" != ""]?from)
|
||||
same => n,Set(DIALSTATUS=CONGESTION)
|
||||
same => n,Goto(fn-CONGESTION,1)
|
||||
same => n(from),Set(__SIPFROMUSER=${CALLERID(num)})
|
||||
same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial) ; check if we set the FREENUMDOMAIN global variable in [global]
|
||||
same => n,Set(__SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)}) ; if we did set it, then we'll use it for our outbound dialing domain
|
||||
same => n(dial),Dial(SIP/${isnresult},40)
|
||||
same => n,Goto(fn-${DIALSTATUS},1)
|
||||
|
||||
exten => fn-BUSY,1,Busy()
|
||||
|
||||
exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
|
||||
same => n,Congestion()
|
||||
|
||||
[trunkdial]
|
||||
;
|
||||
; Standard trunk dial subroutine (hangs up on a dialstatus that should
|
||||
; terminate call)
|
||||
; ${ARG1} - What to dial
|
||||
;
|
||||
exten => s,1,StackPop()
|
||||
same => n,Dial(${ARG1})
|
||||
exten => s,n,Goto(s-${DIALSTATUS},1)
|
||||
exten => s-NOANSWER,1,Hangup()
|
||||
exten => s-BUSY,1,PlayTones(busy)
|
||||
same => n,Wait(60)
|
||||
same => n,Hangup()
|
||||
exten => s-CHANUNAVAIL,1,PlayTones(congestion)
|
||||
same => n,Wait(60)
|
||||
same => n,Hangup()
|
||||
exten => s-CONGESTION,1,PlayTones(congestion)
|
||||
same => n,Wait(60)
|
||||
same => n,Hangup()
|
||||
exten => _s-.,1,NoOp(${DIALSTATUS})
|
||||
same => n,Hangup()
|
||||
|
||||
[stdexten]
|
||||
;
|
||||
; Standard extension subroutine:
|
||||
; ${EXTEN} - Extension
|
||||
; ${ARG1} - Device(s) to ring
|
||||
; ${ARG2} - Optional context in Voicemail
|
||||
;
|
||||
; Note that the current version will drop through to the next priority in the
|
||||
; case of their pressing '#'. This gives more flexibility in what do to next:
|
||||
; you can prompt for a new extension, or drop the call, or send them to a
|
||||
; general delivery mailbox, or...
|
||||
;
|
||||
; The use of the LOCAL() function is purely for convenience. Any variable
|
||||
; initially declared as LOCAL() will disappear when the innermost Gosub context
|
||||
; in which it was declared returns. Note also that you can declare a LOCAL()
|
||||
; variable on top of an existing variable, and its value will revert to its
|
||||
; previous value (before being declared as LOCAL()) upon Return.
|
||||
;
|
||||
exten => _X.,50000(stdexten),NoOp(Start stdexten)
|
||||
same => n,Set(LOCAL(ext)=${EXTEN})
|
||||
same => n,Set(LOCAL(dev)=${ARG1})
|
||||
same => n,Set(LOCAL(cntx)=${ARG2})
|
||||
same => n,Set(LOCAL(mbx)=${ext}${IF($[!${ISNULL(${cntx})}]?@${cntx})})
|
||||
same => n,Dial(${dev},20) ; Ring the interface, 20 seconds maximum
|
||||
same => n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
|
||||
|
||||
exten => stdexten-NOANSWER,1,VoiceMail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
|
||||
same => n,Return() ; If they press #, return to start
|
||||
|
||||
exten => stdexten-BUSY,1,VoiceMail(${mbx},b) ; If busy, send to voicemail w/ busy announce
|
||||
same => n,Return() ; If they press #, return to start
|
||||
|
||||
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
|
||||
|
||||
exten => a,1,VoiceMailMain(${mbx}) ; If they press *, send the user into VoicemailMain
|
||||
exten => a,n,Return()
|
||||
|
||||
[stdPrivacyexten]
|
||||
;
|
||||
; Standard extension subroutine:
|
||||
; ${ARG1} - Extension
|
||||
; ${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)`
|
||||
; ${ARG5} - Context in voicemail (if empty, then "default")
|
||||
;
|
||||
; See above note in stdexten about priority handling on exit.
|
||||
;
|
||||
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
|
||||
same => n,Set(LOCAL(ext)=${ARG1})
|
||||
same => n,Set(LOCAL(dev)=${ARG2})
|
||||
same => n,Set(LOCAL(dontcntx)=${ARG3})
|
||||
same => n,Set(LOCAL(tortcntx)=${ARG4})
|
||||
same => n,Set(LOCAL(cntx)=${ARG5})
|
||||
|
||||
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
|
||||
same => n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
|
||||
; option (or use P for databased call _X.screening)
|
||||
same => n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
|
||||
|
||||
exten => stdexten-NOANSWER,1,VoiceMail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
|
||||
same => n,NoOp(Finish stdPrivacyexten NOANSWER)
|
||||
same => n,Return() ; If they press #, return to start
|
||||
|
||||
exten => stdexten-BUSY,1,VoiceMail(${mbx},b) ; If busy, send to voicemail w/ busy announce
|
||||
same => n,NoOp(Finish stdPrivacyexten BUSY)
|
||||
same => n,Return() ; If they press #, return to start
|
||||
|
||||
exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
|
||||
|
||||
exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1) ; Callee chose to send this call to a telemarketer torture script.
|
||||
|
||||
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
|
||||
|
||||
exten => a,1,VoiceMailMain(${mbx}) ; If they press *, send the user into VoicemailMain
|
||||
same => n,Return()
|
||||
|
||||
[sub-page]
|
||||
;
|
||||
; Paging subroutine:
|
||||
;
|
||||
; 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},s) ; s is for ANY call
|
||||
same => n,GotoIf($["${AVAILSTATUS}" = "1"]?autoanswer:fail)
|
||||
same => n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
|
||||
same => n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
|
||||
same => n,NoOp() ; Add others here and Post on the Docs!!!!
|
||||
same => n,Dial(${ARG1})
|
||||
same => n(fail),Hangup()
|
||||
|
||||
[demo]
|
||||
include => stdexten
|
||||
;
|
||||
; We start with what to do when a call first comes in.
|
||||
;
|
||||
exten => s,1,Wait(1) ; Wait a second, just for fun
|
||||
same => n,Answer() ; Answer the line
|
||||
same => n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
|
||||
same => n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
|
||||
same => n(restart),BackGround(demo-congrats) ; Play a congratulatory message
|
||||
same => n(instruct),BackGround(demo-instruct) ; Play some instructions
|
||||
same => 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(CHANNEL(language)=fr) ; Set language to french
|
||||
same => 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)
|
||||
same => n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
|
||||
same => n,Goto(default,s,1) ; exited Voicemail
|
||||
|
||||
exten => 1235,1,VoiceMail(1234,u) ; Right to voicemail
|
||||
|
||||
exten => 1236,1,Dial(Console/dsp) ; Ring forever
|
||||
same => n,VoiceMail(1234,b) ; Unless busy
|
||||
|
||||
;
|
||||
; # for when they're done with the demo
|
||||
;
|
||||
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
|
||||
same => 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, 600, for evaluating echo latency.
|
||||
;
|
||||
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
|
||||
same => n,Echo() ; Do the echo test
|
||||
same => n,Playback(demo-echodone) ; Let them know it's over
|
||||
same => n,Goto(s,6) ; Start over
|
||||
|
||||
;
|
||||
; You can use the page subroutine to intercom a individual user
|
||||
exten => 76245,1,Gosub(page,s,1(SIP/Grandstream1))
|
||||
; or if your peernames are the same as extensions
|
||||
exten => _7XXX,1,Gosub(page,s,1(SIP/${EXTEN}))
|
||||
;
|
||||
;
|
||||
; System Wide Page at extension 7999
|
||||
;
|
||||
exten => 7999,1,Set(TIMEOUT(absolute)=60)
|
||||
same => n,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
|
||||
|
||||
; Give voicemail at extension 8500
|
||||
;
|
||||
exten => 8500,1,VoiceMailMain()
|
||||
same => n,Goto(s,6)
|
||||
;
|
||||
; Here's what a phone entry would look like (IXJ for example)
|
||||
;
|
||||
;exten => 1265,1,Dial(Phone/phone0,15)
|
||||
; same => n,Goto(s,5)
|
||||
|
||||
;
|
||||
; The page context calls up the sub-page subroutine 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,Gosub(sub-page,s,1(SIP/${EXTEN}))
|
||||
same => n,Hangup()
|
||||
|
||||
;[mainmenu]
|
||||
;
|
||||
; Example "main menu" context with submenu
|
||||
;
|
||||
;exten => s,1,Answer
|
||||
; same => n,Background(thanks) ; "Thanks for calling press 1 for sales, 2 for support, ..."
|
||||
; same => 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
|
||||
; same => n,Wait,2
|
||||
; same => n,Background(submenuopts) ; "Thanks for calling the sales department. Press 1 for steve, 2 for..."
|
||||
; same => n,WaitExten
|
||||
;exten => 1,1,Goto(default,steve,1)
|
||||
;exten => 2,1,Goto(default,mark,2)
|
||||
|
||||
[public]
|
||||
;
|
||||
; ATTENTION: If your Asterisk is connected to the internet and you do
|
||||
; not have allowguest=no in sip.conf, everybody out there may use your
|
||||
; public context without authentication. In that case you want to
|
||||
; double check which services you offer to the world.
|
||||
;
|
||||
include => demo
|
||||
|
||||
;[default]
|
||||
;
|
||||
; By default we include the demo. In a production system, you
|
||||
; probably don't want to have the demo there.
|
||||
;
|
||||
;include => demo
|
||||
|
||||
|
||||
|
||||
[time]
|
||||
exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
|
||||
same => n,Wait(0.25)
|
||||
same => n,Answer()
|
||||
; the amount of delay is set for English; you may need to adjust this time
|
||||
; for other languages if there's no pause before the synchronizing beep.
|
||||
same => n,Set(FUTURETIME=$[${EPOCH} + 12])
|
||||
same => n,SayUnixTime(${FUTURETIME},Zulu,HNS)
|
||||
same => n,SayPhonetic(z)
|
||||
; use the timezone associated with the extension (sip only), or system-wide
|
||||
; default if one hasn't been set.
|
||||
same => n,SayUnixTime(${FUTURETIME},${timezone},HNS)
|
||||
same => n,Playback(spy-local)
|
||||
same => n,WaitUntil(${FUTURETIME})
|
||||
same => n,Playback(beep)
|
||||
same => n,Return()
|
||||
|
||||
;
|
||||
; ANI context: use in the same way as "time" above
|
||||
;
|
||||
|
||||
[ani]
|
||||
exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
|
||||
same => n,Wait(0.25)
|
||||
same => n,Answer()
|
||||
same => n,Playback(vm-from)
|
||||
same => n,SayDigits(${CALLERID(ani)})
|
||||
same => n,Wait(1.25)
|
||||
same => n,SayDigits(${CALLERID(ani)}) ; playback again in case of missed digit
|
||||
same => n,Return()
|
||||
|
||||
; 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.
|
||||
|
||||
; Examples using PJSIPNotify application.
|
||||
;[generate-notify]
|
||||
;
|
||||
; Send a NOTIFY with the following headers inside the SIP dialog for the current channel:
|
||||
;
|
||||
; Event: Test
|
||||
; X-Data: Fun
|
||||
;
|
||||
;exten => 6880,1,noOp()
|
||||
; same => n,Answer()
|
||||
; same => n,PJSIPNotify(,&Event=Test&X-Data=Fun)
|
||||
; same => n,Wait(1)
|
||||
; same => n,Hangup()
|
||||
;
|
||||
; Send a NOTIFY with the following headers to bob's custom uri. This requries a
|
||||
; default outbound endpoint to be configured in pjsip.conf.
|
||||
;
|
||||
; Event: Test
|
||||
; X-Data: Over
|
||||
;
|
||||
;exten => 6881,1,noOp()
|
||||
; same => n,Answer()
|
||||
; same => n,PJSIPNotify(<sip:bob@127.0.0.1:5260>,&Event=Test&X-Data=Over)
|
||||
; same => n,Wait(1)
|
||||
; same => n,Hangup()
|
||||
;
|
||||
; Send a NOTIFY with the the custom headers defined in pjsip_notify.conf under
|
||||
; 'custom-notify-1' inside the SIP dialog for the current channel.
|
||||
;
|
||||
;exten => 6882,1,noOp()
|
||||
; same => n,Answer()
|
||||
; same => n,PJSIPNotify(,custom-notify-1)
|
||||
; same => n,Wait(1)
|
||||
; same => n,Hangup()
|
||||
; Send a NOTIFY with the following headers and body to bob's custom uri. This
|
||||
; requries a default outbound endpoint to be configured in pjsip.conf.
|
||||
;
|
||||
; Event: Custom
|
||||
;
|
||||
; Content-Type: application/voicemail
|
||||
; Content-Length: 14
|
||||
;
|
||||
; check-messages
|
||||
;
|
||||
;exten => 6882,1,noOp()
|
||||
; same => n,Answer()
|
||||
; same => n,PJSIPNotify(,&Event=Custom&Content-type=application/voicemail&Content=check-messages&Content=)
|
||||
; same => n,Wait(1)
|
||||
; same => n,Hangup()
|
||||
|
||||
|
||||
;[default]
|
||||
;exten => _1XX,1,Dial(PJSIP/${EXTEN},20)
|
||||
;exten => _1XX,n,Hangup()
|
||||
|
||||
;added a second time
|
||||
;[settings]
|
||||
;ps_endpoints => odbc,asterisk,ps_endpoints
|
||||
;ps_auths => odbc,asterisk,ps_auths
|
||||
;ps_aors => odbc,asterisk,ps_aors
|
||||
;extensions => odbc,asterisk,extensions
|
||||
;extensions => odbc,asterisk,extensions_table
|
||||
|
||||
|
||||
[default]
|
||||
switch => Realtime/default@extensions
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
237
MySQL_conf_pbx/test1/conf/asterisk/extensions.lua
Executable file
237
MySQL_conf_pbx/test1/conf/asterisk/extensions.lua
Executable file
@ -0,0 +1,237 @@
|
||||
|
||||
|
||||
CONSOLE = "Console/dsp" -- Console interface for demo
|
||||
--CONSOLE = "DAHDI/1"
|
||||
--CONSOLE = "Phone/phone0"
|
||||
|
||||
TRUNK = "DAHDI/G2"
|
||||
TRUNKMSD = 1
|
||||
-- TRUNK = "IAX2/user:pass@provider"
|
||||
|
||||
|
||||
--
|
||||
-- Extensions are expected to be defined in a global table named 'extensions'.
|
||||
-- The 'extensions' table should have a group of tables in it, each
|
||||
-- representing a context. Extensions are defined in each context. See below
|
||||
-- for examples.
|
||||
--
|
||||
-- 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.
|
||||
--
|
||||
-- If your extension has special characters in it such as '.' and '!' you must
|
||||
-- explicitly make it a string in the tabale definition:
|
||||
--
|
||||
-- ["_special."] = function;
|
||||
-- ["_special!"] = function;
|
||||
--
|
||||
-- There are no priorities. All extensions to asterisk appear to have a single
|
||||
-- priority as if they consist of a single priority.
|
||||
--
|
||||
-- Each context is defined as a table in the extensions table. The
|
||||
-- context names should be strings.
|
||||
--
|
||||
-- One context may be included in another context using the 'includes'
|
||||
-- extension. This extension should be set to a table containing a list
|
||||
-- of context names. Do not put references to tables in the includes
|
||||
-- table.
|
||||
--
|
||||
-- include = {"a", "b", "c"};
|
||||
--
|
||||
-- Channel variables can be accessed through the global 'channel' table.
|
||||
--
|
||||
-- v = channel.var_name
|
||||
-- v = channel["var_name"]
|
||||
-- v.value
|
||||
-- v:get()
|
||||
--
|
||||
-- channel.var_name = "value"
|
||||
-- channel["var_name"] = "value"
|
||||
-- v:set("value")
|
||||
--
|
||||
-- channel.func_name(1,2,3):set("value")
|
||||
-- value = channel.func_name(1,2,3):get()
|
||||
--
|
||||
-- channel["func_name(1,2,3)"]:set("value")
|
||||
-- channel["func_name(1,2,3)"] = "value"
|
||||
-- value = channel["func_name(1,2,3)"]:get()
|
||||
--
|
||||
-- Note the use of the ':' operator to access the get() and set()
|
||||
-- methods.
|
||||
--
|
||||
-- Also notice the absence of the following constructs from the examples above:
|
||||
-- channel.func_name(1,2,3) = "value" -- this will NOT work
|
||||
-- value = channel.func_name(1,2,3) -- this will NOT work as expected
|
||||
--
|
||||
--
|
||||
-- Dialplan applications can be accessed through the global 'app' table.
|
||||
--
|
||||
-- app.Dial("DAHDI/1")
|
||||
-- app.dial("DAHDI/1")
|
||||
-- app["dial"]("DAHDI/1")
|
||||
--
|
||||
-- More examples can be found below.
|
||||
--
|
||||
-- An autoservice is automatically run while lua code is executing. The
|
||||
-- autoservice can be stopped and restarted using the autoservice_stop() and
|
||||
-- autoservice_start() functions. The autservice should be running before
|
||||
-- starting long running operations. The autoservice will automatically be
|
||||
-- stopped before executing applications and dialplan functions and will be
|
||||
-- restarted afterwards. The autoservice_status() function can be used to
|
||||
-- check the current status of the autoservice and will return true if an
|
||||
-- autoservice is currently running.
|
||||
--
|
||||
-- Note about naming conflicts:
|
||||
-- Lua allows you to refer to table entries using the '.' notation,
|
||||
-- I.E. app.goto(something), only if the entry doesn't conflict with an Lua
|
||||
-- reserved word. In the 'goto' example, with Lua 5.1 or earlier, 'goto' is
|
||||
-- not a reserved word so you'd be calling the Asterisk dialplan application
|
||||
-- 'goto'. Lua 5.2 however, introduced the 'goto' control statement which
|
||||
-- makes 'goto' a reserved word. This causes the interpreter to fail parsing
|
||||
-- the file and pbx_lua.so will fail to load. The same applies to any use of
|
||||
-- Lua tables including extensions, channels and any tables you create.
|
||||
--
|
||||
-- There are two ways around this: Since Lua is case-sensitive, you can use
|
||||
-- capitalized names, I.E. app.Goto(something) to refer to the Asterisk apps,
|
||||
-- functions, etc. Or you can use the full syntax, I.E. app["goto"](something).
|
||||
-- Both syntaxes are backwards compatible with earlier Lua versions. To make
|
||||
-- your Lua dialplans easier to maintain and to reduce the chance of future
|
||||
-- conflicts you may want to use the app["goto"](something) syntax for all
|
||||
-- table accesses.
|
||||
--
|
||||
|
||||
function outgoing_local(c, e)
|
||||
app.dial("DAHDI/1/" .. e, "", "")
|
||||
end
|
||||
|
||||
function demo_instruct()
|
||||
app.background("demo-instruct")
|
||||
app.waitexten()
|
||||
end
|
||||
|
||||
function demo_congrats()
|
||||
app.background("demo-congrats")
|
||||
demo_instruct()
|
||||
end
|
||||
|
||||
-- Answer the chanel and play the demo sound files
|
||||
function demo_start(context, exten)
|
||||
app.wait(1)
|
||||
app.answer()
|
||||
|
||||
channel.TIMEOUT("digit"):set(5)
|
||||
channel.TIMEOUT("response"):set(10)
|
||||
-- app.set("TIMEOUT(digit)=5")
|
||||
-- app.set("TIMEOUT(response)=10")
|
||||
|
||||
demo_congrats(context, exten)
|
||||
end
|
||||
|
||||
function demo_hangup()
|
||||
app.playback("demo-thanks")
|
||||
app.hangup()
|
||||
end
|
||||
|
||||
extensions = {
|
||||
demo = {
|
||||
s = demo_start;
|
||||
|
||||
["2"] = function()
|
||||
app.background("demo-moreinfo")
|
||||
demo_instruct()
|
||||
end;
|
||||
["3"] = function ()
|
||||
channel.LANGUAGE():set("fr") -- set the language to french
|
||||
demo_congrats()
|
||||
end;
|
||||
|
||||
["1000"] = function()
|
||||
-- See the naming conflict note above.
|
||||
app['goto']("default", "s", 1)
|
||||
end;
|
||||
|
||||
["1234"] = function()
|
||||
app.playback("transfer", "skip")
|
||||
-- do a dial here
|
||||
end;
|
||||
|
||||
["1235"] = function()
|
||||
app.voicemail("1234", "u")
|
||||
end;
|
||||
|
||||
["1236"] = function()
|
||||
app.dial("Console/dsp")
|
||||
app.voicemail(1234, "b")
|
||||
end;
|
||||
|
||||
["#"] = demo_hangup;
|
||||
t = demo_hangup;
|
||||
i = function()
|
||||
app.playback("invalid")
|
||||
demo_instruct()
|
||||
end;
|
||||
|
||||
["500"] = function()
|
||||
app.playback("demo-abouttotry")
|
||||
app.dial("IAX2/guest@misery.digium.com/s@default")
|
||||
app.playback("demo-nogo")
|
||||
demo_instruct()
|
||||
end;
|
||||
|
||||
["600"] = function()
|
||||
app.playback("demo-echotest")
|
||||
app.echo()
|
||||
app.playback("demo-echodone")
|
||||
demo_instruct()
|
||||
end;
|
||||
|
||||
["8500"] = function()
|
||||
app.voicemailmain()
|
||||
demo_instruct()
|
||||
end;
|
||||
|
||||
};
|
||||
|
||||
default = {
|
||||
-- by default, do the demo
|
||||
include = {"demo"};
|
||||
};
|
||||
|
||||
public = {
|
||||
-- ATTENTION: If your Asterisk is connected to the internet and you do
|
||||
-- not have allowguest=no in sip.conf, everybody out there may use your
|
||||
-- public context without authentication. In that case you want to
|
||||
-- double check which services you offer to the world.
|
||||
--
|
||||
include = {"demo"};
|
||||
};
|
||||
|
||||
["local"] = {
|
||||
["_NXXXXXX"] = outgoing_local;
|
||||
};
|
||||
}
|
||||
|
||||
hints = {
|
||||
demo = {
|
||||
[1000] = "SIP/1000";
|
||||
[1001] = "SIP/1001";
|
||||
};
|
||||
|
||||
default = {
|
||||
["1234"] = "SIP/1234";
|
||||
};
|
||||
}
|
||||
156
MySQL_conf_pbx/test1/conf/asterisk/extensions_minivm.conf
Executable file
156
MySQL_conf_pbx/test1/conf/asterisk/extensions_minivm.conf
Executable file
@ -0,0 +1,156 @@
|
||||
; MINI-VOICEMAIL dialplan example
|
||||
; ---------------------------------------------------------------------------------------
|
||||
;
|
||||
; This is an example on how to use the Mini-Voicemail system to build
|
||||
; voicemail systems.
|
||||
;
|
||||
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
|
||||
; A macro to test the MINIVMACCOUNT dialplan function
|
||||
; Currently, accountcode and pincode is not used in the application
|
||||
; They where added to be used in dialplan scripting
|
||||
;
|
||||
;
|
||||
[macro-minivmfunctest]
|
||||
exten => s,1,set(account=${ARGV1})
|
||||
exten => minivm,n,verbose(1,-------------------- Minivm Function test - Accoutn ${account} -------------)
|
||||
exten => s,n,verbose(1,---- Has account: ${MINIVMACCOUNT(${account}:hasaccount)})
|
||||
exten => s,n,verbose(1,---- Fullname: ${MINIVMACCOUNT(${account}:fullname)})
|
||||
exten => s,n,verbose(1,---- Email: ${MINIVMACCOUNT(${account}:email)})
|
||||
exten => s,n,verbose(1,---- Pager: ${MINIVMACCOUNT(${account}:pager)})
|
||||
exten => s,n,verbose(1,---- E-mail template: ${MINIVMACCOUNT(${account}:etemplate)})
|
||||
exten => s,n,verbose(1,---- Pager template: ${MINIVMACCOUNT(${account}:ptemplate)})
|
||||
exten => s,n,verbose(1,---- Account code: ${MINIVMACCOUNT(${account}:accountcode)})
|
||||
exten => s,n,verbose(1,---- Path: ${MINIVMACCOUNT(${account}:path)})
|
||||
exten => s,n,verbose(1,---- Pincode: ${MINIVMACCOUNT(${account}:pincode)})
|
||||
exten => s,n,verbose(1,---- Time zone: ${MINIVMACCOUNT(${account}:timezone)})
|
||||
exten => s,n,verbose(1,---- Language: ${MINIVMACCOUNT(${account}:language)})
|
||||
; This requires setvar=customerclass=gold in the account configuration
|
||||
exten => s,n,verbose(1,---- Var:customerclass: ${MINIVMACCOUNT(${account}:customerclass)})
|
||||
|
||||
[minivm-scenario1]
|
||||
; minivmtest tests the dialplan function MINIVMACCOUNT
|
||||
; Check the output in the console with verbose set
|
||||
exten => minivmtest,1,answer
|
||||
exten => minivmtest,n,wait(0.5)
|
||||
exten => minivmtest,n,set(ACCOUNT=do-not-spam-me@example.com)
|
||||
exten => minivmtest,n,macro(minivmfunctest, ${ACCOUNT})
|
||||
exten => minivmtest,n,playback(beep)
|
||||
exten => minivmtest,n,hangup
|
||||
|
||||
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
|
||||
; "minivm" tests a full scenario
|
||||
; Remember that users may hangup
|
||||
; This works both for users with accounts in minivm.conf and by just giving an e-mail address
|
||||
; without configuring an account
|
||||
exten => minivm,1,answer
|
||||
exten => minivm,n,wait(0.5) ; Wait for Voip channels to settle
|
||||
exten => minivm,n,set(account=oej@example.com)
|
||||
exten => minivm,n,noop(------------------------------------------- Minivm Greet -------------)
|
||||
exten => minivm,n,minivmgreet(${account})
|
||||
exten => minivm,n,verbose(1,-- MINIVM_GREET_STATUS = ${MINIVM_GREET_STATUS} )
|
||||
exten => minivm,n,noop(------------------------------------------- Minivm Record -------------)
|
||||
exten => minivm,n,minivmRecord(${account},b)
|
||||
exten => minivm,n,goto(minivmcleanup,1)
|
||||
|
||||
; Cleanup after recording or hangup
|
||||
exten => minivmcleanup,1,noop(------------------------------------------- Minivm Notify -------------)
|
||||
;Increment voicemail counter with 1. The counter will be used in the e-mail message
|
||||
;and in the filename
|
||||
exten => minivmcleanup,n,gotoif($[${MINIVM_RECORD_STATUS} != SUCCESS]?minivmrecordfailure,1)
|
||||
exten => minivmcleanup,n,set(MINIVMCOUNTER(${account}:voicemailcounter:inc)=1)
|
||||
exten => minivmcleanup,n,set(MVM_COUNTER = ${MINIVMCOUNTER(${account}:voicemailcounter)})
|
||||
exten => minivmcleanup,n,minivmNotify(${account})
|
||||
exten => minivmcleanup,n,verbose(1,-- MINIVM_NOTIFY_STATUS = ${MINIVM_NOTIFY_STATUS} )
|
||||
; Now, clean up after sending voicemail
|
||||
exten => minivmcleanup,n,noop(------------------------------------------- Minivm Delete -------------)
|
||||
exten => minivmcleanup,n,minivmdelete()
|
||||
exten => minivmcleanup,n,verbose(1,-- MINIVM_DELETE_STATUS = ${MINIVM_DELETE_STATUS} )
|
||||
|
||||
;Recording failed
|
||||
exten => minivmrecordfailure,1,playback(vm-sorry)
|
||||
exten => minivmrecordfailure,n,wait(1)
|
||||
exten => minivmrecordfailure,n,hangup
|
||||
|
||||
; If the user hangs up during the recording, we need to clean up
|
||||
; And send notifications
|
||||
exten => h,1,gotoif($[x${MINIVM_DELETE_STATUS} != x] ?h,stop)
|
||||
exten => h,n,noop(------------------------------------------- HANGUP during voicemail recording -------------)
|
||||
exten => h,n,goto(minivmcleanup,1)
|
||||
exten => h,n(stop),noop(---Minivm DONE----)
|
||||
|
||||
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
|
||||
; Extension to record a greeting message
|
||||
; Call this like:
|
||||
; macro(recordgreetings,alice@atlanta.example.com)
|
||||
;
|
||||
[macro-recordgreetings]
|
||||
exten => s,1,answer
|
||||
exten => s,n,wait(0.5)
|
||||
exten => s,n,set(account=${ARGV1])
|
||||
; This file give extra options not available here, needs to be edited
|
||||
; Change of password does not work
|
||||
exten => s,n(menu),background(vm-options)
|
||||
exten => 1,1,setvar(option=u)
|
||||
exten => 1,n,macro(minivmrec,${account},${option})
|
||||
exten => 1,n,goto(menu)
|
||||
exten => 2,1,setvar(option=b)
|
||||
exten => 2,n,macro(minivmrec,${account},${option})
|
||||
exten => 2,n,goto(menu)
|
||||
exten => 3,1,setvar(option=n)
|
||||
exten => 3,n,macro(minivmrec,${account},${option})
|
||||
exten => 3,n,goto(menu)
|
||||
exten => 4,1,setvar(option=t)
|
||||
exten => 4,n,macro(minivmrec,${account},${option})
|
||||
exten => 4,n,goto(menu)
|
||||
exten => *,1,playback(vm-thankyou)
|
||||
exten => *,n,wait(1)
|
||||
exten => *,n,hangup
|
||||
|
||||
exten => i,1,playback(invalid)
|
||||
exten => i,n,goto(menu)
|
||||
|
||||
[macro-minivmrec]
|
||||
exten => s,1,gotoif(${MINIVMACCOUNT(${account}:hasaccount)}?record)
|
||||
; Account is not configured in minivm.conf or realtime
|
||||
; Phony message, add something useful here
|
||||
exten => s,n,playback(privacy-incorrect)
|
||||
exten => s,n,macroreturn
|
||||
exten => record,1,minivmappmess(${ARGV1},${ARGV2})
|
||||
exten => record,n,noop(Recording status: ${MINIVM_APPMESS_STATUS})
|
||||
exten => record,n,macroreturn
|
||||
|
||||
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
|
||||
; To set a counter and use a template for voicemail to users without accounts
|
||||
; use something like this
|
||||
;
|
||||
; email address is in the "account" channel variable. Set from ast_db or a script
|
||||
; based on called ID
|
||||
|
||||
exten => sendvoicemail,1,answer
|
||||
exten => sendvoicemail,n,wait(0.5)
|
||||
exten => sendvoicemail,n,set(domain=${CUT(account,@,2)})
|
||||
exten => sendvoicemail,n,set(country=${CUT(domain,.,2)})
|
||||
exten => sendvoicemail,n,minivmgreet(${account})
|
||||
exten => sendvoicemail,n,minivmRecord(${account},b)
|
||||
exten => sendvoicemail,n,goto(sendvmcleanup)
|
||||
|
||||
exten => sendvmcleanup,1,gotoif($[${MINIVM_RECORD_STATUS} != SUCCESS]?done)
|
||||
; The counter is set in the domain directory, so we don't create one directory per user
|
||||
; The counter has the email in the name of the counter, increase it
|
||||
; Set the MVM_COUNTER variable that we use in the template
|
||||
exten => sendvmcleanup,n,set(MINIVMCOUNTER(${account}:voicemailcounter:inc)=1)
|
||||
exten => sendvmcleanup,n,set(MVM_COUNTER = ${MINIVMCOUNTER(${account}:voicemailcounter)})
|
||||
; Increase a domain counter too, to see how many voicemails are sent to this domain
|
||||
; This is just for statistics
|
||||
exten => sendvmcleanup,n,set(MINIVMCOUNTER(${domain}:${domain}-all:inc) = 1)
|
||||
|
||||
; Send voicemail in e-mail with country-specific template
|
||||
; The template need to be defined in minivm.conf
|
||||
;
|
||||
exten => sendvmcleanup,n,minivmNotify(${account}, ${country}_email)
|
||||
exten => sendvmcleanup,n,minivmDelete()
|
||||
|
||||
exten => sendvmcleanup,n(done),wait(0.5)
|
||||
exten => sendvmcleanup,n,hangup
|
||||
|
||||
exten => h,1,gotoif($[${MINIVM_RECORD_STATUS} = SUCCESS]?sendvmcleanup,1))
|
||||
127
MySQL_conf_pbx/test1/conf/asterisk/features.conf
Executable file
127
MySQL_conf_pbx/test1/conf/asterisk/features.conf
Executable file
@ -0,0 +1,127 @@
|
||||
;
|
||||
; Sample Call Features (transfer, monitor/mixmonitor, etc) configuration
|
||||
;
|
||||
|
||||
; Note: From Asterisk 12 - All parking lot configuration is now done in res_parking.conf
|
||||
|
||||
[general]
|
||||
;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call
|
||||
; (default is 3 seconds). If the TRANSFER_EXTEN dialplan variable has been set
|
||||
; on the channel of the user that is invoking the transfer feature, then
|
||||
; this option is not used as the user is transferred directly to the extension
|
||||
; specified by TRANSFER_EXTEN (the transfer context remains the context specified
|
||||
; by TRANSFER_CONTEXT, if set, and otherwise the default context).
|
||||
;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)
|
||||
;pickupsound = beep ; to indicate a successful pickup (default: no sound)
|
||||
;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)
|
||||
;featuredigittimeout = 1000 ; Max time (ms) between digits for
|
||||
; feature activation (default is 1000 ms)
|
||||
;recordingfailsound = beeperr ; indicates that a one-touch monitor or one-touch mixmonitor feature failed
|
||||
; to be applied to the call. (default: no sound)
|
||||
;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds.
|
||||
;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transfer
|
||||
; target answers, then by default, the system will try to call back the
|
||||
; person that did the transfer. If this is set to "yes", the ringing
|
||||
; transfer target is immediately transferred to the transferee.
|
||||
;atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no)
|
||||
;atxfercallbackretries = 2 ; Number of times to attempt to send the call back to the transferer.
|
||||
; By default, this is 2.
|
||||
;transferdialattempts = 3 ; Number of times that a transferer may attempt to dial an extension before
|
||||
; being kicked back to the original call.
|
||||
;transferannouncesound = beep ; Sound to play to a transferer to indicate transfer process has begun. If empty, no sound will be played.
|
||||
;transferretrysound = beep ; Sound to play when a transferer fails to dial a valid extension.
|
||||
;transferinvalidsound = beeperr ; Sound to play when a transferer fails to dial a valid extension and is out of retries.
|
||||
;atxferabort = *1 ; cancel the attended transfer
|
||||
;atxfercomplete = *2 ; complete the attended transfer, dropping out of the call
|
||||
;atxferthreeway = *3 ; complete the attended transfer, but stay in the call. This will turn the call into a multi-party bridge
|
||||
;atxferswap = *4 ; swap to the other party. Once an attended transfer has begun, this option may be used multiple times
|
||||
|
||||
; 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!
|
||||
;automixmon => *3 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set the X and/or x option in the Dial() or Queue() 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 the outbound channels, as well. Otherwise, only the original channel
|
||||
; will have access to these features.)
|
||||
;
|
||||
; The syntax for declaring a dynamic feature is any of the following:
|
||||
;
|
||||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]
|
||||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]]
|
||||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class]
|
||||
|
||||
;
|
||||
; FeatureName -> This is the name of the feature used 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 -> ActivatedBy is no longer honored. The feature is activated by which
|
||||
; channel DYNAMIC_FEATURES includes the feature is on. Use a pre-dial
|
||||
; handler to set different values for DYNAMIC_FEATURES on the channels.
|
||||
; Historic values are: "caller", "callee", and "both".
|
||||
; Application -> This is the application to execute.
|
||||
; AppArguments -> These are the arguments to be passed into the application. If you need
|
||||
; commas in your arguments, you should use either the second or third
|
||||
; syntax, above.
|
||||
; 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 Goto,
|
||||
; Background, WaitExten, and many more. The exceptions to this are Gosub and
|
||||
; Macro routines which must complete for the call to continue.
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; Set arbitrary channel variables, based upon CALLERID number (Note that the application
|
||||
; argument contains commas)
|
||||
;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})})
|
||||
;
|
||||
;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
|
||||
|
||||
; Dynamic Feature Groups:
|
||||
; Dynamic feature groups are groupings of features defined in [applicationmap]
|
||||
; that can have their own custom key mappings. To give a channel access to a dynamic
|
||||
; feature group, add the group name to the value of the DYNAMIC_FEATURES variable.
|
||||
;
|
||||
; example:
|
||||
; [myGroupName] ; defines the group named myGroupName
|
||||
; testfeature => #9 ; associates testfeature with the group and the keycode '#9'.
|
||||
; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified
|
||||
; ; in the [applicationmap].
|
||||
34
MySQL_conf_pbx/test1/conf/asterisk/festival.conf
Executable file
34
MySQL_conf_pbx/test1/conf/asterisk/festival.conf
Executable file
@ -0,0 +1,34 @@
|
||||
;
|
||||
; 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
|
||||
;
|
||||
;
|
||||
107
MySQL_conf_pbx/test1/conf/asterisk/followme.conf
Executable file
107
MySQL_conf_pbx/test1/conf/asterisk/followme.conf
Executable file
@ -0,0 +1,107 @@
|
||||
; 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.
|
||||
;
|
||||
enable_callee_prompt=>true
|
||||
; Enable prompting a callee to either accept or reject the forwarded call.
|
||||
; If disabled, the optional prompting for caller name (option 'a') is
|
||||
; likewise disabled. Enabled by default.
|
||||
;
|
||||
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".
|
||||
; Note this string must not be a substring of declinecall.
|
||||
;
|
||||
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".
|
||||
; Note this string must not be a substring of takecall.
|
||||
;
|
||||
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.
|
||||
;
|
||||
connecting_prompt=>
|
||||
; The global default sound file name for 'Please say hello to the caller' message.
|
||||
; Setting to an empty string skips playing the prompt. The default is no prompt
|
||||
; file name.
|
||||
|
||||
[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 #[&...]]>[,<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.
|
||||
;
|
||||
; The timeout value is the amount of time allowed between the time the dialing step
|
||||
; starts and the callee answers. The callee then has until the timeout of the last
|
||||
; step to make a choice on whether to take the call or not. That being the case,
|
||||
; you may want to make the timeout on the last step longer to give enough time to
|
||||
; make the choice to accept or not.
|
||||
enable_callee_prompt=>true
|
||||
; Enable prompting the callee to accept the forwarded call. The default
|
||||
; is the global value.
|
||||
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.
|
||||
; Note this string must not be a substring of declinecall.
|
||||
;
|
||||
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.
|
||||
; Note this string must not be a substring of takecall.
|
||||
;
|
||||
call_from_prompt=>followme/call-from
|
||||
; The 'Incoming call from' message prompt. Default is the global default.
|
||||
;
|
||||
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.
|
||||
;
|
||||
options_prompt=>followme/options
|
||||
; The 'Press 1 to accept this call or press 2 to decline it' message prompt.
|
||||
; Default is the global default.
|
||||
;
|
||||
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.
|
||||
;
|
||||
status_prompt=>followme/status
|
||||
; The 'The party you're calling isn't at their desk' message prompt.
|
||||
; Default is the global default.
|
||||
;
|
||||
sorry_prompt=>followme/sorry
|
||||
; The 'I'm sorry, but we were unable to locate your party' message prompt. Default
|
||||
; is the global default.
|
||||
;
|
||||
connecting_prompt=>
|
||||
; The sound file name for 'Please say hello to the caller' message. Default is the
|
||||
; global default.
|
||||
;
|
||||
|
||||
127
MySQL_conf_pbx/test1/conf/asterisk/func_odbc.conf
Executable file
127
MySQL_conf_pbx/test1/conf/asterisk/func_odbc.conf
Executable file
@ -0,0 +1,127 @@
|
||||
;
|
||||
; func_odbc.conf
|
||||
;
|
||||
[general]
|
||||
;
|
||||
; Asterisk uses separate connections for every database operation.
|
||||
; If single_db_connection is enabled then func_odbc will use a single
|
||||
; database connection per DSN.
|
||||
; This option exists for those who expect that a second func_odbc call
|
||||
; works on the same connection. That allows you to do a LAST_INSERT_ID()
|
||||
; in a second func_odbc call.
|
||||
; Note that you'll need additional dialplan locks for this behaviour to work.
|
||||
; There are better ways: using stored procedures/functions instead.
|
||||
; This option is disabled by default.
|
||||
;single_db_connection=no
|
||||
;
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; Additionally you can use ${ARGC} to determine the number of arguments that
|
||||
; was actually passed (or risk using leaked ARGn variables from the channel).
|
||||
; Also reference the minargs configuration option.
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; If you have data which may potentially contain backslashes, you may wish to
|
||||
; use the dialplan function SQL_ESC_BACKSLASHES() to escape the backslashes.
|
||||
; Note that not all databases may require escaping of the backslashes.
|
||||
;
|
||||
;
|
||||
; The following options are available in this configuration file:
|
||||
;
|
||||
; dsn An alias for "writehandle."
|
||||
; readhandle A comma-separated list of DSNs (from res_odbc.conf) to use when
|
||||
; executing the readsql statement. Each DSN is tried, in
|
||||
; succession, until the statement succeeds. You may specify up to
|
||||
; 5 DSNs per function class. If not specified, it will default to
|
||||
; the value of "writehandle" or "dsn," if specified.
|
||||
; writehandle A comma-separated list of DSNs (from res_odbc.conf) to use when
|
||||
; executing the writesql statement. The same rules apply as to
|
||||
; readhandle.
|
||||
; readsql The statement to execute when reading from the function class.
|
||||
; writesql The statement to execute when writing to the function class.
|
||||
; insertsql The statement to execute when writing to the function class
|
||||
; succeeds, but initially indicates that 0 rows were affected.
|
||||
; prefix Normally, all function classes are prefixed with "ODBC" to keep
|
||||
; them uniquely named. You may choose to change this prefix, which
|
||||
; may be useful to segregate a collection of certain function
|
||||
; classes from others.
|
||||
; escapecommas This option may be used to turn off the default behavior of
|
||||
; escaping commas which occur within a field. If commas are
|
||||
; escaped (the default behavior), then fields containing commas
|
||||
; will be treated as a single value when assigning to ARRAY() or
|
||||
; HASH(). If commas are not escaped, then values will be separated
|
||||
; at the comma within fields. Please note that turning this option
|
||||
; off is incompatible with the functionality of HASH().
|
||||
; synopsis Appears in the synopsis field for the command
|
||||
; 'core show function <function name>'
|
||||
; syntax Appears in the syntax field for the command
|
||||
; 'core show function <function name>'
|
||||
; mode This option may be set to 'multirow' to allow the function
|
||||
; specified to return more than a single row. However, this
|
||||
; changes the way that func_odbc normally works. Instead of the
|
||||
; invocation of the function returning a row, it returns an opaque
|
||||
; ID, which may be passed to ODBC_FETCH() to return each row in
|
||||
; turn. ODBC_FETCH_STATUS returns SUCCESS or FAILURE, to indicate
|
||||
; whether any results were stored, and you should call ODBC_Finish
|
||||
; on the ID to clean up any remaining results when you are done
|
||||
; with the query. Also, the variable ODBCROWS is set initially,
|
||||
; which may be used in an iterative fashion to return each row in
|
||||
; the result.
|
||||
; Please note that multirow queries are isolated to the channel,
|
||||
; and rows may not be fetched outside of the channel where the
|
||||
; query was initially performed. Additionally, as the results are
|
||||
; associated with a channel, mode=multirow is incompatible with
|
||||
; the global space.
|
||||
; rowlimit Rowlimit limits the total number of rows which can be stored for
|
||||
; that query. For mode=multirow, otherwise, func_odbc will
|
||||
; attempt to store all rows in the resultset, up to the maximum
|
||||
; amount of memory. In normal mode, rowlimit can be set to allow
|
||||
; additional rows to be fetched, rather than just the first one.
|
||||
; These additional rows can be returned by using the name of the
|
||||
; function which was called to retrieve the first row as an
|
||||
; argument to ODBC_FETCH().
|
||||
; minargs The minimum number of ARGUMENTS that has to be passed to the
|
||||
; function. If fewer arguments than this is passed, then the call
|
||||
; will fail. It is important to note that unlike Gosub() and friends,
|
||||
; func_odbc will not mask out ARGn variables that it's not actively
|
||||
; using, as such, without this, it's entirely possible to use say
|
||||
; ARG2 from the Gosub() inside func_odbc when the intent was to
|
||||
; use an argument passed to func_odbc, but it simply was never passed.
|
||||
|
||||
|
||||
; ODBC_SQL - Allow an SQL statement to be built entirely in the dialplan
|
||||
[SQL]
|
||||
writehandle=mysql1
|
||||
readsql=${ARG1}
|
||||
|
||||
; ODBC_ANTISOLICIT - A blacklist for known solicitors.
|
||||
[ANTISOLICIT]
|
||||
dsn=mysql1,mysql2 ; Use mysql1 as the primary handle, but fall back to mysql2
|
||||
; if mysql1 is down. Supports up to 5 comma-separated
|
||||
; DSNs. "dsn" may also be specified as "readhandle" and
|
||||
; "writehandle", if it is important to separate reads and
|
||||
; writes to different databases.
|
||||
readsql=SELECT COUNT(*) FROM known_solicitors WHERE callerid='${SQL_ESC(${ARG1})}'
|
||||
syntax=<callerid>
|
||||
synopsis=Check if a specified callerid is contained in the known solicitors database
|
||||
|
||||
; ODBC_PRESENCE - Retrieve and update presence
|
||||
[PRESENCE]
|
||||
writehandle=mysql1
|
||||
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
|
||||
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'
|
||||
318
MySQL_conf_pbx/test1/conf/asterisk/geolocation.conf
Executable file
318
MySQL_conf_pbx/test1/conf/asterisk/geolocation.conf
Executable file
@ -0,0 +1,318 @@
|
||||
;--
|
||||
Geolocation Profile Sample Configuration
|
||||
|
||||
Please see https://docs.asterisk.org/Deployment/Geolocation/
|
||||
for the most current information.
|
||||
--;
|
||||
|
||||
;--
|
||||
=======================================================================
|
||||
Overview
|
||||
=======================================================================
|
||||
|
||||
Geolocation information is actually comprised of two objects, a
|
||||
Location object, and a Profile object.
|
||||
|
||||
Location objects must contain one of the following:
|
||||
|
||||
- Location information specified in Geographic Markup Language
|
||||
(GML) or civicAddress formats.
|
||||
|
||||
- A URI that points to externally hosted location information.
|
||||
|
||||
Profile objects contain instructions for the disposition of location
|
||||
information, an optional reference to a Location object, and updates or
|
||||
overrides to that Location object if specified.
|
||||
|
||||
Channel drivers and the dialplan functions are responsible for
|
||||
associating Profiles to endpoints/devices and calls. Normally, two
|
||||
profiles would be assigned to an endpoint to control behavior in each
|
||||
direction and to optionally specify location information. One for
|
||||
incoming calls (Asterisk is the UAS) and and one for outgoing calls
|
||||
(Asterisk is the UAC).
|
||||
|
||||
NOTE:
|
||||
|
||||
See https://docs.asterisk.org/Deployment/Geolocation/ for the most
|
||||
complete and up-to-date information on valid values for the object
|
||||
parameters and a full list of references.
|
||||
|
||||
GENERAL CAUTION: You must coordinate with your partners with regards
|
||||
to what location information is expected by each party and how it should
|
||||
be formatted. An outgoing configuration mismatch for instance, could
|
||||
result in misinformation or no information being sent to an emergency
|
||||
response center or even call failure for which you are solely responsible.
|
||||
--;
|
||||
|
||||
|
||||
;--
|
||||
=======================================================================
|
||||
Location Object Description
|
||||
=======================================================================
|
||||
[<location_id>]
|
||||
|
||||
-- type (required) ----------------------------------------------------
|
||||
Defines the object type.
|
||||
type = location
|
||||
|
||||
Must be "location" to identify this configuration section as a
|
||||
Geolocation Location object.
|
||||
|
||||
-- format (required) --------------------------------------------------
|
||||
Sets the format used to express the location.
|
||||
format = < civicAddress | GML | URI >
|
||||
|
||||
Values:
|
||||
civicAddress: [RFC4119] [RFC5139] [RFC5491]
|
||||
The location information will be placed in an XML document
|
||||
conforming to the PIDF-LO standard.
|
||||
For chan_pjsip, this will be placed in the body of
|
||||
outgoing INVITE messages in addition to any SDP.
|
||||
|
||||
GML: [RFC4119] [RFC5491] [GeoShape]
|
||||
The location information will be placed in an XML document
|
||||
conforming to the PIDF-LO standard.
|
||||
For chan_pjsip, this will be placed in the body of
|
||||
outgoing INVITE messages in addition to any SDP.
|
||||
|
||||
URI: [RFC6442]
|
||||
The external URI at which the the location information
|
||||
can be found. For chan_pjsip, this URI will be placed
|
||||
in a "Geolocation" header in outgoing INVITE messages.
|
||||
|
||||
There is no default.
|
||||
|
||||
Example:
|
||||
format = civicAddress
|
||||
|
||||
-- location_info (required) -------------------------------------------
|
||||
The location-format-specific information describing the location.
|
||||
location_info = <location_format_specific_description>
|
||||
|
||||
For readability, multiple "location" parameters can be specified and
|
||||
they will be concatenated into one specification. The description may
|
||||
contain replacement variables which may be the names of common channel
|
||||
variables like ${EXTEN}, channel variables you may have added in the
|
||||
dialplan, or variables you may have specified in the profile that
|
||||
references this location object.
|
||||
|
||||
NOTE: See https://docs.asterisk.org/Deployment/Geolocation/ for the
|
||||
most complete and up-to-date information on valid values for the object
|
||||
parameters and a full list of references.
|
||||
|
||||
WARNING: Asterisk can only validate that a particular sub-parameter
|
||||
name is valid for a particular format. It can't validate the actual
|
||||
value of the sub-parameter.
|
||||
|
||||
Example for civicAddress:
|
||||
|
||||
location_info = country=US
|
||||
location_info = A1="New York", A3="New York", A4=Manhattan,
|
||||
location_info = HNO=1633, PRD=W, RD=46th, STS=Street
|
||||
location_info = PC=10222
|
||||
|
||||
Example for GML with replacement variables:
|
||||
|
||||
location_info = type=Point, crs=2d, pos="${mylat} ${mylon}"
|
||||
|
||||
Example for URI with replacement variables:
|
||||
location_info = URI=https://some.company.com?number=${phone_number}
|
||||
|
||||
-- method (optional) --------------------------------------------------
|
||||
The method used to determine the location_info
|
||||
method = <"GPS" | "A-GPS" | "Manual" | "DHCP"
|
||||
| "Triangulation" | "Cell" | "802.11">
|
||||
|
||||
Example:
|
||||
method = Manual
|
||||
|
||||
-- location_source (optional) -----------------------------------------
|
||||
Original source of the location-info.
|
||||
location_source = < FQDN >
|
||||
|
||||
The value MUST be a FQDN. IP addresses are specifically not
|
||||
allowed. See RFC8787.
|
||||
|
||||
Example:
|
||||
location_source = sip1.myserver.net
|
||||
|
||||
-- confidence (optional) -----------------------------------------
|
||||
The confidence in the location specified.
|
||||
confidence = pdf=[ unknown | normal | rectangular ], value=<percent_confident>
|
||||
|
||||
Please see RFC7459 for the exact description of this parameter.
|
||||
|
||||
Example:
|
||||
confidence = pdf=normal, value=75
|
||||
|
||||
|
||||
-- Location Example ---------------------------------------------------
|
||||
|
||||
[mylocation]
|
||||
type = location
|
||||
format = civicAddress
|
||||
location_info = country=US
|
||||
location_info = A1="New York", A3="New York", A4=Manhattan
|
||||
location_info = HNO=1633, PRD=W, RD=46th, STS=Street
|
||||
location_info = PC=10222
|
||||
method = Manual
|
||||
location_source = sip1.myserver.net
|
||||
|
||||
=======================================================================
|
||||
--;
|
||||
|
||||
|
||||
;--
|
||||
=======================================================================
|
||||
Profile Object Descriptions
|
||||
=======================================================================
|
||||
[<profile_id>]
|
||||
|
||||
-- type (required) ----------------------------------------------------
|
||||
Defines the object type.
|
||||
type = profile
|
||||
|
||||
-- profile_precedence (optional) --------------------------------------
|
||||
Sets how to reconcile incoming and configured profiles.
|
||||
|
||||
profile_precedence = < prefer_incoming | prefer_config | discard_incoming
|
||||
| discard_config >
|
||||
|
||||
On an incoming call leg, "incoming" is the location description
|
||||
received in the SIP INVITE (if any) and "config" is this profile.
|
||||
|
||||
On an outgoing call leg, "incoming" is the location description
|
||||
passed through the dialplan to this channel (if any) and "config"
|
||||
is this profile.
|
||||
|
||||
Values:
|
||||
|
||||
prefer_incoming: If there's an incoming location description, use it
|
||||
even if there's also a configured one.
|
||||
prefer_config: If there's a configured location description, use it
|
||||
even if there's also an incoming one.
|
||||
discard_incoming: Discard any incoming location description. If there's
|
||||
a configured one, use it. If not, no location
|
||||
information is propagated.
|
||||
discard_config: Discard any configured location description. If
|
||||
there's an incoming one, use it. If not, no location
|
||||
information is propagated.
|
||||
|
||||
discard_incoming is the default.
|
||||
|
||||
Example:
|
||||
profile_precedence = prefer_config
|
||||
|
||||
-- pidf_element (optional) --------------------------------------------
|
||||
PIDF-LO element in which to place the location description.
|
||||
|
||||
pidf_element = < tuple | device | person >
|
||||
Default: device
|
||||
|
||||
If the format is civicAddress or GML, this sets the PIDF element into
|
||||
which the location information will be placed.
|
||||
|
||||
Values:
|
||||
tuple: Places the information in a "tuple" element.
|
||||
device: Places the information in a "device" element.
|
||||
person: Places the information in a "person" element.
|
||||
|
||||
Per [RFC5491], "device" is preferred and therefore the default.
|
||||
|
||||
Example:
|
||||
pidf_element = tuple
|
||||
|
||||
-- allow_routing_use (optional) ---------------------------------------
|
||||
Sets whether the "Geolocation-Routing" header is added to outgoing
|
||||
requests.
|
||||
|
||||
allow_routing_use = < yes | no >
|
||||
Default: no
|
||||
|
||||
Set to "yes" to indicate that servers later in the path
|
||||
can use the location information for routing purposes. Set to "no"
|
||||
if they should not. If this value isn't specified, no
|
||||
"Geolocation-Routing" header will be added.
|
||||
|
||||
Example:
|
||||
allow_routing_use = yes
|
||||
|
||||
-- location_reference (optional) --------------------------------------
|
||||
The name of an existing Location object.
|
||||
location_reference = <location_id>
|
||||
|
||||
The location_info_refinement and location_variables parameters below can
|
||||
be used to refine the location object for this specific profile.
|
||||
|
||||
Example:
|
||||
location_reference = "my_building"
|
||||
|
||||
-- location_info_refinement (optional) --------------------------------
|
||||
Location info to add to that already retrieved from the location object.
|
||||
|
||||
location_info_refinement = <location_format_specific_description>
|
||||
|
||||
The information in the referenced Location object can be refined on a
|
||||
per-profile basis. For example, if the referenced Location object has a
|
||||
civicAddress for a building, you could set location_refinement to add a
|
||||
floor and room just for this profile
|
||||
|
||||
Example:
|
||||
location_info_refinement = floor=20, room=20a2
|
||||
|
||||
-- location_variables (optional) --------------------------------------
|
||||
|
||||
If the referenced Location object uses any replacement variables, they
|
||||
can be assigned here. There is no need to define variables that come
|
||||
from the channel using this profile. They get assigned automatically.
|
||||
|
||||
location_variables = myfloor=20, myroom=222
|
||||
|
||||
-- suppress_empty_ca_elements (optional) ------------------------------
|
||||
Sets whether empty values for Civic Address elements should be
|
||||
suppressed from the outgoing PIDF-LO document.
|
||||
|
||||
suppress_empty_ca_elements = < yes | no >
|
||||
Default: no
|
||||
|
||||
Setting to "yes" allows you to define a location info template
|
||||
with channel variables that may or may not exist.
|
||||
|
||||
For example, with:
|
||||
location_info_refinement = FLR=${MyFlr}
|
||||
suppress_empty_ca_elements = no ; the default
|
||||
|
||||
If the MyFlr channel variable weren't set, the outgoing PIDF-LO document
|
||||
would have an empty <FLR/> element in it. If suppress_empty_ca_elements
|
||||
were set to "yes", the FLR element would be dropped from the PIDF-LO
|
||||
document altogether.
|
||||
|
||||
-- format, location_info, location_source, method, confidence ---------
|
||||
You can specify the location object's format, location_info,
|
||||
method, location_source and confidence parameters directly on
|
||||
a profile object for simple scenarios where the location
|
||||
information isn't common with any other profiles. This is
|
||||
mutually exclusive with setting location_reference on the
|
||||
profile.
|
||||
|
||||
-- Profile Example ----------------------------------------------------
|
||||
|
||||
[myprofile]
|
||||
type = profile
|
||||
location_reference = mylocation
|
||||
location_info_refinement = floor=20, room=20a2
|
||||
pidf_element = tuple
|
||||
profile_action = discard_incoming
|
||||
|
||||
=======================================================================
|
||||
|
||||
-- NOTE ---------------------------------------------------------------
|
||||
There are 4 built-in profiles that can be assigned to endpoints:
|
||||
"<prefer_config>"
|
||||
"<discard_config>"
|
||||
"<prefer_incoming>"
|
||||
"<discard_incoming>"
|
||||
The profiles are empty except for having their precedence
|
||||
set.
|
||||
|
||||
--;
|
||||
35
MySQL_conf_pbx/test1/conf/asterisk/hep.conf
Executable file
35
MySQL_conf_pbx/test1/conf/asterisk/hep.conf
Executable file
@ -0,0 +1,35 @@
|
||||
;
|
||||
; res_hep Module configuration for Asterisk
|
||||
;
|
||||
|
||||
;
|
||||
; Note that this configuration file is consumed by res_hep, which is responsible
|
||||
; for the HEPv3 protocol manipulation and managing the connection to the Homer
|
||||
; capture server. Additional modules provide specific messages to be sent to
|
||||
; the Homer server:
|
||||
; - res_hep_pjsip: Send SIP messages transmitted/received by the PJSIP stack
|
||||
; - res_hep_rtcp: Send RTCP information (all channels)
|
||||
;
|
||||
|
||||
; All settings are currently set in the general section.
|
||||
[general]
|
||||
enabled = no ; Enable/disable forwarding of packets to a
|
||||
; HEP server. Default is "yes".
|
||||
capture_address = 192.168.1.1:9061 ; The address of the HEP capture server.
|
||||
capture_password = foo ; If specified, the authorization password
|
||||
; for the HEP server. If not specified, no
|
||||
; authorization password will be sent.
|
||||
capture_id = 1234 ; A unique integer identifier for this
|
||||
; server. This ID will be embedded sent
|
||||
; with each packet from this server.
|
||||
;capture_name = asterisk ; A unique string identifier for this
|
||||
; server. This ID will be embedded sent
|
||||
; with each packet from this server.
|
||||
uuid_type = call-id ; Specify the preferred source for the Homer
|
||||
; correlation UUID. Valid options are:
|
||||
; - 'call-id' for the PJSIP or chan_sip SIP
|
||||
; Call-ID
|
||||
; - 'channel' for the Asterisk channel name
|
||||
; Note: If 'call-id' is specified but the
|
||||
; channel is not PJSIP or chan_sip then the
|
||||
; Asterisk channel name will be used instead.
|
||||
132
MySQL_conf_pbx/test1/conf/asterisk/http.conf
Executable file
132
MySQL_conf_pbx/test1/conf/asterisk/http.conf
Executable file
@ -0,0 +1,132 @@
|
||||
;
|
||||
; Asterisk Built-in mini-HTTP server
|
||||
;
|
||||
;
|
||||
; Note about Asterisk documentation:
|
||||
; If Asterisk was installed from a tarball, then the HTML documentation should
|
||||
; be installed in the static-http/docs directory which is
|
||||
; (/var/lib/asterisk/static-http/docs) on linux by default. If the Asterisk
|
||||
; HTTP server is enabled in this file by setting the "enabled", "bindaddr",
|
||||
; and "bindport" options, then you should be able to view the documentation
|
||||
; remotely by browsing to:
|
||||
; http://<server_ip>:<bindport>/static/docs/index.html
|
||||
;
|
||||
[general]
|
||||
;
|
||||
; The name of the server, advertised in both the Server field in HTTP
|
||||
; response message headers, as well as the <address /> element in certain HTTP
|
||||
; response message bodies. If not furnished here, "Asterisk/{version}" will be
|
||||
; used as a default value for the Server header field and the <address />
|
||||
; element. Setting this property to a blank value will result in the omission
|
||||
; of the Server header field from HTTP response message headers and the
|
||||
; <address /> element from HTTP response message bodies.
|
||||
;
|
||||
servername=Asterisk
|
||||
;
|
||||
; Whether HTTP/HTTPS interface is enabled or not. Default is no.
|
||||
; This also affects manager/rawman/mxml access (see manager.conf)
|
||||
;
|
||||
;enabled=yes
|
||||
;
|
||||
; Address to bind to, both for HTTP and HTTPS. You MUST specify
|
||||
; a bindaddr in order for the HTTP server to run. There is no
|
||||
; default value.
|
||||
;
|
||||
bindaddr=127.0.0.1
|
||||
;
|
||||
; Port to bind to for HTTP sessions (default is 8088)
|
||||
;
|
||||
;bindport=8088
|
||||
;
|
||||
; Prefix allows you to specify a prefix for all requests
|
||||
; to the server. The default is blank. If uncommented
|
||||
; all requests must begin with /asterisk
|
||||
;
|
||||
;prefix=asterisk
|
||||
;
|
||||
; sessionlimit specifies the maximum number of httpsessions that will be
|
||||
; allowed to exist at any given time. (default: 100)
|
||||
;
|
||||
;sessionlimit=100
|
||||
;
|
||||
; session_inactivity specifies the number of milliseconds to wait for
|
||||
; more data over the HTTP connection before closing it.
|
||||
;
|
||||
; Default: 30000
|
||||
;session_inactivity=30000
|
||||
;
|
||||
; session_keep_alive specifies the number of milliseconds to wait for
|
||||
; the next HTTP request over a persistent connection.
|
||||
;
|
||||
; Set to 0 to disable persistent HTTP connections.
|
||||
; Default: 15000
|
||||
;session_keep_alive=15000
|
||||
;
|
||||
; Whether Asterisk should serve static content from static-http
|
||||
; Default is no.
|
||||
;
|
||||
;enable_static=yes
|
||||
;
|
||||
; Whether Asterisk should serve a status page showing the running
|
||||
; configuration of this built-in HTTP server.
|
||||
; Default is yes.
|
||||
;
|
||||
;enable_status=no
|
||||
;
|
||||
; Redirect one URI to another. This is how you would set a
|
||||
; default page.
|
||||
; Syntax: redirect=<from here> <to there>
|
||||
; For example, if you are using the Asterisk-gui,
|
||||
; it is convenient to enable the following redirect:
|
||||
;
|
||||
;redirect = / /static/config/index.html
|
||||
;
|
||||
; HTTPS support. In addition to enabled=yes, you need to
|
||||
; explicitly enable tls, define the port to use,
|
||||
; and have a certificate somewhere.
|
||||
;tlsenable=yes ; enable tls - default no.
|
||||
;tlsbindaddr=0.0.0.0:8089 ; address and port to bind to - default is bindaddr and port 8089.
|
||||
;
|
||||
;tlscertfile=</path/to/certificate.pem> ; path to the certificate file (*.pem) only.
|
||||
;tlsprivatekey=</path/to/private.pem> ; path to private key file (*.pem) only.
|
||||
; If no path is given for tlscertfile or tlsprivatekey, default is to look in current
|
||||
; directory. If no tlsprivatekey is given, default is to search tlscertfile for private key.
|
||||
;
|
||||
; To produce a certificate you can e.g. use openssl. This places both the cert and
|
||||
; private in same .pem file.
|
||||
; openssl req -new -x509 -days 365 -nodes -out /tmp/foo.pem -keyout /tmp/foo.pem
|
||||
;
|
||||
; tlscipher= ; The list of allowed ciphers
|
||||
; ; if none are specified the following cipher
|
||||
; ; list will be used instead:
|
||||
; ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:
|
||||
; ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:
|
||||
; kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:
|
||||
; ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:
|
||||
; ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:
|
||||
; DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:
|
||||
; AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:
|
||||
; AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:
|
||||
; !EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
|
||||
;
|
||||
; tlsdisablev1=yes ; Disable TLSv1 support - if not set this defaults to "yes"
|
||||
; tlsdisablev11=yes ; Disable TLSv1.1 support - if not set this defaults to "no"
|
||||
; tlsdisablev12=yes ; Disable TLSv1.2 support - if not set this defaults to "no"
|
||||
;
|
||||
; tlsservercipherorder=yes ; Use the server preference order instead of the client order
|
||||
; ; Defaults to "yes"
|
||||
;
|
||||
; 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]
|
||||
;
|
||||
; NOTE: You need a valid HTTP AMI mansession_id cookie with the manager
|
||||
; config permission to POST files.
|
||||
;
|
||||
; 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/
|
||||
;
|
||||
647
MySQL_conf_pbx/test1/conf/asterisk/iax.conf
Executable file
647
MySQL_conf_pbx/test1/conf/asterisk/iax.conf
Executable file
@ -0,0 +1,647 @@
|
||||
;
|
||||
; Inter-Asterisk eXchange v2 (IAX2) Channel Driver configuration
|
||||
;
|
||||
; This configuration is read when the chan_iax2.so module is loaded, and is
|
||||
; re-read when the module is reloaded, such as when invoking the CLI command:
|
||||
;
|
||||
; *CLI> iax2 reload
|
||||
;
|
||||
|
||||
; General settings, like port number to bind to, and an option address (the
|
||||
; default is to bind to all local addresses).
|
||||
|
||||
[general]
|
||||
|
||||
; Listener Addresses
|
||||
;
|
||||
; Use the 'bindaddr' and 'bindport' options to specify on which address and port
|
||||
; the IAX2 channel driver will listen for incoming requests.
|
||||
;
|
||||
;
|
||||
|
||||
;bindport=4569 ; The default port to listen on
|
||||
; 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) or for
|
||||
; IPv6 the address needs to be in brackets then colon
|
||||
; and port (e.g. bindaddr=[2001:db8::1]:4569).
|
||||
|
||||
;bindaddr=192.168.0.1 ; You can specify 'bindaddr' more than once to bind to
|
||||
; multiple addresses, but the first will be the
|
||||
; default. IPv6 addresses are accepted.
|
||||
|
||||
;
|
||||
; 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 IAX2 DPREQ (Dialplan Request)
|
||||
; instead of blocking while it waits for a response.
|
||||
;
|
||||
; Accepted values: yes, no
|
||||
; Default value: no
|
||||
;
|
||||
;iaxcompat=yes
|
||||
;
|
||||
|
||||
;
|
||||
; Disable UDP checksums (if nochecksums is set, then no checksums will
|
||||
; be calculated/checked on systems supporting this feature)
|
||||
;
|
||||
; Accepted values: yes, no
|
||||
; Default value: no
|
||||
;
|
||||
;nochecksums=yes
|
||||
;
|
||||
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; Accepted values: yes, no
|
||||
; Default value: no
|
||||
;
|
||||
;delayreject=yes
|
||||
;
|
||||
|
||||
;
|
||||
; You may specify a global default AMA flag for iax calls. These flags are
|
||||
; used in the generation of call detail records.
|
||||
;
|
||||
; Accepted values: default, omit, billing, documentation
|
||||
; Default value: default
|
||||
;
|
||||
;amaflags=billing
|
||||
;
|
||||
|
||||
;
|
||||
; ADSI (Analog Display Services Interface) can be enabled if you have (or may
|
||||
; have) ADSI compatible CPE equipment.
|
||||
;
|
||||
; Accepted values: yes, no
|
||||
; Default value: no
|
||||
;
|
||||
;adsi=yes
|
||||
;
|
||||
|
||||
;
|
||||
; Whether or not to perform an SRV lookup on outbound calls.
|
||||
;
|
||||
; Accepted values: yes, no
|
||||
; Default value: no
|
||||
;
|
||||
;srvlookup=yes
|
||||
;
|
||||
|
||||
;
|
||||
; You may specify a default account for Call Detail Records (CDRs) in addition to
|
||||
; specifying on a per-user basis.
|
||||
;
|
||||
; Accepted values: Any string value up to 19 characters in length
|
||||
; Default value: <empty>
|
||||
;
|
||||
;accountcode=lss0101
|
||||
;
|
||||
|
||||
;
|
||||
; You may specify a global default language for users. This can be specified
|
||||
; also on a per-user basis. If omitted, will fallback to English (en).
|
||||
;
|
||||
; Accepted values: A language tag such as 'en' or 'es'
|
||||
; Default value: en
|
||||
;
|
||||
;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.
|
||||
;
|
||||
; Accepted values: passthrough, or any music-on-hold class name
|
||||
; Default value: <empty>
|
||||
;
|
||||
;mohinterpret=default
|
||||
;
|
||||
|
||||
;
|
||||
; The 'mohsuggest' 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. This setting will restrict codecs used to only those that comply
|
||||
; with the bandwidth setting. In most cases, you should set this to 'high' so
|
||||
; that high-quality codecs may be used; if set to a lower value, this will
|
||||
; degrade call quality, so you probably only want to do this if you have
|
||||
; actual significant bandwidth constraints.
|
||||
;
|
||||
bandwidth=high
|
||||
;
|
||||
|
||||
;
|
||||
; You can also fine tune codecs here using "allow" and "disallow" clauses with
|
||||
; specific codecs. Use "all" to represent all formats.
|
||||
;
|
||||
;allow=all
|
||||
;disallow=g723.1
|
||||
disallow=lpc10
|
||||
;allow=gsm
|
||||
;
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Jitter Buffer
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;
|
||||
; You can adjust several parameters relating to the jitter buffer. The jitter
|
||||
; buffer's function is to compensate for varying network delay.
|
||||
;
|
||||
; All of the jitter buffer settings are in milliseconds. The jitter buffer
|
||||
; works for INCOMING audio only - 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.
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; jittertargetextra: number of milliseconds by which the new jitter buffer
|
||||
; will pad its size. the default is 40, so without modification, the new
|
||||
; jitter buffer will set its size to the jitter value plus 40 milliseconds.
|
||||
; increasing this value may help if your network normally has low jitter,
|
||||
; but occasionally has spikes.
|
||||
;
|
||||
|
||||
jitterbuffer=no
|
||||
;maxjitterbuffer=1000
|
||||
;maxjitterinterps=10
|
||||
;resyncthreshold=1000
|
||||
;jittertargetextra=40
|
||||
|
||||
; 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. There is no
|
||||
; default unless set here in the [general] section. Only md5 and rsa support
|
||||
; media encryption.
|
||||
;
|
||||
;auth=md5
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; IAX2 Encryption
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;
|
||||
; Enable IAX2 encryption. The default is no. This option does not force
|
||||
; encryption for calls, it merely allows it to be used for calls.
|
||||
;
|
||||
encryption=yes
|
||||
|
||||
;
|
||||
; Force encryption insures no connection is established unless both sides
|
||||
; support encryption. By turning this option on, encryption is automatically
|
||||
; turned on as well. The default is no.
|
||||
;
|
||||
;forceencryption=yes
|
||||
;
|
||||
|
||||
; This option defines the maximum payload in bytes an IAX2 trunk can support at
|
||||
; a given time. The best way to explain this is to provide an example. If the
|
||||
; maximum number of calls to be supported is 800, and each call transmits 20ms
|
||||
; frames of audio using ulaw:
|
||||
;
|
||||
; (8000hz / 1000ms) * 20ms * 1 byte per sample = 160 bytes per frame
|
||||
;
|
||||
; The maximum load in bytes is:
|
||||
;
|
||||
; (160 bytes per frame) * (800 calls) = 128000 bytes
|
||||
;
|
||||
; Once this limit is reached, calls may be dropped or begin to lose audio.
|
||||
; Depending on the codec in use and number of channels to be supported this value
|
||||
; may need to be raised, but in most cases the default value is large enough.
|
||||
;
|
||||
; trunkmaxsize = 128000 ; defaults to 128000 bytes, which supports up to 800
|
||||
; calls of ulaw at 20ms a frame.
|
||||
|
||||
; With a large amount of traffic on IAX2 trunks, there is a risk of bad voice
|
||||
; quality when allowing the Linux system to handle fragmentation of UDP packets.
|
||||
; Depending on the size of each payload, allowing the OS to handle fragmentation
|
||||
; may not be very efficient. This setting sets the maximum transmission unit for
|
||||
; IAX2 UDP trunking. The default is 1240 bytes which means if a trunk's payload
|
||||
; is over 1240 bytes for every 20ms it will be broken into multiple 1240 byte
|
||||
; messages. Zero disables this functionality and let's the OS handle
|
||||
; fragmentation.
|
||||
;
|
||||
; trunkmtu = 1240 ; trunk data will be sent in 1240 byte messages.
|
||||
|
||||
; trunkfreq sets how frequently trunk messages are sent in milliseconds. This
|
||||
; value is 20ms by default, which means the trunk will send all the data queued
|
||||
; to it in the past 20ms. By increasing the time between sending trunk messages,
|
||||
; the trunk's payload size will increase as well. Note, depending on the size
|
||||
; set by trunkmtu, messages may be sent more often than specified. For example
|
||||
; if a trunk's message size grows to the trunkmtu size before 20ms is reached
|
||||
; that message will be sent immediately. Acceptable values are between 10ms and
|
||||
; 1000ms.
|
||||
;
|
||||
; trunkfreq=20 ; How frequently to send trunk msgs (in ms). This is 20ms by
|
||||
; default.
|
||||
|
||||
; 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 IAX2 peers can request as a
|
||||
; registration expiration interval (in seconds).
|
||||
; minregexpire = 60
|
||||
; maxregexpire = 60
|
||||
|
||||
; IAX2 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 IAX2 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
|
||||
;
|
||||
; Through the use of the res_stun_monitor module, Asterisk has the ability to detect when the
|
||||
; perceived external network address has changed. When the stun_monitor is installed and
|
||||
; configured, chan_iax will renew all outbound registrations when the monitor detects any sort
|
||||
; of network change has occurred. By default this option is enabled, but only takes effect once
|
||||
; res_stun_monitor is configured. If res_stun_monitor is enabled and you wish to not
|
||||
; generate all outbound registrations on a network change, use the option below to disable
|
||||
; this feature.
|
||||
;
|
||||
; subscribe_network_change_event = yes ; on by default
|
||||
;
|
||||
; You can enable authentication debugging to increase the amount of
|
||||
; debugging traffic.
|
||||
;
|
||||
;authdebug = yes
|
||||
;
|
||||
; See https://docs.asterisk.org/Configuration/Channel-Drivers/IP-Quality-of-Service for a description of these parameters.
|
||||
;tos=ef
|
||||
;cos=5
|
||||
;
|
||||
; 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 IAX2 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
|
||||
; IAX2 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 since at least 2012, 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)
|
||||
|
||||
;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 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)
|
||||
|
||||
;parkinglot=edvina ; Default parkinglot for IAX2 peers and users
|
||||
; This can also be configured per device
|
||||
; Parkinglots are defined in features.conf
|
||||
|
||||
;
|
||||
; The following two options are used to disable call token validation for the
|
||||
; purposes of interoperability with IAX2 endpoints that do not yet support it.
|
||||
;
|
||||
; Call token validation can be set as optional for a single IP address or IP
|
||||
; address range by using the 'calltokenoptional' option. 'calltokenoptional' is
|
||||
; only a global option.
|
||||
;
|
||||
;calltokenoptional=209.16.236.73/255.255.255.0
|
||||
;
|
||||
; By setting 'requirecalltoken=no', call token validation becomes optional for
|
||||
; that peer/user. By setting 'requirecalltoken=auto', call token validation
|
||||
; is optional until a call token supporting peer registers successfully using
|
||||
; call token validation. This is used as an indication that from now on, we
|
||||
; can require it from this peer. So, requirecalltoken is internally set to yes.
|
||||
; requirecalltoken may only be used in peer/user/friend definitions,
|
||||
; not in the global scope.
|
||||
; By default, 'requirecalltoken=yes'.
|
||||
;
|
||||
;requirecalltoken=no
|
||||
;
|
||||
; Maximum time allowed for call token authentication handshaking. Default is 10 seconds.
|
||||
; Use higher values in lagged or high packet loss networks.
|
||||
;
|
||||
;calltokenexpiration=10
|
||||
|
||||
;
|
||||
; These options are used to limit the amount of call numbers allocated to a
|
||||
; single IP address. Before changing any of these values, it is highly encouraged
|
||||
; to read the user guide associated with these options first. In most cases, the
|
||||
; default values for these options are sufficient.
|
||||
;
|
||||
; The 'maxcallnumbers' option limits the amount of call numbers allowed for each
|
||||
; individual remote IP address. Once an IP address reaches it's call number
|
||||
; limit, no more new connections are allowed until the previous ones close. This
|
||||
; option can be used in a peer definition as well, but only takes effect for
|
||||
; the IP of a dynamic peer after it completes registration.
|
||||
;
|
||||
;maxcallnumbers=512
|
||||
;
|
||||
; The 'maxcallnumbers_nonvalidated' is used to set the combined number of call
|
||||
; numbers that can be allocated for connections where call token validation
|
||||
; has been disabled. Unlike the 'maxcallnumbers' option, this limit is not
|
||||
; separate for each individual IP address. Any connection resulting in a
|
||||
; non-call token validated call number being allocated contributes to this
|
||||
; limit. For use cases, see the call token user guide. This option's
|
||||
; default value of 8192 should be sufficient in most cases.
|
||||
;
|
||||
;maxcallnumbers_nonvalidated=1024
|
||||
;
|
||||
; The [callnumberlimits] section allows custom call number limits to be set
|
||||
; for specific IP addresses and IP address ranges. These limits take precedence
|
||||
; over the global 'maxcallnumbers' option, but may still be overridden by a
|
||||
; peer defined 'maxcallnumbers' entry. Note that these limits take effect
|
||||
; for every individual address within the range, not the range as a whole.
|
||||
;
|
||||
;[callnumberlimits]
|
||||
;10.1.1.0/255.255.255.0 = 24
|
||||
;10.1.2.0/255.255.255.0 = 32
|
||||
;
|
||||
|
||||
; The shrinkcallerid function removes '(', ' ', ')', non-trailing '.', and '-' not
|
||||
; in square brackets. For example, the Caller*ID value 555.5555 becomes 5555555
|
||||
; when this option is enabled. Disabling this option results in no modification
|
||||
; of the Caller*ID value, which is necessary when the Caller*ID represents something
|
||||
; that must be preserved. This option can only be used in the [general] section.
|
||||
; By default this option is on.
|
||||
;
|
||||
;shrinkcallerid=yes ; on by default
|
||||
|
||||
; Guest sections for unauthenticated connection attempts. Just specify an
|
||||
; empty secret, or provide no secret section.
|
||||
;
|
||||
[guest]
|
||||
type=user
|
||||
context=public
|
||||
callerid="Guest IAX User"
|
||||
|
||||
;
|
||||
; Trust Caller*ID 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 "permit", "deny", and "acl" 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. If encryption is used (applicable to
|
||||
; md5 and rsa only), a secret must be provided.
|
||||
;
|
||||
;
|
||||
; 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=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
|
||||
; cause the given audio file to
|
||||
; be played upon completion of
|
||||
; an attended transfer to the
|
||||
; target of the transfer.
|
||||
;dbsecret=mysecrets/place ; Secrets can be stored in astdb, too
|
||||
;transfer=no ; Disable IAX2 native transfer
|
||||
;transfer=mediaonly ; When doing IAX2 native transfers, transfer only
|
||||
; the media stream
|
||||
;jitterbuffer=yes ; Override the global setting and enable the jitter
|
||||
; buffer for this user
|
||||
;maxauthreq=10 ; Set the maximum number of outstanding AUTHREQs
|
||||
; waiting for replies. If this limit is reached,
|
||||
; any further authentication will be blocked, until
|
||||
; the pending requests 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
|
||||
;encryption=yes ; Enable IAX2 encryption. The default is no.
|
||||
;keyrotate=off ; This is a compatibility option for older versions
|
||||
; of IAX2 that do not support key rotation with
|
||||
; encryption. This option will disable the
|
||||
; IAX_COMMAND_RTENC message. The default is on.
|
||||
|
||||
;
|
||||
; Peers may also be specified, with a secret and a remote hostname.
|
||||
;
|
||||
;[demo]
|
||||
;type=peer
|
||||
;username=asterisk
|
||||
;secret=supersecret
|
||||
;host=192.168.10.10
|
||||
;description=My IAX2 Peer ; Description of this peer, as listed by
|
||||
; 'iax2 show peers'
|
||||
;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. The default
|
||||
; is 'no.'
|
||||
;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
|
||||
;
|
||||
;encryption=yes ; Enable IAX2 encryption. The default is no.
|
||||
;keyrotate=off ; This is a compatibility option for older versions
|
||||
; of IAX2 that do not support key rotation with
|
||||
; encryption. This option will disable the
|
||||
; IAX_COMMAND_RTENC message. The default is 'on.'
|
||||
|
||||
; Peers can remotely register as well, so that they can be mobile. Default
|
||||
; IPs 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.
|
||||
;connectedline=yes ; Set if connected line and redirecting information updates
|
||||
; ; are passed between Asterisk servers for this peer.
|
||||
; ; yes - Sending and receiving updates are enabled.
|
||||
; ; send - Only send updates.
|
||||
; ; receive - Only process received updates.
|
||||
; ; no - Sending and receiving updates are disabled.
|
||||
; ; Default is "no".
|
||||
; ;
|
||||
; ; Note: Because of an incompatibility between Asterisk v1.4
|
||||
; ; and Asterisk v1.8 or later, this option must be set
|
||||
; ; to "no" toward the Asterisk v1.4 peer. A symptom of the
|
||||
; ; incompatibility is the call gets disconnected unexpectedly.
|
||||
|
||||
|
||||
;[dynamichost]
|
||||
;host=dynamic
|
||||
;secret=mysecret
|
||||
; Note: app_voicemail mailboxes must be in the form of mailbox@context.
|
||||
;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
|
||||
;description=Gateway to PSTN
|
||||
;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 shortcut 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
|
||||
;acl=example_named_acl
|
||||
|
||||
;
|
||||
; With immediate=yes, an IAX2 phone or a phone on an IAXy acts as a hot-line
|
||||
; which goes immediately to the s extension when picked up. Useful for
|
||||
; elevator phones, manual service, or other similar applications.
|
||||
;
|
||||
;[manual]
|
||||
;type=friend
|
||||
;host=dynamic
|
||||
;immediate=yes ; go immediately to s extension when picked up
|
||||
;secret=moofoo ; when immediate=yes is specified, secret is required
|
||||
;context=number-please ; we start at the s extension in this context
|
||||
;
|
||||
80
MySQL_conf_pbx/test1/conf/asterisk/iaxprov.conf
Executable file
80
MySQL_conf_pbx/test1/conf/asterisk/iaxprov.conf
Executable file
@ -0,0 +1,80 @@
|
||||
;
|
||||
; 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 https://docs.asterisk.org/Configuration/Channel-Drivers/IP-Quality-of-Service 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
|
||||
747
MySQL_conf_pbx/test1/conf/asterisk/indications.conf
Executable file
747
MySQL_conf_pbx/test1/conf/asterisk/indications.conf
Executable file
@ -0,0 +1,747 @@
|
||||
;
|
||||
; indications.conf
|
||||
;
|
||||
; Configuration file for location specific tone indications
|
||||
;
|
||||
|
||||
;
|
||||
; 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.
|
||||
; 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]*
|
||||
;
|
||||
|
||||
[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
|
||||
; 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
|
||||
|
||||
|
||||
[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
|
||||
|
||||
[id]
|
||||
description = Indonesia
|
||||
; 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/250,0/250
|
||||
callwaiting = 425/150,0/150,425/150,0/10000
|
||||
info = !950/330,!1400/330,!1800/330,0/1000
|
||||
|
||||
[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,400*25
|
||||
|
||||
[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,425
|
||||
|
||||
[my]
|
||||
description = Malaysia
|
||||
ringcadence = 2000,4000
|
||||
dial = 425
|
||||
busy = 425/500,0/500
|
||||
ring = 425/400,0/200,425/400,0/2000
|
||||
congestion = 425/500,0/500
|
||||
; 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
|
||||
|
||||
[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
|
||||
; Reference = http://www.telepermit.co.nz/TNA102.pdf
|
||||
ringcadence = 400,200,400,2000
|
||||
dial = 400
|
||||
busy = 400/500,0/500
|
||||
ring = 400+450/400,0/200,400+450/400,0/2000
|
||||
congestion = 400/250,0/250
|
||||
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,425
|
||||
|
||||
|
||||
[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
|
||||
; 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
|
||||
|
||||
|
||||
[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
|
||||
186
MySQL_conf_pbx/test1/conf/asterisk/logger.conf
Executable file
186
MySQL_conf_pbx/test1/conf/asterisk/logger.conf
Executable file
@ -0,0 +1,186 @@
|
||||
;
|
||||
; 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. Note that there is also
|
||||
; a fractional second parameter which may be used in this field. Use %1q
|
||||
; for tenths, %2q for hundredths, etc.
|
||||
;
|
||||
;dateformat=%F %T ; ISO 8601 date format
|
||||
;dateformat=%F %T.%3q ; with milliseconds
|
||||
;
|
||||
;
|
||||
; This makes Asterisk write callids to log messages
|
||||
; (defaults to yes)
|
||||
;use_callids = no
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; Determines whether the queue_log always goes to a file, even
|
||||
; when a realtime backend is present (defaults to no).
|
||||
;queue_log_to_file = yes
|
||||
;
|
||||
; Set the queue_log filename
|
||||
; (defaults to queue_log)
|
||||
;queue_log_name = queue_log
|
||||
;
|
||||
; When using realtime for the queue log, use GMT for the timestamp
|
||||
; instead of localtime. The default of this option is 'no'.
|
||||
;queue_log_realtime_use_gmt = yes
|
||||
;
|
||||
; Log rotation strategy:
|
||||
; none: Do not perform any logrotation at all. You should make
|
||||
; very sure to set up some external logrotate mechanism
|
||||
; as the asterisk logs can get very large, very quickly.
|
||||
; sequential: Rename archived logs in order, such that the newest
|
||||
; has the highest sequence number [default]. When
|
||||
; exec_after_rotate is set, ${filename} will specify
|
||||
; the new archived logfile.
|
||||
; rotate: Rotate all the old files, such that the oldest has the
|
||||
; highest sequence number [this is the expected behavior
|
||||
; for Unix administrators]. When exec_after_rotate is
|
||||
; set, ${filename} will specify the original root filename.
|
||||
; timestamp: Rename the logfiles using a timestamp instead of a
|
||||
; sequence number when "logger rotate" is executed.
|
||||
; When exec_after_rotate is set, ${filename} will
|
||||
; specify the new archived logfile.
|
||||
;rotatestrategy = rotate
|
||||
;
|
||||
; Run a system command after rotating the files. This is mainly
|
||||
; useful for rotatestrategy=rotate. The example allows the last
|
||||
; two archive files to remain uncompressed, but after that point,
|
||||
; they are compressed on disk.
|
||||
;
|
||||
; exec_after_rotate=gzip -9 ${filename}.2
|
||||
;
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; All log messages go to a queue serviced by a single thread
|
||||
; which does all the IO. This setting controls how big that
|
||||
; queue can get (and therefore how much memory is allocated)
|
||||
; before new messages are discarded.
|
||||
; The default is 1000
|
||||
;logger_queue_limit = 250
|
||||
;
|
||||
; Any custom logging levels you may want to use, which can then
|
||||
; be sent to logging channels. The maximum number of custom
|
||||
; levels is 16, but not all of these may be available if modules
|
||||
; in Asterisk define their own.
|
||||
;custom_levels = foobar,important,compliance
|
||||
;
|
||||
[logfiles]
|
||||
;
|
||||
; Format is:
|
||||
;
|
||||
; logger_name => [formatter]levels
|
||||
;
|
||||
; The name of the logger dictates not only the name of the logging
|
||||
; channel, but also its type. Valid types are:
|
||||
; - 'console' - The root console of Asterisk
|
||||
; - 'syslog' - Linux syslog, with facilities specified afterwards with
|
||||
; a period delimiter, e.g., 'syslog.local0'
|
||||
; - 'filename' - The name of the log file to create. This is the default
|
||||
; for log channels.
|
||||
;
|
||||
; Filenames can either be relative to the standard Asterisk log directory
|
||||
; (see 'astlogdir' in asterisk.conf), or absolute paths that begin with
|
||||
; '/'.
|
||||
;
|
||||
; An optional formatter can be specified prior to the log levels sent
|
||||
; to the log channel. The formatter is defined immediately preceeding the
|
||||
; levels, and is enclosed in square brackets. Valid formatters are:
|
||||
; - [default] - The default formatter, this outputs log messages using a
|
||||
; human readable format.
|
||||
; - [plain] - The plain formatter, this outputs log messages using a
|
||||
; human readable format with the addition of function name
|
||||
; and line number. No color escape codes are ever printed
|
||||
; nor are verbose messages treated specially.
|
||||
; - [json] - Log the output in JSON. Note that JSON formatted log entries,
|
||||
; if specified for a logger type of 'console', will be formatted
|
||||
; per the 'default' formatter for log messages of type VERBOSE.
|
||||
; This is due to the remote consoles interpreting verbosity
|
||||
; outside of the logging subsystem.
|
||||
;
|
||||
; Log levels include the following, and are specified in a comma delineated
|
||||
; list:
|
||||
; debug
|
||||
; trace
|
||||
; notice
|
||||
; warning
|
||||
; error
|
||||
; verbose(<level>)
|
||||
; dtmf
|
||||
; fax
|
||||
; security
|
||||
; <customlevel>
|
||||
;
|
||||
; Verbose takes an optional argument, in the form of an integer level. The
|
||||
; verbose level can be set per logfile. Verbose messages with higher levels
|
||||
; will not be logged to the file. If the verbose level is not specified, it
|
||||
; will log verbose messages following the current level of the root console.
|
||||
;
|
||||
; Debug has multiple levels like verbose. However, it is a system wide setting
|
||||
; and cannot be specified per logfile. You specify the debug level elsewhere
|
||||
; such as the CLI 'core set debug 3', starting Asterisk with '-ddd', or in
|
||||
; asterisk.conf 'debug=3'.
|
||||
;
|
||||
; Special level name "*" means all levels, even dynamic levels registered
|
||||
; by modules after the logger has been initialized (this means that loading
|
||||
; and unloading modules that create/remove dynamic logger levels will result
|
||||
; in these levels being included on filenames that have a level name of "*",
|
||||
; without any need to perform a 'logger reload' or similar operation).
|
||||
; Note that there is no value in specifying both "*" and specific level names
|
||||
; for a filename; the "*" level means all levels. The only exception is if
|
||||
; you need to specify a specific verbose level. e.g, "verbose(3),*".
|
||||
;
|
||||
; 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. Both
|
||||
; debug and trace messages are also very verbose and can and do fill up
|
||||
; logfiles quickly. This is another reason not to have debug or trace
|
||||
; modes on a production system unless you are in the process of debugging
|
||||
; a specific issue.
|
||||
;
|
||||
;debug.log => error,warning,notice,verbose,debug
|
||||
;trace.log => trace
|
||||
;security.log => security
|
||||
console => notice,warning,error
|
||||
;console => notice,warning,error,debug
|
||||
messages.log => notice,warning,error
|
||||
;full.log => notice,warning,error,debug,verbose,dtmf,fax
|
||||
;
|
||||
;full-json.log => [json]debug,verbose,notice,warning,error,dtmf,fax
|
||||
;
|
||||
;syslog keyword : This special keyword logs to syslog facility
|
||||
;
|
||||
;syslog.local0 => notice,warning,error
|
||||
;
|
||||
; A log level defined in 'custom_levels' above
|
||||
;important.log = important
|
||||
331
MySQL_conf_pbx/test1/conf/asterisk/manager.conf
Executable file
331
MySQL_conf_pbx/test1/conf/asterisk/manager.conf
Executable file
@ -0,0 +1,331 @@
|
||||
;
|
||||
; AMI - The Asterisk Manager Interface
|
||||
;
|
||||
; Third party application call management support and PBX event supervision
|
||||
;
|
||||
; Use the "manager show 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/https 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]
|
||||
enabled = no
|
||||
;webenabled = yes
|
||||
|
||||
port = 5038
|
||||
bindaddr = 0.0.0.0
|
||||
|
||||
; Parameters that control AMI over TLS. ("enabled" must be set too).
|
||||
; You can open a connection to this socket with e.g.
|
||||
;
|
||||
; openssl s_client -connect my_host:5039
|
||||
;
|
||||
;tlsenable=no ; set to YES to enable it
|
||||
;tlsbindaddr=0.0.0.0:5039 ; address and port to bind to, default to bindaddr and port 5039
|
||||
;tlscertfile=/tmp/asterisk.pem ; path to the certificate.
|
||||
;tlsprivatekey=/tmp/private.pem ; path to the private key, if no private given,
|
||||
; if no tlsprivatekey is given, default is to search
|
||||
; tlscertfile for private key.
|
||||
;tlscipher=<cipher string> ; string specifying which SSL ciphers to use or not use
|
||||
;
|
||||
;allowmultiplelogin = yes ; IF set to no, rejects manager logins that are already in use.
|
||||
; ; The default is yes.
|
||||
;
|
||||
;displayconnects = yes
|
||||
;
|
||||
; Add a Unix epoch timestamp to events (not action responses)
|
||||
;
|
||||
;timestampevents = yes
|
||||
|
||||
;brokeneventsaction = yes ; Restore previous behavior that caused the events
|
||||
; action to not return a response in certain
|
||||
; circumstances. Defaults to 'no'.
|
||||
|
||||
;
|
||||
; Display certain channel variables every time a channel-oriented
|
||||
; event is emitted:
|
||||
;
|
||||
; Note that this does incur a performance penalty and should be avoided if possible.
|
||||
;
|
||||
;channelvars = var1,var2,var3
|
||||
|
||||
; debug = on ; enable some debugging info in AMI messages (default off).
|
||||
; Also accessible through the "manager debug" CLI command.
|
||||
|
||||
; authtimeout specifies the maximum number of seconds a client has to
|
||||
; authenticate. If the client does not authenticate beofre this timeout
|
||||
; expires, the client will be disconnected. (default: 30 seconds)
|
||||
|
||||
;authtimeout = 30
|
||||
|
||||
; authlimit specifies the maximum number of unauthenticated sessions that will
|
||||
; be allowed to connect at any given time.
|
||||
|
||||
;authlimit = 50
|
||||
|
||||
;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
|
||||
;
|
||||
; disabledevents specifies AMI events which should be completely globally disabled.
|
||||
; These events will not be available to any AMI listeners. Use this to disable
|
||||
; frequent events which are not desired for any listeners. Default
|
||||
; is no events are globally disabled. Event names are case-sensitive.
|
||||
; Events disabled in stasis.conf do not also need to be disabled here.
|
||||
; If you don't want to completely disable an AMI event, also consider the
|
||||
; filter option available on a per-manager user basis to block unwanted
|
||||
; events from being received in a stream (as opposed to this option which
|
||||
; would prevent specified events from being generated at all).
|
||||
|
||||
;disabledevents = Newexten,Varset
|
||||
|
||||
;[mark]
|
||||
;secret = mysecret
|
||||
;deny=0.0.0.0/0.0.0.0
|
||||
;permit=209.16.236.73/255.255.255.0
|
||||
;acl=named_acl_example ; use a named ACL from acl.conf
|
||||
;
|
||||
;
|
||||
;setvar=PBXACCOUNT=edvina
|
||||
; The setvar option defines channel variables that will be set when this account
|
||||
; originates a call. You can define multiple setvar= commands for one manager
|
||||
; user.
|
||||
;
|
||||
|
||||
;--
|
||||
-- eventfilter --------------------------------------------------------
|
||||
Include and/or exclude events for this user.
|
||||
|
||||
There are two ways to use this feature... Legacy and Advanced.
|
||||
|
||||
Legacy Event Filtering:
|
||||
|
||||
This is the original method of filtering events. It's no longer
|
||||
recommended but still supported for backwards compatibility. The filter
|
||||
is a regular expression, optionally prefixed with an exclamation point (!).
|
||||
The regular expression is applied to the entire payload of every event.
|
||||
If any part of the event payload matches, the event is included. If the
|
||||
first character of the filter is an exclamation point (!), the event is
|
||||
excluded. On a busy system, this is a resource intensive process and the
|
||||
reason it's no longer recommended.
|
||||
|
||||
Another issue with legacy filtering is that regexes are very sensitive to
|
||||
whitespace and separators. "Event:Newchannel" will NOT work because of
|
||||
the missing space after the ':'. Neither will "Event: Newchannel" or
|
||||
"Event Newchannel" because of the extra space in the first expression
|
||||
and the missing ':' in the second.
|
||||
|
||||
Advanced Event Filtering:
|
||||
|
||||
Advanced filtering still allows you to use regular expressions but adds
|
||||
the ability to pre-select certain events and constrain the regular
|
||||
expression to matching the contents of a specific event header.
|
||||
The syntax is:
|
||||
|
||||
eventfilter(<match_criteria>) = [ <match_expression> ]
|
||||
|
||||
<match_criteria> : [ action(include|exclude) | name(<event_name>) |
|
||||
header(<header_name>) | method(<match_method>) ][, ...]
|
||||
|
||||
You can specify at most one of each of the following in any order,
|
||||
separated by commas.
|
||||
|
||||
action(include|exclude): Default: 'include'. Instead of using '!' to
|
||||
exclude matching events, specify 'action(exclude)'. Although the
|
||||
default is "include" if "action" isn't specified, adding
|
||||
"action(include)" will help with readability.
|
||||
|
||||
name(<event_name>): Include only events with a name exactly matching
|
||||
<event_name>. This is actually implemented using the "hash" of the
|
||||
event names and is therefore much more efficient than using a regular
|
||||
expression.
|
||||
|
||||
header(<header_name>): Include only events that have a header exactly
|
||||
matching <header_name>. Additionally, the data to be searched will
|
||||
be constrained to the value of this header instead of the entire
|
||||
event payload.
|
||||
|
||||
method(regex | exact | starts_with | ends_with | contains | none ):
|
||||
How should <match_expression> be applied to the event data? The data may
|
||||
be the entire event payload or, if header(<header_name>) was used, the
|
||||
value of that specific header. If 'action(exclude)' was specified, a
|
||||
"match" here will cause the event to be excluded instead of included.
|
||||
|
||||
regex: As a regular expression that, if matched anywhere in the
|
||||
data, constitutes a match.
|
||||
|
||||
exact: As a simple string that must match all of the data.
|
||||
Probably only useful when the data is constrained to a specific header
|
||||
and the data itself is a simple value.
|
||||
|
||||
starts_with: As a simple string that, if found at the beginning of the
|
||||
data, constitutes a match.
|
||||
|
||||
ends_with: As a simple string that, if found at the end of the data,
|
||||
constitutes a match.
|
||||
|
||||
contains: As a simple string that, if found anywhere in the data,
|
||||
constitutes a match.
|
||||
|
||||
none: Ignore <match_expression> altogether. This is the default
|
||||
because the majority of use cases for event filtering involve
|
||||
including or excluding events by event name without regard to the
|
||||
event payload. In this case, you can just leave <match_expression>
|
||||
empty.
|
||||
|
||||
TIP: Although match criteria order doesn't matter to Asterisk, using the
|
||||
order shown can help you read them. For instance...
|
||||
eventfilter(action(exclude),name(Newchannel),header(Channel),method(starts_with)) = Local/
|
||||
...means "Exclude Newchannel events with a Channel header that starts with Local/"
|
||||
|
||||
Event Filter Processing Ordering:
|
||||
|
||||
Both Legacy and Advanced filter entries are processed as follows:
|
||||
- If no filters are configured, all events are reported as normal.
|
||||
|
||||
- If there are 'include' filters only, an event that matches ANY filter
|
||||
will be reported.
|
||||
|
||||
- If there are 'exclude' filters only, an event that matched ANY filter
|
||||
will be excluded.
|
||||
|
||||
- If there are both 'include' and 'exclude' filters, all 'include' filters
|
||||
are matched first, then the 'exclude' filters will be applied to the
|
||||
resulting set.
|
||||
--;
|
||||
|
||||
; ----- Legacy Filter Examples:
|
||||
; Every legacy filter expression results in regular expression matching
|
||||
; on the entire payload of every event even if no regular expression
|
||||
; meta-characters were used.
|
||||
|
||||
; Only include Newchannel events
|
||||
;eventfilter=Event: Newchannel
|
||||
|
||||
; Only include events of any type with a "Channel" header that matches
|
||||
; the regular expression.
|
||||
;eventfilter=Channel: (PJ)?SIP/(james|jim|john)-
|
||||
|
||||
; Only include Newchannel events which contain a "Channel" header
|
||||
; for PJSIP channels.
|
||||
;eventfilter = Event: Newchannel.*Channel: PJSIP/
|
||||
|
||||
; Only include Newchannel or Hangup events whose "Channel" header doesn't start
|
||||
; with Local/. All other events are filtered out.
|
||||
;eventfilter = Event: Newchannel
|
||||
;eventfilter = Event: Hangup
|
||||
;eventfilter = !Channel: Local/
|
||||
; This causes three regexes to be searched for on every event!
|
||||
|
||||
; Include ALL events EXCEPT Newchannel and Hangup events whose "Channel" header
|
||||
; starts with Local/.
|
||||
; Other Newchannel and Hangup events ARE reported.
|
||||
;eventfilter = !Event: (Newchannel|Hangup).*Channel: Local/
|
||||
; This causes one regex to be searched for but it's a fairly expensive
|
||||
; one.
|
||||
|
||||
; Exclude any event that has a "Channel" header whose value starts with "DADHI/"
|
||||
;eventfilter=!Channel: DAHDI/
|
||||
|
||||
; ----- Advanced Filter Examples:
|
||||
; All of these examples are WAY more efficient than their legacy
|
||||
; equivalents.
|
||||
|
||||
; Include only "Newchannel" events.
|
||||
; eventfilter(name(Newchannel)) =
|
||||
; Note that there's nothing to the right of the '=' because you don't care
|
||||
; what's in the payload. You still need the '=' though or the config file
|
||||
; parser will complain. 'action(include)' and 'method(none)' are implied.
|
||||
|
||||
; Only include events of any type with a "Channel" header that matches
|
||||
; the regular expression.
|
||||
;eventfilter(action(include),header(Channel),method(regex)) = (PJ)?SIP/(james|jim|john)-
|
||||
; We're still testing every event but because we only apply the regex to the
|
||||
; value of the Channel header this is still more efficient than using the
|
||||
; legacy method.
|
||||
|
||||
; Only include Newchannel and Hangup events whose "Channel" header doesn't
|
||||
; start with Local/.
|
||||
;eventfilter(action(include),name(Newchannel)) =
|
||||
;eventfilter(action(include),name(Hangup)) =
|
||||
;eventfilter(header(Channel),action(exclude),method(starts_with)) = Local/
|
||||
; No regexes at all. We do the hash match against the event names first and
|
||||
; only matching events are passed to the next filter.
|
||||
; Then, in only those events, we look for a Channel header by exact match, then
|
||||
; look for 'Local/' at the beginning of its value.
|
||||
|
||||
; Include ALL events EXCEPT Newchannel and Hangup events whose "Channel" header
|
||||
; starts with Local/.
|
||||
; Other Newchannel and Hangup events ARE reported.
|
||||
;eventfilter(action(exclude),name(Newchannel),header(Channel),method(starts_with)) = Local/
|
||||
;eventfilter(action(exclude),name(Hangup),header(Channel),method(starts_with)) = Local/
|
||||
; Again, no regexes. Very efficient because the filters start by looking for
|
||||
; a hash match on the event name.
|
||||
|
||||
; Exclude any event that has a "Channel" header whose value starts with "DADHI/"
|
||||
;eventfilter(action(exclude),header(Channel),method(starts_with)) = DAHDI/
|
||||
; We're still testing every event but there are no regexes involved at all.
|
||||
|
||||
;--
|
||||
-- eventfilter end ----------------------------------------------------
|
||||
--;
|
||||
|
||||
;
|
||||
; 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
|
||||
;
|
||||
;displayconnects = yes ; Display on CLI user login/logoff
|
||||
;
|
||||
; Authorization for various classes
|
||||
;
|
||||
; Read authorization permits you to receive asynchronous events, in general.
|
||||
; Write authorization permits you to send commands and get back responses. The
|
||||
; following classes exist:
|
||||
;
|
||||
; all - All event classes below (including any we may have missed).
|
||||
; system - General information about the system and ability to run system
|
||||
; management commands, such as Shutdown, Restart, and Reload. This
|
||||
; class also includes dialplan manipulation actions such as
|
||||
; DialplanExtensionAdd and DialplanExtensionRemove.
|
||||
; call - Information about channels and ability to set information in a
|
||||
; running channel.
|
||||
; log - Logging information. Read-only. (Defined but not yet used.)
|
||||
; verbose - Verbose information. Read-only. (Defined but not yet used.)
|
||||
; agent - Information about queues and agents and ability to add queue
|
||||
; members to a queue.
|
||||
; user - Permission to send and receive UserEvent.
|
||||
; config - Ability to read and write configuration files.
|
||||
; command - Permission to run CLI commands. Write-only.
|
||||
; dtmf - Receive DTMF events. Read-only.
|
||||
; reporting - Ability to get information about the system.
|
||||
; cdr - Output of cdr_manager, if loaded. Read-only.
|
||||
; dialplan - Receive NewExten and VarSet events. Read-only.
|
||||
; originate - Permission to originate new calls. Write-only.
|
||||
; agi - Output AGI commands executed. Input AGI command to execute.
|
||||
; cc - Call Completion events. Read-only.
|
||||
; aoc - Permission to send Advice Of Charge messages and receive Advice
|
||||
; - Of Charge events.
|
||||
; test - Ability to read TestEvent notifications sent to the Asterisk Test
|
||||
; Suite. Note that this is only enabled when the TEST_FRAMEWORK
|
||||
; compiler flag is defined.
|
||||
; security - Security Events. Read-only.
|
||||
; message - Permissions to send out of call messages. Write-only
|
||||
;
|
||||
;read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
|
||||
;write = system,call,agent,user,config,command,reporting,originate,message
|
||||
45
MySQL_conf_pbx/test1/conf/asterisk/meetme.conf
Executable file
45
MySQL_conf_pbx/test1/conf/asterisk/meetme.conf
Executable file
@ -0,0 +1,45 @@
|
||||
;
|
||||
; 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-DAHDI 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.
|
||||
;
|
||||
; Conferences may be scheduled from realtime?
|
||||
;schedule=yes
|
||||
;
|
||||
; Update realtime when members login/out of the conference
|
||||
;logmembercount=no
|
||||
;
|
||||
; How much earlier than the start time should we allow participants to
|
||||
; join the conference (in seconds)?
|
||||
;fuzzystart=300
|
||||
;
|
||||
; If the participants join too early, how much time should we allow
|
||||
; to tell them that they've joined too early, rather than telling them
|
||||
; the conference simply doesn't exist (in seconds)?
|
||||
;earlyalert=3600
|
||||
;
|
||||
; How many seconds before the scheduled end of the conference should
|
||||
; the participants be warned?
|
||||
;endalert=120
|
||||
;
|
||||
[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
|
||||
142
MySQL_conf_pbx/test1/conf/asterisk/mgcp.conf
Executable file
142
MySQL_conf_pbx/test1/conf/asterisk/mgcp.conf
Executable file
@ -0,0 +1,142 @@
|
||||
;
|
||||
; MGCP Configuration for Asterisk
|
||||
;
|
||||
[general]
|
||||
;port = 2427
|
||||
;bindaddr = 0.0.0.0
|
||||
|
||||
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of these parameters.
|
||||
;tos=cs3 ; Sets TOS for signaling packets.
|
||||
;tos_audio=ef ; Sets TOS for RTP audio packets.
|
||||
;cos=3 ; Sets 802.1p priority for signaling packets.
|
||||
;cos_audio=5 ; Sets 802.1p priority for RTP audio packets.
|
||||
|
||||
; --------------------- DIGIT TIMEOUTS ----------------------------
|
||||
firstdigittimeout = 30000 ; default 16000 = 16s
|
||||
gendigittimeout = 10000 ; default 8000 = 8s
|
||||
matchdigittimeout = 5000 ; defaults 3000 = 3s
|
||||
|
||||
; ----------------------------- 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.
|
||||
|
||||
; jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set.
|
||||
; The option represents the number of milliseconds by which the new
|
||||
; jitter buffer will pad its size. the default is 40, so without
|
||||
; modification, the new jitter buffer will set its size to the jitter
|
||||
; value plus 40 milliseconds. increasing this value may help if your
|
||||
; network normally has low jitter, but occasionally has spikes.
|
||||
|
||||
; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
|
||||
; ----------------------------------------------------------------------------------
|
||||
|
||||
;[dlinkgw]
|
||||
;host = 192.168.0.64
|
||||
;context = default
|
||||
;directmedia = 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
|
||||
;directmedia = no
|
||||
;transfer = no
|
||||
;dtmfmode = inband
|
||||
;setvar=one=1 ; Set channel variables associated with this incoming line
|
||||
;setvar=two=2
|
||||
;line => aaln/1 ; now lets save this config to line1 aka aaln/1
|
||||
;clearvars=all ; Reset list of variables back to none
|
||||
;callerid = "Duane Cox" <456> ; now lets setup line 2
|
||||
;callwaiting = no
|
||||
;callreturn = yes
|
||||
;cancallforward = yes
|
||||
;directmedia = no
|
||||
;transfer = no
|
||||
;dtmfmode = inband
|
||||
;line => aaln/2 ; now lets save this config to line2 aka aaln/2
|
||||
|
||||
; PacketCable
|
||||
;[sbv5121e-mta.test.local]
|
||||
;host = 10.0.1.3
|
||||
;callwaiting = 1
|
||||
;canreinvite = 1
|
||||
;dtmfmode = rfc2833
|
||||
;amaflags = BILLING
|
||||
;ncs = yes ; Use NCS 1.0 signalling
|
||||
;pktcgatealloc = yes ; Allocate DQOS gate on CMTS
|
||||
;hangupongateremove = yes ; Hangup the channel if the CMTS close the gate
|
||||
;callerid = 3622622225
|
||||
;accountcode = test-3622622225
|
||||
;line = aaln/1
|
||||
;callerid = 3622622226
|
||||
;accountcode = test-3622622226
|
||||
;line = aaln/2
|
||||
218
MySQL_conf_pbx/test1/conf/asterisk/minivm.conf
Executable file
218
MySQL_conf_pbx/test1/conf/asterisk/minivm.conf
Executable file
@ -0,0 +1,218 @@
|
||||
;
|
||||
; Mini-Voicemail Configuration
|
||||
; for the MiniVM set of applications
|
||||
;
|
||||
; MiniVM consists of the following dialplan applications
|
||||
; MinivmGreet Play personal prompts for busy/unavailable/temporary messages or default prompts
|
||||
; MinivmRecord Record voice prompts to account directory or default directory
|
||||
; MinivmNotify Notify via e-mail or pager - with or without attachment
|
||||
; MinivmDelete Delete voice prompt (filename as argument or channel variable set by MinivmRecord)
|
||||
;
|
||||
; MiniVM works without accounts (just give e-mail address as argument) or with accounts in
|
||||
; this configuration file or realtime. The idea is to build voicemail as building blocks so that
|
||||
; a complete and adaptive voicemail system can be built in the dialplan
|
||||
;
|
||||
; ----------------------------- Variables to use in subject, from and message body ------------------
|
||||
; Change the from, body and/or subject, variables:
|
||||
; MVM_NAME, MVM_DUR, MVM_MSGNUM, VM_MAILBOX, MVM_CALLERID, MVM_CIDNUM,
|
||||
; MVM_CIDNAME, MVM_DATE
|
||||
;
|
||||
; In addition to these, you can set the MVM_COUNTER channel variable in the
|
||||
; dial plan and use that as a counter. It will also be used in the file name
|
||||
; of the media file attached to the message
|
||||
;
|
||||
; Note: The emailbody config row can only be up to 512 characters due to a
|
||||
; limitation in the Asterisk configuration subsystem.
|
||||
; To create longer mails, use the templatefile option when creating the template
|
||||
; ---------------------------------------------------------------------------------------------------
|
||||
|
||||
[general]
|
||||
; Default format for storing and sending voicemail
|
||||
; (only one format. Can also be set on a per-mailbox level)
|
||||
format=wav49
|
||||
;format=gsm
|
||||
;
|
||||
;Turn on logfile with the following syntax. One line per voicemail received
|
||||
;with minivmRecord()
|
||||
; Mailbox:domain:macrocontext:exten:priority:callerchan:callerid:origdate:origtime:duration:durationstatus:accountcode
|
||||
;logfile=/var/log/asterisk/minivm.log
|
||||
; Who the e-mail notification should appear to come from
|
||||
serveremail=asterisk
|
||||
;serveremail=asterisk@asterisk.example.com
|
||||
; Minimum length of a voicemail message in seconds for the message to be kept
|
||||
; The default is no minimum.
|
||||
;minmessage=3
|
||||
; 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
|
||||
; How long greeting messages (busy/unavailable/temp/name) are allowed to be, in seconds
|
||||
;maxgreet=120
|
||||
; If you need to have an external program, i.e. /usr/bin/myapp called when a
|
||||
; voicemail is received by the server. The arguments are
|
||||
;
|
||||
; <app> <username@domain> <callerid-name> <callerid-number>
|
||||
;
|
||||
;externnotify=/usr/bin/myapp
|
||||
; The character set for voicemail messages can be specified here
|
||||
;charset=ISO-8859-1
|
||||
; Skip the "[PBX]:" string from the message title
|
||||
;pbxskip=yes
|
||||
; Change the From: string
|
||||
|
||||
; You can override the default program to send e-mail if you wish, too
|
||||
; This is used both for e-mail and pager messages
|
||||
;mailcmd=/usr/sbin/sendmail -t
|
||||
;
|
||||
; -------------Default e-mail message template (used if no templates are used) ------
|
||||
;fromstring=The Asterisk PBX
|
||||
;
|
||||
|
||||
;emailsubject=[PBX]: New message ${MVM_COUNTER} 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 ${MVM_NAME}:\n\n\tjust wanted to let you know you were just left a ${MVM_DUR} long message (number ${MVM_COUNTER})\nin mailbox ${MVM_MAILBOX} from ${MVM_CALLERID}, on ${MVM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; -------------Default pager message template (used if no templates are used) ------
|
||||
; 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 ${MVM_COUNTER}
|
||||
;pagerbody=New ${MVM_DUR} long msg in box ${MVM_MAILBOX}\nfrom ${MVM_CALLERID}, on ${MVM_DATE}
|
||||
;
|
||||
;
|
||||
; -------------Timezone definitions (used in voicemail accounts) -------------------
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; The message here is not used in mini-voicemail, but stays for
|
||||
; backwards compatibility
|
||||
|
||||
[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'
|
||||
|
||||
; ---------------------- Message body templates---------------------
|
||||
; [template-name] ; "template-" is a verbatim marker
|
||||
; fromaddress = Your Friendly Asterisk Server
|
||||
; fromemail = asteriskvm@digium.com
|
||||
; subject = <string>
|
||||
; attachmedia = yes | no ; Add media file as attachment?
|
||||
; dateformat = <formatstring> ; See above
|
||||
; charset = <charset> ; Mime charset definition for e-mail messages
|
||||
; locale = <locale> ; Locale for LC_TIME - to get weekdays in local language
|
||||
; ; See your O/S documentation for proper settings for setlocale()
|
||||
; templatefile = <filename> ; File name (relative to Asterisk configuration directory,
|
||||
; or absolute
|
||||
; messagebody = Format ; Message body definition with variables
|
||||
;
|
||||
[template-sv_SE_email]
|
||||
messagebody=Hej ${MVM_NAME}:\n\n\tDu har fått ett röstbrevlåde-meddelande från ${MVM_CALLERID}.\nLängd: ${MVM_DUR}\nMailbox ${MVM_MAILBOX}\nDatum: ${MVM_DATE}. \nMeddelandet bifogas det här brevet. Om du inte kan läsa det, kontakta intern support. \nHälsningar\n\n\t\t\t\t--Asterisk\n
|
||||
subject = Du har fått röstmeddelande (se bilaga)
|
||||
fromemail = swedish-voicemail-service@stockholm.example.com
|
||||
fromaddress = Asterisk Röstbrevlåda
|
||||
charset=iso-8859-1
|
||||
attachmedia=yes
|
||||
dateformat=%A, %d %B %Y at %H:%M:%S
|
||||
locale=sv_SE
|
||||
|
||||
[template-en_US_email]
|
||||
messagebody=Dear ${MVM_NAME}:\n\n\tjust wanted to let you know you were just left a ${MVM_DUR} long message \nin mailbox ${MVM_MAILBOX} from ${MVM_CALLERID}, on ${MVM_DATE}, so you might\nwant to check it when you get a chance. Thanks!\n\n\t\t\t\t--Asterisk\n
|
||||
subject = New voicemail
|
||||
charset=ascii
|
||||
attachmedia=yes
|
||||
dateformat=%A, %B %d, %Y at %r
|
||||
|
||||
;[template-sv_SE_pager]
|
||||
;templatefile = templates/pager_sv_se.txt
|
||||
;subject = Du har fått voicemail
|
||||
;charset=iso-8859-1
|
||||
;attachmedia=no
|
||||
;locale=sv_SE
|
||||
|
||||
;[template-nb_NO_email]
|
||||
;templatefile = templates/email_nb_NO.txt
|
||||
;subject = Du har fått voicemail
|
||||
;charset=iso-8859-1
|
||||
;locale=nb_NO
|
||||
|
||||
;[template-en_US_email_southern]
|
||||
;templatefile = templates/email_en_US.txt
|
||||
;subject = Y'all got voicemail, honey!
|
||||
;charset=ascii
|
||||
|
||||
;[template-en_UK_email]
|
||||
;templatefile = templates/email_en_us.txt
|
||||
;subject = Dear old chap, you've got an electronic communique
|
||||
;charset=ascii
|
||||
|
||||
; ---------------------- Mailbox accounts --------------------------
|
||||
;Template for mailbox definition - all options
|
||||
;
|
||||
; [username@domain] ; Has to be unique within domain (MWM_USERNAME, MWM_DOMAIN)
|
||||
; etemplate = sv_SE ; Email template from [templates]
|
||||
; ptemplate = en_US ; Pager template from [templates]
|
||||
; email = userpart@domain ; Extra e-mail address (overrides mailbox name)
|
||||
; pager = pageremail@domain ; E-mail address for pager messages
|
||||
; fullname = Mark Spencer ; Full name (MWM_NAME)
|
||||
; options = ; E-mail options, se below
|
||||
; accountcode = ; Account code (read in dialplan function MINIVMACCOUNT)
|
||||
; pincode = ; Numeric pin code (read in dialplan function MINIVMACCOUNT)
|
||||
; timezone=se ; Time zone
|
||||
; serveremail = asterisk@digium.com ; Who to send email from (overrides template if set)
|
||||
; externnotify = <application> ; External application for this account
|
||||
; volgain = ; Volume gain setting (requires "sox")
|
||||
; setvar=SERVICENAME=Voop.com Networks ; Extra variables to use in template
|
||||
|
||||
; Remember that you can use Asterisk Configuration Templates (ACT)
|
||||
|
||||
; [template@example.com](!) ; Declare template
|
||||
; setvar=customerdomain=example.com
|
||||
; setvar=customerclass=gold
|
||||
; etemplate = sv_se_email
|
||||
; serveremail = voicemail@example.com
|
||||
|
||||
; [user2@example.com](template@example.com) ; Declare user2 account using template
|
||||
; fullname = Olle E. Johansson
|
||||
; ; User inherits everything from template
|
||||
60
MySQL_conf_pbx/test1/conf/asterisk/modules.conf
Executable file
60
MySQL_conf_pbx/test1/conf/asterisk/modules.conf
Executable file
@ -0,0 +1,60 @@
|
||||
;
|
||||
; Asterisk configuration file
|
||||
;
|
||||
; Module Loader configuration file
|
||||
;
|
||||
|
||||
[modules]
|
||||
autoload=yes
|
||||
noload => pbx_lua.so
|
||||
|
||||
|
||||
load => res_pjsip.so
|
||||
load => chan_pjsip.so
|
||||
;
|
||||
; Any modules that need to be loaded before the Asterisk core has been
|
||||
; initialized (just after the logger initialization) can be loaded
|
||||
; using 'preload'. 'preload' forces a module and the modules it
|
||||
; is known to depend upon to be loaded earlier than they normally get
|
||||
; loaded.
|
||||
;
|
||||
; NOTE: There is no good reason left to use 'preload' anymore. It was
|
||||
; historically required to preload realtime driver modules so you could
|
||||
; map Asterisk core configuration files to Realtime storage.
|
||||
; This is no longer needed.
|
||||
;
|
||||
;preload = your_special_module.so
|
||||
;
|
||||
; If you want Asterisk to fail if a module does not load, then use
|
||||
; the "require" keyword. Asterisk will exit with a status code of 2
|
||||
; if a required module does not load.
|
||||
;
|
||||
;require = chan_pjsip.so
|
||||
;
|
||||
; If you want you can combine with preload
|
||||
; preload-require = your_special_module.so
|
||||
;
|
||||
;load = res_musiconhold.so
|
||||
;
|
||||
; Load one of: alsa, or console (portaudio).
|
||||
; By default, load chan_console only (automatically).
|
||||
;
|
||||
noload = chan_alsa.so
|
||||
;noload = chan_console.so
|
||||
;
|
||||
; Do not load res_hep and kin unless you are using HEP monitoring
|
||||
; <http://sipcapture.org> in your network.
|
||||
;
|
||||
noload = res_hep.so
|
||||
noload = res_hep_pjsip.so
|
||||
noload = res_hep_rtcp.so
|
||||
;
|
||||
; Do not load chan_sip by default, it may conflict with res_pjsip.
|
||||
noload = chan_sip.so
|
||||
;
|
||||
; Load one of the voicemail modules as they are mutually exclusive.
|
||||
; By default, load app_voicemail only (automatically).
|
||||
;
|
||||
;noload = app_voicemail.so
|
||||
noload = app_voicemail_imap.so
|
||||
noload = app_voicemail_odbc.so
|
||||
99
MySQL_conf_pbx/test1/conf/asterisk/motif.conf
Executable file
99
MySQL_conf_pbx/test1/conf/asterisk/motif.conf
Executable file
@ -0,0 +1,99 @@
|
||||
; Sample configuration file for chan_motif
|
||||
|
||||
; Transports
|
||||
;
|
||||
; There are three different transports and protocol derivatives supported by chan_motif. They are in order of preference:
|
||||
; Jingle using ICE-UDP, Google Jingle, and Google-V1.
|
||||
;
|
||||
; Jingle as defined in XEP-0166 supports the widest range of features. It is referred to as "ice-udp" in this file. This is
|
||||
; the specification that Jingle clients implement.
|
||||
;
|
||||
; Google Jingle follows the Jingle specification for signaling but uses a custom transport for media. It is supported
|
||||
; by the Google Talk Plug-in in Gmail and by some other Jingle clients. It is referred to as "google" in this file.
|
||||
;
|
||||
; Google-V1 is the original Google Talk signaling protocol which uses an initial preliminary version of Jingle.
|
||||
; It also uses the same custom transport as Google Jingle for media. It is supported by Google Voice, some other Jingle
|
||||
; clients, and the Windows Google Talk client. It is referred to as "google-v1" in this file.
|
||||
;
|
||||
; Incoming sessions will automatically switch to the correct transport once it has been determined.
|
||||
;
|
||||
; Outgoing sessions are capable of determining if the target is capable of Jingle or a Google transport if the target is
|
||||
; in the roster. Unfortunately it is not possible to differentiate between a Google Jingle or Google-V1 capable resource
|
||||
; until a session initiate attempt occurs. If a resource is determined to use a Google transport it will initially use
|
||||
; Google Jingle but will fall back to Google-V1 if required.
|
||||
;
|
||||
; If an outgoing session attempt fails due to failure to support the given transport chan_motif will fall back in preference
|
||||
; order listed at the beginning of this document until all transports have been exhausted.
|
||||
;
|
||||
|
||||
; Dialing and Resource Selection Strategy
|
||||
;
|
||||
; Placing a call through an endpoint can be accomplished using the following dial string:
|
||||
;
|
||||
; Motif/<endpoint name>/<target>
|
||||
;
|
||||
; When placing an outgoing call through an endpoint the requested target is searched for in the roster list. If present
|
||||
; the first Jingle or Google Jingle capable resource is specifically targetted. Since the capabilities of the resource are
|
||||
; known the outgoing session initiation will disregard the configured transport and use the determined one.
|
||||
;
|
||||
; If the target is not found in the roster the target will be used as-is and a session will be initiated using the
|
||||
; transport specified in this configuration file. If no transport has been specified the endpoint defaults to ice-udp.
|
||||
;
|
||||
|
||||
; Video Support
|
||||
;
|
||||
; Support for video does not need to be explicitly enabled. Configuring any video codec on your endpoint will
|
||||
; automatically enable it.
|
||||
|
||||
; DTMF
|
||||
;
|
||||
; The only supported method for DTMF is RFC2833. This is always enabled on audio streams and negotiated if possible.
|
||||
|
||||
; Incoming Calls
|
||||
;
|
||||
; Incoming calls will first look for the extension matching the name of the endpoint in the configured context. If
|
||||
; no such extension exists the call will automatically fall back to the "s" extension.
|
||||
|
||||
; CallerID
|
||||
;
|
||||
; The incoming caller id number is populated with the username of the caller and the name is populated with the full
|
||||
; identity of the caller. If you would like to perform authentication or filtering of incoming calls it is recommended
|
||||
; that you use these fields to do so.
|
||||
;
|
||||
; Outgoing caller id can *not* be set.
|
||||
;
|
||||
; IMPORTANT: Multiple endpoints using the same connection is *NOT* supported. Doing so may result in broken calls.
|
||||
|
||||
; Default template for endpoints, to be included in their definition
|
||||
[default](!)
|
||||
disallow=all
|
||||
allow=ulaw
|
||||
allow=h264
|
||||
context=incoming-motif ; Default context that incoming sessions will land in
|
||||
|
||||
;maxicecandidates = 10 ; Maximum number of ICE candidates we will offer
|
||||
;maxpayloads = 30 ; Maximum number of payloads we will offer
|
||||
|
||||
; Sample configuration entry for Jingle
|
||||
;[jingle-endpoint](default)
|
||||
;transport=ice-udp ; Change the default protocol of outgoing sessions to Jingle ICE-UDP
|
||||
;allow=g722 ; Add G.722 as an allowed format since the other side may support it
|
||||
;connection=local-jabber-account ; Connection to accept traffic on and send traffic out
|
||||
;accountcode=jingle ; Account code for CDR purposes
|
||||
|
||||
; Sample configuration entry for Google Talk
|
||||
[gtalk-endpoint](default)
|
||||
;transport=google ; Since this is a Google Talk endpoint we want to offer Google Jingle for outgoing sessions
|
||||
;connection=gtalk-account
|
||||
|
||||
; Sample configuration entry for Google Voice
|
||||
;[gvoice](default)
|
||||
;transport=google-v1 ; Google Voice uses the original Google Talk protocol
|
||||
;connection=gvoice-account
|
||||
|
||||
; Additional options
|
||||
; callgroup
|
||||
; pickupgroup
|
||||
; language
|
||||
; musicclass
|
||||
; parkinglot
|
||||
156
MySQL_conf_pbx/test1/conf/asterisk/musiconhold.conf
Executable file
156
MySQL_conf_pbx/test1/conf/asterisk/musiconhold.conf
Executable file
@ -0,0 +1,156 @@
|
||||
;
|
||||
; Music on Hold -- Sample Configuration
|
||||
;
|
||||
[general]
|
||||
;cachertclasses=yes ; use 1 instance of moh class for all users who are using it,
|
||||
; decrease consumable cpu cycles and memory
|
||||
; disabled by default
|
||||
|
||||
;preferchannelclass=yes ; Prefer the musicclass as defined by CHANNEL(musicclass),
|
||||
; over a class set by an application (e.g. a musicclass set on a queue).
|
||||
; Defaults to yes.
|
||||
|
||||
; valid mode options:
|
||||
; files -- read files from a directory in any Asterisk supported
|
||||
; media format
|
||||
; playlist -- provide a fixed list of filenames or HTTP(S) URLs to play
|
||||
; 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.
|
||||
;
|
||||
; The path specified can be either an absolute path (starts with '/'),
|
||||
; or a relative path; relative paths are interpreted as being relative
|
||||
; to the 'astdatalibdir' in asterisk.conf, which defaults to
|
||||
; /var/lib/asterisk.
|
||||
;
|
||||
; NOTE:
|
||||
; If you are not using "autoload" in modules.conf, then you
|
||||
; must ensure that the format modules for any formats you wish
|
||||
; 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.
|
||||
;
|
||||
; =========
|
||||
; Playlist (native) music on hold
|
||||
; =========
|
||||
;
|
||||
; This mode is similar to 'files' mode in that it plays through a list
|
||||
; of files, but instead of scanning a directory the files are
|
||||
; explicitly configured using one or more 'entry' options.
|
||||
;
|
||||
; Each entry must be one of:
|
||||
;
|
||||
; * An absolute path to the file to be played, without an extension.
|
||||
; * An HTTP(S) URL
|
||||
;
|
||||
; The entries are played in the order in which they appear in the
|
||||
; configuration. The 'sort' option is not used for this mode.
|
||||
;
|
||||
|
||||
[default]
|
||||
mode=files
|
||||
directory=moh
|
||||
;
|
||||
;[native-random]
|
||||
;mode=files
|
||||
;directory=moh
|
||||
;digit=# ; If this option is set for a class, then when callers are
|
||||
; ; listening to music on hold, they can press this digit, and
|
||||
; ; they will switch to listening to this music class.
|
||||
;announcement=queue-thankyou ;If this option is set for a class, then
|
||||
; ; when callers get put on hold, the specified sound will be
|
||||
; ; be played to them. Also, if using modes that Asterisk
|
||||
; ; controls the playlist for (files, mp3, etc), the same
|
||||
; ; sound will also be played between MOH songs.
|
||||
;sort=random ; Sort the files in random order. Other sort options are:
|
||||
; ; 'alpha' and 'randstart'. If 'alpha', the files are sorted
|
||||
; ; in alphabetical order. If 'randstart', the files are sorted
|
||||
; ; in alphabetical order as well, but the first file is chosen
|
||||
; ; at random. If unspecified, the sort order is undefined.
|
||||
;loop_last=no ; If enabled, once the end of the directory is reached,
|
||||
; the last file played will be looped perpetually, rather than
|
||||
; starting over at the beginning again.
|
||||
; Can be used with sort=alpha or randstart so you can control
|
||||
; which file gets looped (the last one sorted alphabetically).
|
||||
; (If sort=alpha, all files will be played at least once, but
|
||||
; this may not be true with sort=randstart.)
|
||||
; Default is no.
|
||||
;answeredonly=yes ; Only allow answered channels to have music on hold.
|
||||
; Enabling this will prevent MOH on unanswered channels.
|
||||
; (default: "no")
|
||||
|
||||
;[native-alphabetical]
|
||||
;mode=files
|
||||
;directory=moh
|
||||
;sort=alpha ; Sort the files in alphabetical order.
|
||||
|
||||
;[sales-queue-hold]
|
||||
;mode=playlist
|
||||
;entry=/var/lib/asterisk/sounds/en/yourcallisimportant
|
||||
;entry=http://example.local/sales-queue-hold-music.ulaw
|
||||
;entry=/var/lib/asterisk/moh/macroform-robot_dity
|
||||
|
||||
; =========
|
||||
; 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 ; The 'format' option specifies the audio format that the
|
||||
; ; 'application' will provide to Asterisk. In this example,
|
||||
; ; streamplayer will output ulaw samples so we need to set the
|
||||
; ; format to ulaw so that Asterisk knows how to interpret the
|
||||
; ; incoming audio.
|
||||
|
||||
; 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
|
||||
|
||||
; By default, when res_musiconhold reloads or unloads, it sends a HUP signal
|
||||
; to custom applications (and all descendants), waits 100ms, then sends a
|
||||
; TERM signal, waits 100ms, then finally sends a KILL signal. An application
|
||||
; which is interacting with an external device and/or spawns children of its
|
||||
; own may not be able to exit cleanly in the default times, expecially if sent
|
||||
; a KILL signal, or if it's children are getting signals directly from
|
||||
; res_musiconhoild. To allow extra time, the 'kill_escalation_delay'
|
||||
; class option can be used to set the number of milliseconds res_musiconhold
|
||||
; waits before escalating kill signals, with the default being the current
|
||||
; 100ms. To control to whom the signals are sent, the "kill_method"
|
||||
; class option can be set to "process_group" (the default, existing behavior),
|
||||
; which sends signals to the application and its descendants directly, or
|
||||
; "process" which sends signals only to the application itself.
|
||||
|
||||
;[sox_from_device]
|
||||
;mode=custom
|
||||
;directory=/var/lib/asterisk/mohmp3
|
||||
;application=/usr/bin/sox -q -t alsa -c 2 -r 48000 hw:1 -c 1 -r 8000 -t raw -s -
|
||||
; Wait 500ms before escalating kill signals
|
||||
;kill_escalation_delay=500
|
||||
; Send signals to just the child process instead of all descendants
|
||||
;kill_method=process
|
||||
203
MySQL_conf_pbx/test1/conf/asterisk/ooh323.conf
Executable file
203
MySQL_conf_pbx/test1/conf/asterisk/ooh323.conf
Executable file
@ -0,0 +1,203 @@
|
||||
; ---------------------------------------------------------------------------------
|
||||
; --- ******* IMPORTANT NOTE ***********
|
||||
; ---
|
||||
; --- This module is currently unsupported. Use it at your own risk.
|
||||
; ---
|
||||
; ---------------------------------------------------------------------------------
|
||||
|
||||
; Objective System's H323 Configuration example for Asterisk
|
||||
; ooh323c driver configuration
|
||||
;
|
||||
; [general] section defines global parameters
|
||||
;
|
||||
; This is followed by profiles which can be of three types - user/peer/friend
|
||||
; Name of the user profile should match with the h323id of the user device.
|
||||
; For peer/friend profiles, host ip address must be provided as "dynamic" is
|
||||
; not supported as of now.
|
||||
;
|
||||
; Syntax for specifying a H323 device in extensions.conf is
|
||||
; For Registered peers/friends profiles:
|
||||
; OOH323/name where name is the name of the peer/friend profile.
|
||||
;
|
||||
; For unregistered H.323 phones:
|
||||
; OOH323/ip[:port] OR if gk is used OOH323/alias where alias can be any H323
|
||||
; alias
|
||||
;
|
||||
; For dialing into another asterisk peer at a specific exten
|
||||
; OOH323/exten/peer OR OOH323/exten@ip
|
||||
;
|
||||
; Domain name resolution is not yet supported.
|
||||
;
|
||||
; When a H.323 user calls into asterisk, his H323ID is matched with the profile
|
||||
; name and context is determined to route the call
|
||||
;
|
||||
; The channel driver will register all global aliases and aliases defined in
|
||||
; peer profiles with the gatekeeper, if one exists. So, that when someone
|
||||
; outside our pbx (non-user) calls an extension, gatekeeper will route that
|
||||
; call to our asterisk box, from where it will be routed as per dial plan.
|
||||
|
||||
|
||||
[general]
|
||||
;Define the asetrisk server h323 endpoint
|
||||
|
||||
;The port asterisk should listen for incoming H323 connections.
|
||||
;Default - 1720
|
||||
;port=1720
|
||||
|
||||
;The dotted IP address asterisk should listen on for incoming H323
|
||||
;connections
|
||||
;Default - tries to find out local ip address on it's own
|
||||
bindaddr=0.0.0.0
|
||||
|
||||
;This parameter indicates whether channel driver should register with
|
||||
;gatekeeper as a gateway or an endpoint.
|
||||
;Default - no
|
||||
;gateway=no
|
||||
|
||||
;Whether asterisk should use fast-start and tunneling for H323 connections.
|
||||
;Default - yes
|
||||
;faststart=no
|
||||
;h245tunneling=no
|
||||
|
||||
;Whether media wait for connect
|
||||
;Default - No
|
||||
;mediawaitforconnect=yes
|
||||
|
||||
;H323-ID to be used for asterisk server
|
||||
;Default - Asterisk PBX
|
||||
h323id=ObjSysAsterisk
|
||||
e164=100
|
||||
|
||||
;CallerID to use for calls
|
||||
;Default - Same as h323id
|
||||
callerid=asterisk
|
||||
|
||||
; Whether asterisk send back to caller own connected line id on incoming call as called number
|
||||
; Default - no
|
||||
aniasdni=no
|
||||
|
||||
;Whether this asterisk server will use gatekeeper.
|
||||
;Default - DISABLE
|
||||
;gatekeeper = DISCOVER
|
||||
;gatekeeper = a.b.c.d
|
||||
gatekeeper = DISABLE
|
||||
|
||||
;Location for H323 log file
|
||||
;Default - /var/log/asterisk/h323_log
|
||||
;logfile=/var/log/asterisk/h323_log
|
||||
|
||||
|
||||
;Following values apply to all users/peers/friends defined below, unless
|
||||
;overridden within their client definition
|
||||
|
||||
;Sets default context all clients will be placed in.
|
||||
;Default - default
|
||||
context=default
|
||||
|
||||
;Sets rtptimeout for all clients, unless overridden
|
||||
;Default - 60 seconds
|
||||
;rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
|
||||
; when we're not on hold
|
||||
|
||||
;Type of Service
|
||||
;Default - none (lowdelay, throughput, reliability, mincost, none)
|
||||
;tos=lowdelay
|
||||
|
||||
;amaflags = default
|
||||
|
||||
;The account code used by default for all clients.
|
||||
;accountcode=h3230101
|
||||
|
||||
;The codecs to be used for all clients.Only ulaw and gsm supported as of now.
|
||||
;Default - ulaw
|
||||
; ONLY ulaw, gsm, g729 and g7231 supported as of now
|
||||
disallow=all ;Note order of disallow/allow is important.
|
||||
allow=gsm
|
||||
allow=ulaw
|
||||
|
||||
|
||||
; dtmf mode to be used by default for all clients. Supports rfc2833, q931keypad
|
||||
; h245alphanumeric, h245signal.
|
||||
;Default - rfc 2833
|
||||
dtmfmode=rfc2833
|
||||
;
|
||||
; round trip delay request, default = 0,0 (not send)
|
||||
; x - count of unreplied requests before hangup, y - interval in sec between requests
|
||||
;
|
||||
;roundtrip=x,y
|
||||
|
||||
;
|
||||
; FAX detection will cause the OOH323 channel to jump to the 'fax' extension (if it exists)
|
||||
; based one or more events being detected. The events that can be detected are an incoming
|
||||
; CNG tone or an incoming T.38 RequestMode packet
|
||||
;
|
||||
; yes - enable both detection (CNG & T.38)
|
||||
; no - disable both
|
||||
; cng - enable CNG detection (default)
|
||||
; t38 - enable T.38 request detection
|
||||
;
|
||||
faxdetect = cng
|
||||
|
||||
; User/peer/friend definitions:
|
||||
; User config options Peer config options
|
||||
; ------------------ -------------------
|
||||
; context
|
||||
; disallow disallow
|
||||
; allow allow
|
||||
; accountcode accountcode
|
||||
; amaflags amaflags
|
||||
; dtmfmode dtmfmode
|
||||
; rtptimeout ip
|
||||
; port
|
||||
; h323id
|
||||
; email
|
||||
; url
|
||||
; e164
|
||||
; rtptimeout
|
||||
|
||||
;
|
||||
|
||||
;
|
||||
; direct rtp between two remote peers, disabled by default
|
||||
; can be specified globally or per peer/user section
|
||||
;
|
||||
directmedia=no
|
||||
;
|
||||
; early direct rtp (try to establish direct rtp before asnwer)
|
||||
; disabled by default, auto enabled by directmedia is enabled
|
||||
; can be disabled escpecially if directmedia is enabled.
|
||||
; can be specified globally or per peer/user section
|
||||
;
|
||||
;
|
||||
directrtpsetup=no
|
||||
|
||||
;Define users here
|
||||
;Section header is extension
|
||||
[myuser1]
|
||||
type=user
|
||||
context=context1
|
||||
disallow=all
|
||||
allow=gsm
|
||||
allow=ulaw
|
||||
|
||||
|
||||
|
||||
[mypeer1]
|
||||
type=peer
|
||||
context=context2
|
||||
ip=a.b.c.d ; UPDATE with appropriate ip address
|
||||
port=1720 ; UPDATE with appropriate port
|
||||
e164=101
|
||||
|
||||
|
||||
|
||||
[myfriend1]
|
||||
type=friend
|
||||
context=default
|
||||
ip=10.0.0.82 ; UPDATE with appropriate ip address
|
||||
port=1820 ; UPDATE with appropriate port
|
||||
disallow=all
|
||||
allow=ulaw
|
||||
e164=12345
|
||||
rtptimeout=60
|
||||
dtmfmode=rfc2833
|
||||
117
MySQL_conf_pbx/test1/conf/asterisk/osp.conf
Executable file
117
MySQL_conf_pbx/test1/conf/asterisk/osp.conf
Executable file
@ -0,0 +1,117 @@
|
||||
;
|
||||
; Open Settlement Protocol Sample Configuration File
|
||||
;
|
||||
; This file contains configuration of OSP server providers that are used by the
|
||||
; Asterisk OSP module. The section "general" is reserved for global options.
|
||||
; All other sections describe specific OSP Providers. The provider "default"
|
||||
; is used when no provider is otherwise specified.
|
||||
;
|
||||
; The "servicepoint" and "source" parameters must be configured. For most
|
||||
; implementations the other parameters in this file can be left unchanged.
|
||||
;
|
||||
[general]
|
||||
;
|
||||
; Enable cryptographic acceleration hardware.
|
||||
; The default value is no.
|
||||
;
|
||||
;accelerate=no
|
||||
;
|
||||
; Enable security features.
|
||||
; If security features are disabled, Asterisk cannot validate signed tokens and
|
||||
; all certificate file name parameters are ignored.
|
||||
; The default value is no.
|
||||
;
|
||||
;securityfeatures=no
|
||||
;
|
||||
; Defines the status of tokens that Asterisk will validate.
|
||||
; 0 - signed tokens only
|
||||
; 1 - unsigned tokens only
|
||||
; 2 - both signed and unsigned
|
||||
; The default value is 0, i.e. the Asterisk will only validate signed tokens.
|
||||
; If securityfeatures are disabled, Asterisk cannot validate signed tokens.
|
||||
;
|
||||
;tokenformat=0
|
||||
;
|
||||
;[default]
|
||||
;
|
||||
; List all service points (OSP servers) for this provider.
|
||||
; Use either domain name or IP address. Most OSP servers use port 5045.
|
||||
;
|
||||
;servicepoint=http://osptestserver.transnexus.com:5045/osp
|
||||
;
|
||||
; Define the "source" device for requesting OSP authorization.
|
||||
; This value is usually the domain name or IP address of the the Asterisk server.
|
||||
;
|
||||
;source=domain name or [IP address in brackets]
|
||||
;
|
||||
; Define path and file name of crypto files.
|
||||
; The default path for crypto file is /var/lib/asterisk/keys. If no path is
|
||||
; defined, crypto files will in /var/lib/asterisk/keys directory.
|
||||
;
|
||||
; Specify the private key file name.
|
||||
; If this parameter is unspecified or not present, the default name will be the
|
||||
; osp.conf section name followed by "-privatekey.pem" (for example:
|
||||
; default-privatekey.pem)
|
||||
; If securityfeatures are disabled, this parameter is ignored.
|
||||
;
|
||||
;privatekey=pkey.pem
|
||||
;
|
||||
; Specify the local certificate file.
|
||||
; If this parameter is unspecified or not present, the default name will be the
|
||||
; osp.conf section name followed by "- localcert.pem " (for example:
|
||||
; default-localcert.pem)
|
||||
; If securityfeatures are disabled, this parameter is ignored.
|
||||
;
|
||||
;localcert=localcert.pem
|
||||
;
|
||||
; Specify one or more Certificate Authority key file names. If none are listed,
|
||||
; a single Certificate Authority key file name is added with the default name of
|
||||
; the osp.conf section name followed by "-cacert_0.pem " (for example:
|
||||
; default-cacert_0.pem)
|
||||
; If securityfeatures are disabled, this parameter is ignored.
|
||||
;
|
||||
;cacert=cacert_0.pem
|
||||
;
|
||||
; Configure parameters for OSP communication between Asterisk OSP client and OSP
|
||||
; servers.
|
||||
;
|
||||
; maxconnections: Max number of simultaneous connections to the provider OSP
|
||||
; server (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
|
||||
;
|
||||
; Set the authentication policy.
|
||||
; 0 - NO - Accept all calls.
|
||||
; 1 - YES - Accept calls with valid token or no token. Block calls with
|
||||
; invalid token.
|
||||
; 2 - EXCLUSIVE - Accept calls with valid token. Block calls with invalid token
|
||||
; or no token.
|
||||
; Default is 1,
|
||||
; If securityfeatures are disabled, Asterisk cannot validate signed tokens.
|
||||
;
|
||||
;authpolicy=1
|
||||
;
|
||||
; Set the default destination protocol. The OSP module supports SIP, H323, and
|
||||
; IAX protocols. The default protocol is set to SIP.
|
||||
;
|
||||
;defaultprotocol=SIP
|
||||
;
|
||||
; Set the work mode.
|
||||
; 0 - Direct
|
||||
; 1 - Indirect
|
||||
; Default is 0,
|
||||
;
|
||||
;workmode=0
|
||||
;
|
||||
; Set the service type.
|
||||
; 0 - Normal voice service
|
||||
; 1 - Ported number query service
|
||||
; Default is 0,
|
||||
;
|
||||
;servicetype=0
|
||||
142
MySQL_conf_pbx/test1/conf/asterisk/phoneprov.conf
Executable file
142
MySQL_conf_pbx/test1/conf/asterisk/phoneprov.conf
Executable file
@ -0,0 +1,142 @@
|
||||
[general]
|
||||
; This section applies only to the default sip.conf/users.conf config provider
|
||||
; embedded in res_phoneprov. Other providers may provide their own default settings.
|
||||
|
||||
; The default behavior of res_phoneprov will be to set the SERVER template variable to
|
||||
; the IP address that the phone uses to contact the provisioning server and the
|
||||
; SERVER_PORT variable to the bindport setting in sip.conf. Unless you have a very
|
||||
; unusual setup, you should not need to set serveraddr, serveriface, or serverport.
|
||||
|
||||
;serveraddr=192.168.1.1 ; Override address to send to the phone to use as server address.
|
||||
;serveriface=eth0 ; Same as above, except an ethernet interface.
|
||||
; Useful for when the interface uses DHCP and the asterisk http
|
||||
; server listens on a different IP than chan_sip.
|
||||
;serverport=5060 ; Override port to send to the phone to use as server port.
|
||||
default_profile=polycom ; The default profile to use if none specified in users.conf
|
||||
|
||||
; You can define profiles for different phones specifying what files to register
|
||||
; with the provisioning server. You can define either static files, or dynamically
|
||||
; generated files that can have dynamic names and point to templates that variables
|
||||
; can be substituted into. You can also set arbitrary variables for the profiles
|
||||
; templates to have access to. Profiles are shared across all config providers.
|
||||
; Example:
|
||||
|
||||
;[example]
|
||||
;mime_type => application/octet-stream
|
||||
;static_file => example/firmware
|
||||
;static_file => example/default.cfg,text/xml
|
||||
;${TOUPPER(${MAC})}.cfg => templates/example-mac.cfg
|
||||
;setvar => DB_CIDNAME=${ODBC_CID_NAME_LOOKUP(${USERNAME})}
|
||||
|
||||
; Dynamically generated files have a filename registered with variable substitution
|
||||
; with variables obtained from various config providers. The default provider
|
||||
; embedded in res_phoneprov reads users.conf. Other providers will have their own
|
||||
; sources for the variables and may provide additional variables not listed here.
|
||||
|
||||
; Built in variables and the options in users.conf that they come from
|
||||
; MAC (macaddress)
|
||||
; USERNAME (username)
|
||||
; DISPLAY_NAME (fullname)
|
||||
; SECRET (secret)
|
||||
; LABEL (label)
|
||||
; CALLERID (cid_number)
|
||||
; VOCIEMAIL_EXTEN (vmexten)
|
||||
; EXTENSION_LENGTH (localextenlength)
|
||||
; LINE
|
||||
; LINEKEYS
|
||||
|
||||
; Built-in variables and the options in phoneprov.conf that they come from
|
||||
; SERVER (server)
|
||||
; SERVER_PORT (serverport)
|
||||
|
||||
|
||||
; Built-in variables for managing timezones and daylight savings time.
|
||||
; TZOFFSET
|
||||
; DST_ENABLE
|
||||
; DST_START_MONTH
|
||||
; DST_START_MDAY
|
||||
; DST_START_HOUR
|
||||
; DST_END_MONTH
|
||||
; DST_END_MDAY
|
||||
; DST_END_HOUR
|
||||
; TIMEZONE
|
||||
|
||||
[polycom]
|
||||
staticdir => configs/ ; Sub directory of AST_DATA_DIR/phoneprov that static files reside
|
||||
; in. This allows a request to /phoneprov/sip.cfg to pull the file
|
||||
; from /phoneprov/configs/sip.cfg
|
||||
mime_type => text/xml ; Default mime type to use if one isn't specified or the
|
||||
; extension isn't recognized
|
||||
static_file => bootrom.ld,application/octet-stream ; Static files the phone will download
|
||||
static_file => bootrom.ver,plain/text ; static_file => filename,mime-type
|
||||
static_file => sip.ld,application/octet-stream
|
||||
static_file => sip.ver,plain/text
|
||||
static_file => sip.cfg
|
||||
static_file => custom.cfg
|
||||
static_file => 2201-06642-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2201-06642-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-11000-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11300-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11300-010.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11300-010.sip.ld,application/octet-stream
|
||||
static_file => 2345-11402-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11402-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-11500-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11500-010.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11500-020.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11500-030.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11500-030.sip.ld,application/octet-stream
|
||||
static_file => 2345-11500-040.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11500-040.sip.ld,application/octet-stream
|
||||
static_file => 2345-11600-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11600-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-11605-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-11605-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12200-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12200-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12200-002.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12200-002.sip.ld,application/octet-stream
|
||||
static_file => 2345-12200-004.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12200-004.sip.ld,application/octet-stream
|
||||
static_file => 2345-12200-005.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12200-005.sip.ld,application/octet-stream
|
||||
static_file => 2345-12365-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12365-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12500-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12500-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12560-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12560-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12600-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12600-001.sip.ld,application/octet-stream
|
||||
static_file => 2345-12670-001.bootrom.ld,application/octet-stream
|
||||
static_file => 2345-12670-001.sip.ld,application/octet-stream
|
||||
static_file => 3111-15600-001.bootrom.ld,application/octet-stream
|
||||
static_file => 3111-15600-001.sip.ld,application/octet-stream
|
||||
static_file => 3111-40000-001.bootrom.ld,application/octet-stream
|
||||
static_file => 3111-40000-001.sip.ld,application/octet-stream
|
||||
static_file => SoundPointIPWelcome.wav,application/octet-stream
|
||||
static_file => SoundPointIPLocalization/Japanese_Japan/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Norwegian_Norway/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Spanish_Spain/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Portuguese_Portugal/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/English_United_Kingdom/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/English_United_States/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Russian_Russia/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Italian_Italy/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Chinese_China/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Swedish_Sweden/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/English_Canada/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/German_Germany/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/French_France/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Danish_Denmark/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Dutch_Netherlands/SoundPointIP-dictionary.xml
|
||||
static_file => SoundPointIPLocalization/Korean_Korea/SoundPointIP-dictionary.xml
|
||||
|
||||
${MAC}.cfg => 000000000000.cfg ; Dynamically generated files.
|
||||
${MAC}-phone.cfg => 000000000000-phone.cfg ; (relative to AST_DATA_DIR/phoneprov)
|
||||
config/${MAC} => polycom.xml ; Dynamic Filename => template file
|
||||
${MAC}-directory.xml => 000000000000-directory.xml
|
||||
setvar => CUSTOM_CONFIG=/var/lib/asterisk/phoneprov/configs/custom.cfg ; Custom variable
|
||||
|
||||
;snom 300, 320, 360, 370, 820, 821, 870 support
|
||||
snom-${MAC}.xml => snom-mac.xml
|
||||
63
MySQL_conf_pbx/test1/conf/asterisk/pjproject.conf
Executable file
63
MySQL_conf_pbx/test1/conf/asterisk/pjproject.conf
Executable file
@ -0,0 +1,63 @@
|
||||
; Common pjproject options
|
||||
;
|
||||
|
||||
;[startup]
|
||||
; NOTES: The name of this section in the pjproject.conf configuration file must
|
||||
; remain startup or the configuration will not be applied.
|
||||
;
|
||||
;cache_pools = yes ; Cache pjproject memory pools for performance
|
||||
; Disable this option to help track down pool content
|
||||
; mismanagement when using valgrind or MALLOC_DEBUG.
|
||||
; The cache gets in the way of determining if the
|
||||
; pool contents are used after being freed and who
|
||||
; freed it.
|
||||
; Default yes
|
||||
;log_level=default ; Initial maximum pjproject logging level to log
|
||||
; Valid values are: 0-6, and default
|
||||
;
|
||||
; Note: This option is needed very early in the startup
|
||||
; process so it can only be read from config files because
|
||||
; the modules for other methods have not been loaded yet.
|
||||
;type= ; Must be of type startup (default: "")
|
||||
|
||||
;========================LOG_MAPPINGS SECTION OPTIONS===============================
|
||||
;[log_mappings]
|
||||
; SYNOPSIS: Provides pjproject to Asterisk log level mappings.
|
||||
; NOTES: The name of this section in the pjproject.conf configuration file must
|
||||
; remain log_mappings or the configuration will not be applied.
|
||||
; The defaults mentioned below only apply if this file or the 'log_mappings'
|
||||
; object can't be found. If the object is found, there are no defaults. If
|
||||
; you don't specify an entry, nothing will be logged for that level.
|
||||
;
|
||||
; These logging level meanings are typically used by pjproject:
|
||||
; - 0: fatal error
|
||||
; - 1: error
|
||||
; - 2: warning
|
||||
; - 3: info
|
||||
; - 4: debug
|
||||
; - 5: trace
|
||||
; - 6: more detailed trace
|
||||
;
|
||||
; Note: setting the pjproject debug level to 4 (debug) or above may result in
|
||||
; raw packets being logged. This should only be enabled during active debugging
|
||||
; to avoid a potential security issue due to logging injection.
|
||||
;
|
||||
;asterisk_error = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk errors.
|
||||
; (default: "0,1")
|
||||
;asterisk_warning = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk warnings.
|
||||
; (default: "2")
|
||||
;asterisk_notice = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk notices.
|
||||
; (default: "")
|
||||
;asterisk_verbose = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk verbose.
|
||||
; (default: "")
|
||||
;asterisk_debug = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk debug
|
||||
; (default: "3,4")
|
||||
;asterisk_trace = ; A comma separated list of pjproject log levels to map to
|
||||
; Asterisk trace
|
||||
; (default: "5,6")
|
||||
;type= ; Must be of type log_mappings (default: "")
|
||||
1679
MySQL_conf_pbx/test1/conf/asterisk/pjsip.conf
Executable file
1679
MySQL_conf_pbx/test1/conf/asterisk/pjsip.conf
Executable file
File diff suppressed because it is too large
Load Diff
71
MySQL_conf_pbx/test1/conf/asterisk/pjsip_notify.conf
Executable file
71
MySQL_conf_pbx/test1/conf/asterisk/pjsip_notify.conf
Executable file
@ -0,0 +1,71 @@
|
||||
; rfc3842
|
||||
; put empty "Content=>" at the end to have CRLF after last body line
|
||||
|
||||
[clear-mwi]
|
||||
Event=>message-summary
|
||||
Content-type=>application/simple-message-summary
|
||||
Content=>Messages-Waiting: no
|
||||
Content=>Message-Account: sip:asterisk@127.0.0.1
|
||||
Content=>Voice-Message: 0/0 (0/0)
|
||||
Content=>
|
||||
|
||||
; Aastra
|
||||
|
||||
[aastra-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
[aastra-xml]
|
||||
Event=>aastra-xml
|
||||
|
||||
; Digium
|
||||
|
||||
[digium-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
; Linksys
|
||||
|
||||
[linksys-cold-restart]
|
||||
Event=>reboot_now
|
||||
|
||||
[linksys-warm-restart]
|
||||
Event=>restart_now
|
||||
|
||||
; Polycom
|
||||
|
||||
[polycom-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
; Sipura
|
||||
|
||||
[sipura-check-cfg]
|
||||
Event=>resync
|
||||
|
||||
[sipura-get-report]
|
||||
Event=>report
|
||||
|
||||
; snom
|
||||
|
||||
[snom-check-cfg]
|
||||
Event=>check-sync\;reboot=false
|
||||
|
||||
[snom-reboot]
|
||||
Event=>check-sync\;reboot=true
|
||||
|
||||
; Cisco
|
||||
|
||||
[cisco-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
; custom examples to use for PJSIPNotify application
|
||||
|
||||
; tell an endpoint to check messages
|
||||
[custom-notify-1]
|
||||
Event=>custom
|
||||
Content-type=>application/voicemail
|
||||
Content=>check-messages
|
||||
Content=>
|
||||
|
||||
; tell an endpoint to force a remote hangup via custom header
|
||||
[custom-notify-2]
|
||||
Event=>custom
|
||||
X-Data=>force-hangup
|
||||
163
MySQL_conf_pbx/test1/conf/asterisk/pjsip_wizard.conf
Executable file
163
MySQL_conf_pbx/test1/conf/asterisk/pjsip_wizard.conf
Executable file
@ -0,0 +1,163 @@
|
||||
; PJSIP Wizard Configuration Samples and Quick Reference
|
||||
;
|
||||
; This file has several very basic configuration examples, to serve as a quick
|
||||
; reference to jog your memory when you need to write up a new configuration.
|
||||
; It is not intended to teach PJSIP configuration or serve as an exhaustive
|
||||
; reference of options and potential scenarios.
|
||||
;
|
||||
; This file has two main sections.
|
||||
; First, manually written examples to serve as a handy reference.
|
||||
; Second, a list of all possible PJSIP config options by section. This is
|
||||
; pulled from the XML config help. It only shows the synopsis for every item.
|
||||
; If you want to see more detail please check the documentation sources
|
||||
; mentioned at the top of this file.
|
||||
|
||||
; ============================================================================
|
||||
; NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
|
||||
;
|
||||
; This file does not maintain the complete option documentation.
|
||||
; ============================================================================
|
||||
|
||||
; Documentation
|
||||
;
|
||||
; The official documentation is at https://docs.asterisk.org
|
||||
; You can read the XML configuration help via Asterisk command line with
|
||||
; "config show help res_pjsip_config_wizard", then you can drill down through
|
||||
; the various sections and their options.
|
||||
;
|
||||
|
||||
|
||||
;============EXAMPLE WIZARD CONFIGURATION FOR A PHONE=======================
|
||||
|
||||
; This config would create an endpoint, aor with dynamic contact, inbound
|
||||
; auth, a phoneprov object and a dialplan hint for extension 1000.
|
||||
|
||||
;[myphone]
|
||||
;type = wizard
|
||||
;accepts_auth = yes
|
||||
;accepts_registrations = yes
|
||||
;has_phoneprov = yes
|
||||
;transport = ipv4
|
||||
;has_hint = yes
|
||||
;hint_exten = 1000
|
||||
;inbound_auth/username = testname
|
||||
;inbound_auth/password = test password
|
||||
;endpoint/allow = ulaw
|
||||
;endpoint/context = default
|
||||
;phoneprov/MAC = 001122aa4455
|
||||
;phoneprov/PROFILE = profile1
|
||||
|
||||
|
||||
;============EXAMPLE WIZARD CONFIGURATION FOR AN ITSP TRUNK=================
|
||||
|
||||
; This ITSP has 2 servers available and requires registration.
|
||||
|
||||
; This config would create an endpoint, an aor with 2 static contacts, an
|
||||
; outbound auth, an identify with 2 matches, and 2 registrations.
|
||||
|
||||
;[mytrunk]
|
||||
;type = wizard
|
||||
;sends_auth = yes
|
||||
;sends_registrations = yes
|
||||
;transport = ipv4
|
||||
;remote_hosts = sip1.myitsp.com:5060,sip2.myitsp.com:5060
|
||||
;outbound_auth/username = testname
|
||||
;outbound_auth/password = test password
|
||||
;endpoint/allow = ulaw
|
||||
;endpoint/context = default
|
||||
|
||||
|
||||
;========================WIZARD SECTION OPTIONS===============================
|
||||
;[wizard]
|
||||
; SYNOPSIS: Provides configuration wizard for common scenarios.
|
||||
;sends_auth= ; Will create an outbound auth object for the endpoint and
|
||||
; registration.
|
||||
; If yes, outbound/username must be specified.
|
||||
; (default = "no")
|
||||
|
||||
;accepts_auth= ; Will create an inbound auth object for the endpoint.
|
||||
; If yes, inbound/username must be specified.
|
||||
; (default = "no")
|
||||
|
||||
;sends_registrations= ; Will create an outbound registration object and an
|
||||
; identify match for each host in remote_hosts (which
|
||||
; must be specified).
|
||||
; sends_auth must also be specified.
|
||||
; (default: "no")
|
||||
|
||||
;sends_line_with_registrations= ; Setting this to true will cause the wizard to
|
||||
; skip the creation of an identify object to match
|
||||
; incoming requests to the endpoint and instead add the
|
||||
; line and endpoint parameters to the outbound
|
||||
; registration object.
|
||||
; (default: "no")
|
||||
|
||||
;accepts_registrations= ; Will create an aor with dynamic contacts which will
|
||||
; accept registrations.
|
||||
; accepts_auth must also be specified.
|
||||
; (default: "no")
|
||||
|
||||
;remote_hosts= ; A comma separated list of remote hosts in the form of
|
||||
; <ipaddress | hostname>[:port] [,<ipaddress | hostname>[:port] ] ...
|
||||
; If specified, a static contact for each host will be created
|
||||
; in the aor. If accepts_registrations is no, an identify
|
||||
; object is also created with a match line for each remote host.
|
||||
; If an aor/contact or match/identify is explicitly supplied,
|
||||
; remote_hosts will not be used to automatically create contacts
|
||||
; or matches respectively.
|
||||
; (default: "")
|
||||
|
||||
;outbound_proxy= ; Setting this is a shortcut for setting
|
||||
; endpoint/outbound_proxy
|
||||
; aor/outbound_proxy
|
||||
; registration/outbound_proxy
|
||||
|
||||
;transport= ; The transport to use for the endpoint and registrations
|
||||
; (default: the pjsip default)
|
||||
|
||||
;server_uri_pattern= ; The pattern used to construct the registration
|
||||
; server_uri. The replaceable parameter ${REMOTE_HOST} isa
|
||||
; available for use.
|
||||
; (default: "sip:${REMOTE_HOST}")
|
||||
|
||||
;client_uri_pattern= ; The pattern used to construct the registration client_uri.
|
||||
; The replaceable parameters ${REMOTE_HOST} and ${USERNAME}
|
||||
; are available for use.
|
||||
; (default: "sip:${USERNAME}@${REMOTE_HOST}")
|
||||
|
||||
;contact_pattern= ; The pattern used to construct the aor contact.
|
||||
; The replaceable parameter ${REMOTE_HOST} is available
|
||||
; for use.
|
||||
; (default: "sip:${REMOTE_HOST}")
|
||||
|
||||
;has_phoneprov= ; Will create a phoneprov object.
|
||||
; If yes, phoneprov/MAC must be specified.
|
||||
; (default: "no")
|
||||
|
||||
;has_hint= ; Create hint and optionally a default application.
|
||||
; (default: "no")
|
||||
|
||||
;hint_context ; Any hints created for this wizard will be placed in this
|
||||
; context.
|
||||
; (default: endpoint/context)
|
||||
|
||||
;hint_exten ; If specified, a PJSIP/<wizard_id> hint will be created
|
||||
; for this extension in 'hint_context'.
|
||||
; context.
|
||||
; (default: none)
|
||||
|
||||
;hint_application ; If specified, an extension will be placed in 'hint_context'
|
||||
; at priority 1 that calls this application. Could be any
|
||||
; valid dialplan expression like
|
||||
; "Gosub(stdexten,${EXTEN},1(${HINT}))"
|
||||
; (default: "Dial(${HINT})")
|
||||
|
||||
;endpoint/<param> ; Any parameters to be passed directly to and validated
|
||||
;aor/<param> ; by their respective objects.
|
||||
;inbound_auth/<param>
|
||||
;outbound_auth/<param>
|
||||
;identify/<param>
|
||||
;registration/<param>
|
||||
;phoneprov/<param>
|
||||
|
||||
;type= ; Must be of type wizard (default: "")
|
||||
62
MySQL_conf_pbx/test1/conf/asterisk/prometheus.conf
Executable file
62
MySQL_conf_pbx/test1/conf/asterisk/prometheus.conf
Executable file
@ -0,0 +1,62 @@
|
||||
;
|
||||
; res_prometheus Module configuration for Asterisk
|
||||
;
|
||||
|
||||
;
|
||||
; This configuration file is consumed by res_prometheus, which
|
||||
; provides the functionality for serving up Asterisk statistics to a
|
||||
; Prometheus server.
|
||||
;
|
||||
; Because Prometheus scrapes statistics from HTTP servers, this module requires
|
||||
; Asterisk's built-in HTTP server to be enabled and configured properly.
|
||||
;
|
||||
; Module Dependencies:
|
||||
; only if Asterisk is build with pjproject bundled (default)
|
||||
; * res_pjsip.so
|
||||
; * res_pjsip_outbound_registration.so
|
||||
|
||||
; Settings that affect all statistic generation
|
||||
[general]
|
||||
enabled = no ; Enable/disable all statistic generation.
|
||||
; Default is "no", as enabling this without
|
||||
; proper securing of your Asterisk system
|
||||
; may result in external systems learning
|
||||
; a lot about your Asterisk system.
|
||||
; Note #1: If Asterisk's HTTP server is
|
||||
; disabled, this setting won't matter.
|
||||
; Note #2: It is highly recommended that you
|
||||
; set up Basic Auth and configure your
|
||||
; Prometheus server to authenticate with
|
||||
; Asterisk. Failing to do so will make it easy
|
||||
; for external systems to scrape your Asterisk
|
||||
; instance and learn things about your system
|
||||
; that you may not want them to. While the
|
||||
; metrics exposed by this module do not
|
||||
; necessarily contain information that can
|
||||
; lead to an exploit, an ounce of prevention
|
||||
; goes a long way. Particularly for those out
|
||||
; there who are exceedingly lax in updating
|
||||
; your Asterisk system. You are updating on a
|
||||
; regular cadence, aren't you???
|
||||
core_metrics_enabled = yes ; Enable/disable core metrics. Core metrics
|
||||
; include various properties such as the
|
||||
; version of Asterisk, uptime, last reload
|
||||
; time, and the overall time it takes to
|
||||
; scrape metrics. Default is "yes"
|
||||
uri = metrics ; The HTTP route to expose metrics on.
|
||||
; Default is "metrics".
|
||||
|
||||
; auth_username = Asterisk ; If provided, Basic Auth will be enabled on
|
||||
; the metrics route. Failure to provide both
|
||||
; auth_username and auth_password will result
|
||||
; in a module load error.
|
||||
; auth_password = ; The password to use for Basic Auth. Note
|
||||
; that I'm leaving this blank to prevent
|
||||
; you from merely uncommenting the line and
|
||||
; running with a config provided password.
|
||||
; Because yes, people actually *do* that.
|
||||
; I mean, if you're going to do that, just
|
||||
; run unsecured. Fake security is usually
|
||||
; worse than no security.
|
||||
; auth_realm = ; Realm to use for authentication. Defaults
|
||||
; to Asterisk Prometheus Metrics
|
||||
47
MySQL_conf_pbx/test1/conf/asterisk/queuerules.conf
Executable file
47
MySQL_conf_pbx/test1/conf/asterisk/queuerules.conf
Executable file
@ -0,0 +1,47 @@
|
||||
|
||||
[general]
|
||||
|
||||
; Look for queue rules in the queue_rules database table through RealTime. Note
|
||||
; that this option is not strictly "RealTime", in the sense that the queue
|
||||
; rules are only loaded and parsed during module load/reload. Queue rules
|
||||
; must have a unique rule name and support relative min/max penalties.
|
||||
;
|
||||
; realtime_rules = yes
|
||||
;
|
||||
|
||||
; It is possible to change the value of the QUEUE_MAX_PENALTY, QUEUE_MIN_PENALTY and QUEUE_RAISE_PENALTY
|
||||
; channel variables in mid-call by defining rules in the queue for when to do so. This can allow for
|
||||
; a call to be opened to more members or potentially a different set of members.
|
||||
; The advantage to changing members this way as opposed to inserting the caller into a
|
||||
; different queue with more members or reinserting the caller into the same queue with a different
|
||||
; QUEUE_MAX_PENALTY or QUEUE_MIN_PENALTY set is that the caller does not lose his place in the queue.
|
||||
;
|
||||
; QUEUE_MAX_PENALTY, QUEUE_MIN_PENALTY and QUEUE_RAISE_PENALTY only apply to a queue call, and are only
|
||||
; modified by these rules if they are initially set in the dialplan.
|
||||
;
|
||||
; If QUEUE_MIN_PENALTY is set, agents with a lower penalty value will not be considered for the caller.
|
||||
; If QUEUE_MAX_PENALTY is set, agents with a higher penalty value will not be considered for the caller.
|
||||
; If QUEUE_RAISE_PENALTY is set, agents with a lower penalty will be treated as having a penalty = QUEUE_RAISE_PENALTY.
|
||||
;
|
||||
; QUEUE_RAISE_PENALTY example:
|
||||
; - Agent 1 has penalty 1
|
||||
; - Agent 2 has penalty 2
|
||||
; - the queue rule is set to:
|
||||
; penaltychange => 30,,,2
|
||||
;
|
||||
; Prior to the 30 second mark, Agent 1 will take priority over Agent 2 for call distribution.
|
||||
; After 30 seconds, Agent 1's priority is bumped to 2 by the penaltychange, so both agents are treated equally.
|
||||
;
|
||||
; Note: There is a limitation to these rules; a caller will follow the penaltychange rules for
|
||||
; the queue that were defined at the time the caller entered the queue. If an update to the rules is
|
||||
; made during the caller's stay in the queue, these will not be reflected for that caller.
|
||||
;
|
||||
; The syntax for these rules is
|
||||
; penaltychange => <number of seconds into the call>,<absolute or relative change to QUEUE_MAX_PENALTY>[,absolute or relative change to QUEUE_MIN_PENALTY][,absolute or relative change to QUEUE_RAISE_PENALTY]
|
||||
;
|
||||
; Example:
|
||||
; [myrule]
|
||||
; penaltychange => 30,+3 ; 30 seconds into the call increase the QUEUE_MAX_PENALTY by 3, no change to QUEUE_MIN_PENALTY
|
||||
; penaltychange => 60,10,5 ; 60 seconds into the call increase the QUEUE_MAX_PENALTY to 10 and increase the QUEUE_MIN_PENALTY to 5
|
||||
; penaltychange => 75,,7 ; 75 seconds into the call keep the QUEUE_MAX_PENALTY the same and increase the QUEUE_MIN_PENALTY to 7
|
||||
; penaltychange => 90,,,20 ; 90 seconds into the call leave QUEUE_MAX_PENALTY and QUEUE_MIN_PENALTY untouched and set QUEUE_RAISE_PENALTY to 20
|
||||
582
MySQL_conf_pbx/test1/conf/asterisk/queues.conf
Executable file
582
MySQL_conf_pbx/test1/conf/asterisk/queues.conf
Executable file
@ -0,0 +1,582 @@
|
||||
[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 'no'.
|
||||
;
|
||||
persistentmembers = yes
|
||||
;
|
||||
; AutoFill Behavior
|
||||
; The old behavior of the queue (autofill=no) is to have 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.
|
||||
;
|
||||
;autofill = no
|
||||
;
|
||||
; 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
|
||||
;
|
||||
; shared_lastcall will make the lastcall and calls received be the same in
|
||||
; members logged in more than one queue. This is useful to make the queue
|
||||
; respect the wrapuptime of another queue for a shared member.
|
||||
; The default value is no.
|
||||
;
|
||||
;shared_lastcall=yes
|
||||
;
|
||||
; Negative_penalty_invalid will treat members with a negative penalty as logged off
|
||||
;
|
||||
;negative_penalty_invalid = no
|
||||
;
|
||||
; log_membername_as_agent will cause app_queue to log the membername rather than
|
||||
; the interface for the ADDMEMBER and REMOVEMEMBER events when a state_interface
|
||||
; is set. The default value (no) maintains backward compatibility.
|
||||
;
|
||||
;log_membername_as_agent = no
|
||||
;
|
||||
; log-restricted-caller-id controls whether the Restricted Caller ID will be stored
|
||||
; in the queue log.
|
||||
; If log-restricted-caller-id=no then the Caller ID will be stripped if the Caller ID
|
||||
; is restricted.
|
||||
; Default is 'yes', which means the Caller ID is always stored.
|
||||
;log-restricted-caller-id = yes
|
||||
;
|
||||
; force_longest_waiting_caller will cause app_queue to make sure callers are offered
|
||||
; in order (longest waiting first), even for callers across multiple queues.
|
||||
; Before a call is offered to an agent, an additional check is made to see if the agent
|
||||
; is a member of another queue with a call that's been waiting longer. If so, the current
|
||||
; call is not offered to the agent. The default value is 'no'.
|
||||
;
|
||||
;force_longest_waiting_caller = no
|
||||
;
|
||||
;[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
|
||||
; using the m option when calling the Queue application or if set
|
||||
; directly on the channel using Set(CHANNEL(musicclass)=whatever) in the
|
||||
; dialplan (the latter of which overrides everything).
|
||||
;
|
||||
;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
|
||||
;
|
||||
; An announcement may be specified which is played to the caller just
|
||||
; before they are bridged with an agent. The default is to not play an
|
||||
; announcement to the caller.
|
||||
;
|
||||
;queue-callerannounce = you-are-being-connected
|
||||
;
|
||||
; A strategy may be specified. Valid strategies include:
|
||||
;
|
||||
; ringall - ring all available channels until one answers (default)
|
||||
; leastrecent - ring interface which was least recently hung up 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
|
||||
; rrordered - same as rrmemory, except the queue member order from config file
|
||||
; is preserved
|
||||
; linear - rings interfaces in the order specified in this configuration file.
|
||||
; If you use dynamic members, the members will be rung in the order in
|
||||
; which they were added
|
||||
; wrandom - rings random interface, but uses the member's penalty as a weight
|
||||
; when calculating their metric. So a member with penalty 0 will have
|
||||
; a metric somewhere between 0 and 1000, and a member with penalty 1 will
|
||||
; have a metric between 0 and 2000, and a member with penalty 2 will have
|
||||
; a metric between 0 and 3000. Please note, if using this strategy, the member
|
||||
; penalty is not the same as when using other queue strategies. It is ONLY used
|
||||
; as a weight for calculating metric.
|
||||
;
|
||||
;strategy = ringall
|
||||
;
|
||||
; Second settings for service level (default 0)
|
||||
; Used for service level statistics (calls answered within service level time frame)
|
||||
; There are 2 Service Level Performance Calculations SL and SL2
|
||||
; SL = (total calls answered within threshold / total calls answered) * 100
|
||||
; SL2 = ((calls answered within threshold + calls abandoned within threshold) / (answered calls + abandoned calls)) * 100
|
||||
;servicelevel = 60
|
||||
;
|
||||
; If a 'context' is specified, and a caller enters an extension that
|
||||
; matches an extension within that context, they will be taken out of
|
||||
; the queue and sent to that extension.
|
||||
;
|
||||
;context = qoutcon
|
||||
;
|
||||
; A limit can be set to disregard penalty settings when the queue has
|
||||
; too few members. No penalty will be weighed in if there are only X
|
||||
; or fewer queue members. (default 0)
|
||||
;
|
||||
;penaltymemberslimit = 5
|
||||
;
|
||||
; ---------------------QUEUE TIMING OPTIONS------------------------------------
|
||||
; A Queue has two different "timeout" values associated with it. One is the
|
||||
; timeout parameter configured in queues.conf. This timeout specifies the
|
||||
; amount of time to try ringing a member's phone before considering the
|
||||
; member to be unavailable. The other timeout value is the second argument
|
||||
; to the Queue() application. This timeout represents the absolute amount
|
||||
; of time to allow a caller to stay in the queue before the caller is
|
||||
; removed from the queue. In certain situations, these two timeout values
|
||||
; may clash. For instance, if the timeout in queues.conf is set to 5 seconds,
|
||||
; the retry value in queues.conf is set to 4, and the second argument to Queue()
|
||||
; is 10, then the following may occur:
|
||||
;
|
||||
; A caller places a call to a queue.
|
||||
; The queue selects a member and attempts to ring that member.
|
||||
; The member's phone is rung for 5 seconds and he does not answer.
|
||||
; The retry time of 4 seconds occurs.
|
||||
; The queue selects a second member to call.
|
||||
;
|
||||
; How long does that second member's phone ring? Does it ring for 5 seconds
|
||||
; since the timeout set in app_queue is 5 seconds? Does it ring for 1 second since
|
||||
; the caller has been in the queue for 9 seconds and is supposed to be removed after
|
||||
; being in the queue for 10 seconds? This is configurable with the timeoutpriority
|
||||
; option. By setting the timeoutpriority to "conf" then you are saying that you would
|
||||
; rather use the time specified in the configuration file even if it means having the
|
||||
; caller stay in the queue longer than the time specified in the application argument.
|
||||
; For the scenario described above, timeoutpriority=conf would result in the second
|
||||
; member's phone ringing for 5 seconds. By specifying "app" as the value for
|
||||
; timeoutpriority, you are saying that the timeout specified as the argument to the
|
||||
; Queue application is more important. In the scenario above, timeoutpriority=app
|
||||
; would result in the second member's phone ringing for 1 second.
|
||||
;
|
||||
; There are a few exceptions to the priority rules. For instance, if timeoutpriority=app
|
||||
; and the configuration file timeout is set to 0, but the application argument timeout is
|
||||
; non-zero, then the timeoutpriority is ignored and the application argument is used as
|
||||
; the timeout. Furthermore, if no application argument timeout is specified, then the
|
||||
; timeoutpriority option is ignored and the configuration file timeout is always used
|
||||
; when calling queue members.
|
||||
;
|
||||
; In timeoutpriority=conf mode however timeout specified in config file will take higher
|
||||
; priority than timeout in application arguments, so if config file has timeout 0, each
|
||||
; queue member will be called indefinitely and application timeout will be checked only
|
||||
; after this call attempt. This is useful for having queue members with custom timeouts
|
||||
; specified within Dial application of Local channel, and allows handling NO ANSWER which
|
||||
; would otherwise be interrupted by queue destroying child channel on timeout.
|
||||
;
|
||||
; The default value for timeoutpriority is "app" since this was how previous versions of
|
||||
; Asterisk behaved.
|
||||
;
|
||||
;timeout = 15
|
||||
;retry = 5
|
||||
;timeoutpriority = app|conf
|
||||
;
|
||||
; ----------------------END QUEUE TIMING OPTIONS---------------------------------
|
||||
; 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
|
||||
; no: Member will not be paused
|
||||
; yes: Member will be paused only in the queue where the timeout took place
|
||||
; all: Member will be paused in all queues he/she is a member
|
||||
;autopause=yes
|
||||
;
|
||||
; Autopausedelay delay autopause for autopausedelay seconds from the
|
||||
; last call if a member has not taken a call the delay has no effect.
|
||||
;autopausedelay=60
|
||||
;
|
||||
; Autopausebusy controls whether or not a queue member is set as paused
|
||||
; automatically upon the member device reporting busy. The autopausedelay
|
||||
; option applies. Defaults to 'no'.
|
||||
;autopausebusy=no
|
||||
;
|
||||
; Autopauseunavail controls whether or not a queue member is set as paused
|
||||
; automatically upon the member device reporting congestion. The autopausedely
|
||||
; option applies. Defaults to 'no'.
|
||||
;autopauseunavail=no
|
||||
;
|
||||
; Maximum number of people waiting in the queue (0 for unlimited)
|
||||
;
|
||||
;maxlen = 0
|
||||
;
|
||||
; Note: for below queue channel options (setinterfacevar, setqueueentryvar,
|
||||
; setqueuevar) if the caller channel is a local channel and optimizations
|
||||
; is enabled then after optimization has occurred only the queue member
|
||||
; channel will contain the variables.
|
||||
;
|
||||
; If set to yes, just prior to the caller being bridged with a queue member
|
||||
; the following variables will be set on the caller and queue member channels:
|
||||
; MEMBERINTERFACE is the interface name (eg. Agent/1234)
|
||||
; MEMBERNAME is the member name (eg. Joe Soap)
|
||||
; MEMBERCALLS is the number of calls that interface has taken,
|
||||
; MEMBERLASTCALL is the last time the member took a call.
|
||||
; MEMBERPENALTY is the penalty of the member
|
||||
; MEMBERDYNAMIC indicates if a member is dynamic or not
|
||||
; MEMBERREALTIME indicates if a member is realtime or not
|
||||
;
|
||||
;setinterfacevar=no
|
||||
;
|
||||
; If set to yes, just prior to the caller being bridged with a queue member
|
||||
; the following variables will be set on the caller and queue member channels:
|
||||
; QEHOLDTIME callers hold time
|
||||
; QEORIGINALPOS original position of the caller in the queue
|
||||
;
|
||||
;setqueueentryvar=no
|
||||
;
|
||||
; If set to yes, the following variables will be set
|
||||
; just prior to the caller being bridged with a queue member (set on the
|
||||
; caller and queue member channels) and just prior to the caller
|
||||
; leaving the queue
|
||||
; QUEUENAME name of the queue
|
||||
; QUEUEMAX maxmimum number of calls allowed
|
||||
; QUEUESTRATEGY the strategy of the queue;
|
||||
; QUEUECALLS number of calls currently in the queue
|
||||
; QUEUEHOLDTIME current average hold time
|
||||
; QUEUECOMPLETED number of completed calls for the queue
|
||||
; QUEUEABANDONED number of abandoned calls
|
||||
; QUEUESRVLEVEL queue service level
|
||||
; QUEUESRVLEVELPERF current service level performance
|
||||
;
|
||||
;setqueuevar=no
|
||||
|
||||
; if set, run this macro when connected to the queue member
|
||||
; you can override this macro by setting the macro option on
|
||||
; the queue application
|
||||
;
|
||||
;membermacro=macro_name[,arg1[,...][,argN]]
|
||||
|
||||
; if set, run this gosub when connected to the queue member
|
||||
; you can override this gosub by setting the gosub option on
|
||||
; the queue application
|
||||
;
|
||||
;membergosub=gosub_context_name[,arg1[,...][,argN]]
|
||||
|
||||
; How often to announce queue position and/or estimated
|
||||
; holdtime to caller (0=off)
|
||||
; Note that this value is ignored if the caller's queue
|
||||
; position has changed (see min-announce-frequency)
|
||||
;
|
||||
;announce-frequency = 90
|
||||
;
|
||||
; The absolute minimum time between the start of each
|
||||
; queue position and/or estimated holdtime announcement
|
||||
; This is useful for avoiding constant announcements
|
||||
; when the caller's queue position is changing frequently
|
||||
; (see announce-frequency)
|
||||
;
|
||||
;min-announce-frequency = 15
|
||||
;
|
||||
; How often to make any periodic announcement (see periodic-announce)
|
||||
;
|
||||
;periodic-announce-frequency=60
|
||||
;
|
||||
; If given indicates the number of seconds after entering the queue the first
|
||||
; periodic announcement should be played. The default (and historic) behavior
|
||||
; is to play the first periodic announcement at periodic-announce-frequency
|
||||
; seconds after entering the queue.
|
||||
;
|
||||
;periodic-announce-startdelay=10
|
||||
;
|
||||
; Should the periodic announcements be played in a random order? Default is no.
|
||||
;
|
||||
;random-periodic-announce=no
|
||||
;
|
||||
; If set to yes, the periodic announcement frequency will be timed from the end
|
||||
; of each announcement rather than from the start of each announcement. This
|
||||
; defaults to off.
|
||||
;
|
||||
;relative-periodic-announce=yes
|
||||
;
|
||||
; Should we include estimated hold time in position announcements?
|
||||
; Either yes, no, or only once.
|
||||
; Hold time will be announced as the estimated time.
|
||||
;
|
||||
;announce-holdtime = yes|no|once
|
||||
;
|
||||
; Queue position announce?
|
||||
; Valid values are "yes," "no," "limit," or "more." If set to "no," then the caller's position will
|
||||
; never be announced. If "yes," then the caller's position in the queue will be announced
|
||||
; to the caller. If set to "more," then if the number of callers is more than the number
|
||||
; specified by the announce-position-limit option, then the caller will hear that there
|
||||
; are more than that many callers waiting (i.e. if a caller number 6 is in a queue with the
|
||||
; announce-position-limit set to 5, then that caller will hear that there are more than 5
|
||||
; callers waiting). If set to "limit," then only callers within the limit specified by announce-position-limit
|
||||
; will have their position announced.
|
||||
;
|
||||
;announce-position = yes
|
||||
;
|
||||
; If enabled, play announcements to the first user waiting in the Queue. This may mean
|
||||
; that announcements are played when an agent attempts to connect to the waiting user,
|
||||
; which may delay the time before the agent and the user can communicate. Disabled by
|
||||
; default.
|
||||
;
|
||||
; announce-to-first-user = no
|
||||
;
|
||||
; If you have specified "limit" or "more" for the announce-position option, then the following
|
||||
; value is what is used to determine what announcement to play to waiting callers. If you have
|
||||
; set the announce-position option to anything else, then this will have no bearing on queue operation
|
||||
;
|
||||
;announce-position-limit = 5
|
||||
;
|
||||
; 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.
|
||||
; Valid values are 0, 5, 10, 15, 20, and 30.
|
||||
;
|
||||
; announce-round-seconds = 10
|
||||
;
|
||||
; Only announce the caller's position if it has improved since the last announcement.
|
||||
; The default value is no.
|
||||
;
|
||||
; announce-position-only-up = yes
|
||||
;
|
||||
; Use these sound files in making position/holdtime announcements. The
|
||||
; defaults are as listed below -- change only if you need to.
|
||||
;
|
||||
; Keep in mind that you may also prevent a sound from being played if you
|
||||
; explicitly set a sound to be an empty string. For example, if you want to
|
||||
; prevent the queue from playing queue-thankyou, you may set the sound using
|
||||
; the following line:
|
||||
;
|
||||
; queue-thankyou=
|
||||
;
|
||||
; ("You are now first in line.")
|
||||
;queue-youarenext = queue-youarenext
|
||||
; ("There are")
|
||||
;queue-thereare = queue-thereare
|
||||
; ("calls waiting.")
|
||||
;queue-callswaiting = queue-callswaiting
|
||||
; ("Currently there are more than")
|
||||
;queue-quantity1 = queue-quantity1
|
||||
; ("callers waiting to speak with a representative")
|
||||
;queue-quantity2 = queue-quantity2
|
||||
; ("The current est. holdtime is")
|
||||
;queue-holdtime = queue-holdtime
|
||||
; ("minute.")
|
||||
;queue-minute = queue-minute
|
||||
; ("minutes.")
|
||||
;queue-minutes = queue-minutes
|
||||
; ("seconds.")
|
||||
;queue-seconds = queue-seconds
|
||||
; ("Thank you for your patience.")
|
||||
;queue-thankyou = queue-thankyou
|
||||
; ("Hold time")
|
||||
;queue-reporthold = queue-reporthold
|
||||
; ("All reps busy / wait for next")
|
||||
;periodic-announce = queue-periodic-announce
|
||||
;
|
||||
; A set of periodic announcements can be defined by separating
|
||||
; periodic announcements to reproduce by commas. For example:
|
||||
;periodic-announce = queue-periodic-announce,your-call-is-important,please-wait
|
||||
;
|
||||
; The announcements will be played in the order in which they are defined. After
|
||||
; playing the last announcement, the announcements begin again from the beginning.
|
||||
;
|
||||
; 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 (from the dialplan)
|
||||
; 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 (from the dialplan)
|
||||
;
|
||||
; Set(MONITOR_EXEC=mv /var/spool/asterisk/monitor/^{MONITOR_FILENAME} /tmp/^{MONITOR_FILENAME})
|
||||
;
|
||||
; or
|
||||
;
|
||||
; Set(MONITOR_EXEC=mv /var/spool/asterisk/monitor/^{MIXMONITOR_FILENAME} /tmp/^{MIXMONITOR_FILENAME})
|
||||
;
|
||||
; If you choose to use the latter, you will not be able to switch the monitor-type back to Monitor
|
||||
; without changing this in the dialplan.
|
||||
;
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; ---------------------- Queue Empty Options ----------------------------------
|
||||
;
|
||||
; Asterisk has provided the "joinempty" and "leavewhenempty" options for a while
|
||||
; with tenuous definitions of what they actually mean. The "joinempty" option controls
|
||||
; whether a caller may join a queue depending on several factors of member availability.
|
||||
; Similarly, then leavewhenempty option controls whether a caller may remain in a queue
|
||||
; he has already joined. Both options take a comma-separated list of factors which
|
||||
; contribute towards whether a caller may join/remain in the queue. The list of
|
||||
; factors which contribute to these option is as follows:
|
||||
;
|
||||
; paused: a member is not considered available if he is paused
|
||||
; penalty: a member is not considered available if his penalty is less than QUEUE_MAX_PENALTY
|
||||
; inuse: a member is not considered available if he is currently on a call
|
||||
; ringing: a member is not considered available if his phone is currently ringing
|
||||
; unavailable: This applies mainly to Agent channels. If the agent is a member of the queue
|
||||
; but has not logged in, then do not consider the member to be available
|
||||
; invalid: Do not consider a member to be available if he has an "invalid" device state.
|
||||
; This generally is caused by an error condition in the member's channel driver.
|
||||
; unknown: Do not consider a member to be available if we are unable to determine the member's
|
||||
; current device state.
|
||||
; wrapup: A member is not considered available if he is currently in his wrapuptime after
|
||||
; taking a call.
|
||||
;
|
||||
; For the "joinempty" option, when a caller attempts to enter a queue, the members of that
|
||||
; queue are examined. If all members are deemed to be unavailable due to any of the conditions
|
||||
; listed for the "joinempty" option, then the caller will be unable to enter the queue. For the
|
||||
; "leavewhenempty" option, the state of the members of the queue are checked periodically during
|
||||
; the caller's stay in the queue. If all of the members are unavailable due to any of the above
|
||||
; conditions, then the caller will be removed from the queue.
|
||||
;
|
||||
; Some examples:
|
||||
;
|
||||
;joinempty = paused,inuse,invalid
|
||||
;
|
||||
; A caller will not be able to enter a queue if at least one member cannot be found
|
||||
; who is not paused, on the phone, or who has an invalid device state.
|
||||
;
|
||||
;leavewhenempty = inuse,ringing
|
||||
;
|
||||
; A caller will be removed from the queue if at least one member cannot be found
|
||||
; who is not on the phone, or whose phone is not ringing.
|
||||
;
|
||||
; For the sake of backwards-compatibility, the joinempty and leavewhenempty
|
||||
; options also accept the strings "yes" "no" "strict" and "loose". The following
|
||||
; serves as a translation for these values:
|
||||
;
|
||||
; yes - (empty) for joinempty; penalty,paused,invalid for leavewhenempty
|
||||
; no - penalty,paused,invalid for joinempty; (empty) for leavewhenempty
|
||||
; strict - penalty,paused,invalid,unavailable
|
||||
; loose - penalty,invalid
|
||||
;
|
||||
|
||||
; 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. This can be controlled on a per member basis by
|
||||
; setting 'ringinuse' on that member. This can be done in the member definition,
|
||||
; in the 'ringinuse' field on a realtime member, via the QUEUE_MEMBER dialplan
|
||||
; function, or with CLI/AMI. By default, the per member value will be the same
|
||||
; as the queue's ringinuse value if it isn't set on the member deliberately.
|
||||
; (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
|
||||
;
|
||||
; If you wish to implement a rule defined in queuerules.conf (see
|
||||
; configs/queuerules.conf.sample from the asterisk source directory for
|
||||
; more information about penalty rules) by default, you may specify this
|
||||
; by setting defaultrule to the rule's name
|
||||
;
|
||||
; defaultrule = myrule
|
||||
;
|
||||
; 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. An optional state interface may be specified after a third
|
||||
; comma. This interface will be the one for which app_queue receives device
|
||||
; state notifications, even though the first interface specified is the one
|
||||
; that is actually called.
|
||||
;
|
||||
; A hint can also be used in place of the state interface using the format
|
||||
; hint:<extension>@<context>. If no context is specified then 'default' will
|
||||
; be used.
|
||||
;
|
||||
; 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 and chan_local.so (or pbx_ael.so, pbx_lua.so,
|
||||
; or pbx_realtime.so, depending on how your dialplan is configured).
|
||||
;
|
||||
; syntax: member => interface,[,penalty][,membername][,state_interface][,ringinuse][,wrapuptime]
|
||||
;
|
||||
;member => DAHDI/1
|
||||
;member => DAHDI/2,10
|
||||
;member => DAHDI/3,10,Bob Johnson
|
||||
;member => Local/1001@agents,0,May Flowers,Agent:1001
|
||||
;member => Local/1002@agents,0,John Doe,Agent:1002
|
||||
;member => Local/1000@default,0,John Smith,SIP/1000
|
||||
;member => Local/2000@default,0,Lorem Ipsum,SIP/2000,no
|
||||
43
MySQL_conf_pbx/test1/conf/asterisk/res_config_mysql.conf
Executable file
43
MySQL_conf_pbx/test1/conf/asterisk/res_config_mysql.conf
Executable file
@ -0,0 +1,43 @@
|
||||
;
|
||||
; Sample configuration for res_config_mysql.c
|
||||
;
|
||||
; 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. If no dbcharset is specified, the connection
|
||||
; is made with no extra charset configurations sent to MySQL, leaving all
|
||||
; configured MySQL charset options and defaults untouched.
|
||||
;
|
||||
; Multiple database contexts may be configured, with the caveat that
|
||||
; all context names should be unique and must not contain the slash ('/')
|
||||
; character. If you wish to separate reads from writes in your database
|
||||
; configuration, you specify the database (NOT HERE, in other files)
|
||||
; separated by a slash, read database first. If your database
|
||||
; specification does not contain a slash, the implication is that reads
|
||||
; and writes should be performed to the same database.
|
||||
;
|
||||
; For example, in extconfig.conf, you could specify a line like:
|
||||
; sippeers => mysql,readhost.asterisk/writehost.asterisk,sippeers
|
||||
; and then define the contexts [readhost.asterisk] and [writehost.asterisk]
|
||||
; below.
|
||||
;
|
||||
; The requirements parameter is available only in Asterisk 1.6.1 and
|
||||
; later and must be present in all contexts. It specifies the behavior
|
||||
; when a column name is required by the system. The default behavior is
|
||||
; "warn" and simply sends a warning to the logger that the column does
|
||||
; not exist (or is of the wrong type or precision). The other two
|
||||
; possibilities are "createclose", which adds the column with the right
|
||||
; type and length, and "createchar", which adds the column as a char
|
||||
; type, with the appropriate length to accept the data. Note that with
|
||||
; the MySQL driver, both "createclose" and "createchar" will, on occasion,
|
||||
; widen a table column width to meet the requirements specified.
|
||||
;
|
||||
[general]
|
||||
;dbhost = 127.0.0.1
|
||||
;dbname = asterisk
|
||||
;dbuser = myuser
|
||||
;dbpass = mypass
|
||||
;dbport = 3306
|
||||
;dbsock = /tmp/mysql.sock
|
||||
;dbcharset = latin1
|
||||
;requirements=warn ; or createclose or createchar
|
||||
18
MySQL_conf_pbx/test1/conf/asterisk/res_config_odbc.conf
Executable file
18
MySQL_conf_pbx/test1/conf/asterisk/res_config_odbc.conf
Executable file
@ -0,0 +1,18 @@
|
||||
;
|
||||
; Sample configuration for res_config_odbc
|
||||
;
|
||||
; Most configuration occurs in the system ODBC configuration files,
|
||||
; res_odbc.conf, and extconfig.conf. You only need this file in the
|
||||
; event that you want to influence default sorting behavior.
|
||||
;
|
||||
|
||||
;[general]
|
||||
; When multiple rows are requested by realtime, res_config_odbc will add an
|
||||
; explicit ORDER BY clause to the generated SELECT statement. To prevent
|
||||
; that from occuring, set order_multi_row_results_by_initial_column to 'no'.
|
||||
;
|
||||
;order_multi_row_results_by_initial_column=no
|
||||
[asterisk]
|
||||
enabled => yes
|
||||
dsn => asterisk
|
||||
pre-connect => yes
|
||||
35
MySQL_conf_pbx/test1/conf/asterisk/res_config_sqlite3.conf
Executable file
35
MySQL_conf_pbx/test1/conf/asterisk/res_config_sqlite3.conf
Executable file
@ -0,0 +1,35 @@
|
||||
; Define a realtime database name to use in extconfig.conf
|
||||
;
|
||||
;[asterisk]
|
||||
;dbfile => /var/lib/asterisk/realtime.sqlite3
|
||||
;
|
||||
; debug - Turn on debugging information
|
||||
;debug=yes
|
||||
;
|
||||
; requirements - At startup, each realtime family will make requirements
|
||||
; on the backend. There are several strategies for handling requirements:
|
||||
; warn - Warn if the required column does not exist.
|
||||
; createclose - Create columns as close to the requirements as possible.
|
||||
; createchar - Create char columns only
|
||||
;
|
||||
;requirements=warn
|
||||
;
|
||||
; batch - SQLite 3 write performance can be greatly improved by wrapping
|
||||
; multiple writes in transactions. This option specifies the duration in
|
||||
; milliseconds of auto-generated transactions. Any changes made during an
|
||||
; unfinished transaction will be immediately available to the same database
|
||||
; connection, but any external connections could see a delay up to the value
|
||||
; of this setting. It is also possible that if asterisk crashes, any changes
|
||||
; made during this time could be lost. Due to the nearly 100x performance
|
||||
; benefit, the default is 100 ms. Set to 0 to disable batching.
|
||||
;
|
||||
; PLEASE NOTE: If you need to write to the database from another connection
|
||||
; you will need to set batch=0 as the transactions will cause the database
|
||||
; to lock for writing.
|
||||
;
|
||||
;batch=1000
|
||||
;
|
||||
; busy timeout - timeout in miliseconds to stop waiting for locked database.
|
||||
; More info at https://www.sqlite.org/c3ref/busy_timeout.html
|
||||
;
|
||||
;busy_timeout=1000
|
||||
31
MySQL_conf_pbx/test1/conf/asterisk/res_corosync.conf
Executable file
31
MySQL_conf_pbx/test1/conf/asterisk/res_corosync.conf
Executable file
@ -0,0 +1,31 @@
|
||||
;
|
||||
; Sample configuration file for res_corosync.
|
||||
;
|
||||
; This module allows events to be shared amongst a local cluster of
|
||||
; Asterisk servers. Specifically, the types of events that may be
|
||||
; shared include:
|
||||
;
|
||||
; - Device State (for shared presence information)
|
||||
;
|
||||
; - Message Waiting Indication, or MWI (to allow Voicemail to live on
|
||||
; a server that is different from where the phones are registered)
|
||||
;
|
||||
; For more information about Corosync, see: http://www.corosync.org/
|
||||
;
|
||||
|
||||
[general]
|
||||
|
||||
;
|
||||
; Publish Message Waiting Indication (MWI) events from this server to the
|
||||
; cluster.
|
||||
;publish_event = mwi
|
||||
;
|
||||
; Subscribe to MWI events from the cluster.
|
||||
;subscribe_event = mwi
|
||||
;
|
||||
; Publish Device State (presence) events from this server to the cluster.
|
||||
;publish_event = device_state
|
||||
;
|
||||
; Subscribe to Device State (presence) events from the cluster.
|
||||
;subscribe_event = device_state
|
||||
;
|
||||
9
MySQL_conf_pbx/test1/conf/asterisk/res_curl.conf
Executable file
9
MySQL_conf_pbx/test1/conf/asterisk/res_curl.conf
Executable file
@ -0,0 +1,9 @@
|
||||
;
|
||||
; CURLOPT global settings (mostly set for realtime)
|
||||
;
|
||||
[globals]
|
||||
;proxy=myproxy.example.com
|
||||
proxytype=http
|
||||
proxyport=8001
|
||||
;proxyuserpwd=asterisk:asteriskrocks
|
||||
;failurecodes=404,408,503
|
||||
32
MySQL_conf_pbx/test1/conf/asterisk/res_fax.conf
Executable file
32
MySQL_conf_pbx/test1/conf/asterisk/res_fax.conf
Executable file
@ -0,0 +1,32 @@
|
||||
; Generic Fax Application configuration
|
||||
|
||||
[general]
|
||||
; Maximum Transmission Rate
|
||||
; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
|
||||
; Set this value to the maximum desired transfer rate. Default: 14400
|
||||
;maxrate=14400
|
||||
|
||||
; Minimum Transmission Rate
|
||||
; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
|
||||
; Set this value to the minimum desired transfer rate. Default: 4800
|
||||
;minrate=4800
|
||||
|
||||
; Send Progress/Status events to manager session
|
||||
; Manager events with 'call' class permissions will receive events indicating the
|
||||
; steps to initiate a fax session. Fax completion events are always sent to manager
|
||||
; sessions with 'call' class permissions, regardless of the value of this option.
|
||||
; Default: no
|
||||
statusevents=yes
|
||||
|
||||
; modem capabilities
|
||||
; Possible values are { v17 | v27 | v29 }
|
||||
; Set this value to modify the default modem options. Default: v17,v27,v29
|
||||
;modems=v17,v27,v29
|
||||
|
||||
; Enable/disable T.30 ECM (error correction mode) by default.
|
||||
; Default: Enabled
|
||||
;ecm=yes
|
||||
|
||||
; T.38 Negotiation Timeout in milliseconds
|
||||
; Default: 5000
|
||||
t38timeout=5000
|
||||
69
MySQL_conf_pbx/test1/conf/asterisk/res_http_media_cache.conf
Executable file
69
MySQL_conf_pbx/test1/conf/asterisk/res_http_media_cache.conf
Executable file
@ -0,0 +1,69 @@
|
||||
;
|
||||
; Sample configuration for res_http_media_cache
|
||||
;
|
||||
; res_http_media_cache is the HTTP backend for the core media cache. The
|
||||
; following options can be used to tune the behavior of the implementation
|
||||
; or left as default.
|
||||
;
|
||||
; See the module's and cURL's documentation for the exact meaning of these
|
||||
; options.
|
||||
|
||||
|
||||
[general]
|
||||
; Maximum time in seconds the transfer is allowed to complete in.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_TIMEOUT.html for details.
|
||||
;
|
||||
;timeout_secs = 180
|
||||
|
||||
|
||||
; The HTTP User-Agent to use for requests.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_USERAGENT.html for details.
|
||||
;
|
||||
;user_agent = asterisk-libcurl-agent/1.0
|
||||
|
||||
|
||||
; Follow HTTP 3xx redirects on requests. This can be combined with the
|
||||
; max_redirects option to limit the number of times a redirect will be
|
||||
; followed per request.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html for details.
|
||||
;
|
||||
;follow_location = false
|
||||
|
||||
|
||||
; The maximum number of redirects to follow.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_MAXREDIRS.html for details.
|
||||
;
|
||||
;max_redirects = 8
|
||||
|
||||
; The HTTP/HTTPS proxy to use for requests. Leave unspecified to not use
|
||||
; a proxy. This can be a URL with scheme, host and port.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_PROXY.html for details.
|
||||
;
|
||||
;proxy = https://localhost:1234
|
||||
|
||||
|
||||
; The life-time for DNS cache entries.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html for details.
|
||||
;
|
||||
;dns_cache_timeout_secs = 60
|
||||
|
||||
|
||||
; The comma separated list of allowed protocols for the request. Available with
|
||||
; cURL version 7.85.0 or later.
|
||||
; See https://curl.se/libcurl/c/CURLOPT_PROTOCOLS_STR.html for details.
|
||||
;
|
||||
;protocols = http,https
|
||||
|
||||
; The comma separated list of allowed protocols for redirects. Available with
|
||||
; cURL version 7.85.0 or later. This can be used to prevent a redirect from
|
||||
; a protocol like HTTPS to another supported protocol of cURL.
|
||||
;
|
||||
; See https://curl.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS_STR.html for details.
|
||||
;
|
||||
;redirect_protocols = http,https
|
||||
198
MySQL_conf_pbx/test1/conf/asterisk/res_ldap.conf
Executable file
198
MySQL_conf_pbx/test1/conf/asterisk/res_ldap.conf
Executable file
@ -0,0 +1,198 @@
|
||||
;
|
||||
; Configuration file for res_config_ldap
|
||||
;
|
||||
|
||||
; Realtime configuration
|
||||
; ----------------------
|
||||
; In order to use this module, you start
|
||||
; in extconfig.conf with a configuration like this:
|
||||
;
|
||||
; sippeers = ldap,"dc=myDomain,dc=myDomainExt",sip
|
||||
; extensions = ldap,"dc=myDomain,dc=myDomainExt",extensions
|
||||
; sip.conf = ldap,"dc=myDomain,dc=myDomainExt",config
|
||||
;
|
||||
; In the case of LDAP the last keyword in each line above specifies
|
||||
; a section in this file.
|
||||
;
|
||||
; LDAP schema and ldif files can be located in contrib/scripts.
|
||||
|
||||
; TLS support
|
||||
; -----------
|
||||
; Note that you can configure an ldaps: url here to get TLS support.
|
||||
; Detailed configuration of certificates and supported CAs is done in your
|
||||
; ldap.conf file for OpenLDAP clients on your system.
|
||||
; This requires that you have OpenLDAP libraries compiled with TLS support
|
||||
|
||||
; *********************************************************************************
|
||||
; NOTE: res_ldap.conf should be chmod 600 because it contains the plain-text LDAP
|
||||
; password to an account with WRITE access to the asterisk configuration.
|
||||
; *********************************************************************************
|
||||
|
||||
[_general]
|
||||
;
|
||||
; Specify one of either host and port OR url. URL is preferred, as you can
|
||||
; use more options.
|
||||
;host=192.168.1.1 ; LDAP host
|
||||
;port=389
|
||||
;url=ldap://ldap3.mydomain.com:3890
|
||||
;protocol=3 ; Version of the LDAP protocol to use; default is 3.
|
||||
;basedn=dc=example,dc=tld ; Base DN
|
||||
;user=cn=asterisk,dc=example,dc=tld ; Bind DN
|
||||
;pass=MyPassword ; Bind password
|
||||
|
||||
; Configuration Table
|
||||
[config]
|
||||
;
|
||||
; additionalFilter - This specifies an additional set of criteria to be used
|
||||
; when querying the LDAP server.
|
||||
;
|
||||
additionalFilter=(objectClass=AstConfig)
|
||||
;
|
||||
; Attributes mapping (asterisk variable name = ldap attribute name)
|
||||
; When Asterisk requests the variable by the name of the value on the left,
|
||||
; this module will look up the attribute listed on the right.
|
||||
;
|
||||
filename = AstConfigFilename
|
||||
category = AstConfigCategory
|
||||
variable_name = AstConfigVariableName
|
||||
variable_value = AstConfigVariableValue
|
||||
cat_metric = AstConfigCategoryMetric
|
||||
commented = AstConfigCommented
|
||||
|
||||
;
|
||||
; Extensions Table
|
||||
;
|
||||
[extensions]
|
||||
context = AstExtensionContext
|
||||
exten = AstExtensionExten
|
||||
priority = AstExtensionPriority
|
||||
app = AstExtensionApplication
|
||||
appdata = AstExtensionApplicationData
|
||||
additionalFilter=(objectClass=AstExtension)
|
||||
|
||||
;
|
||||
; Sip Users Table
|
||||
;
|
||||
[sip]
|
||||
name = cn ; We use the "cn" as the default value for name on the line above
|
||||
; because objectClass=AsteriskSIPUser does not include a uid as an allowed field
|
||||
; If your entry combines other objectClasses and uid is available, you may
|
||||
; prefer to change the line to be name = uid, especially if your LDAP entries
|
||||
; contain spaces in the cn field.
|
||||
; You may also find it appropriate to use something completely different.
|
||||
; This is possible by changing the line above to name = AstAccountName (or whatever you
|
||||
; prefer).
|
||||
;
|
||||
amaflags = AstAccountAMAFlags
|
||||
callgroup = AstAccountCallGroup
|
||||
callerid = AstAccountCallerID
|
||||
directmedia = AstAccountDirectMedia
|
||||
context = AstAccountContext
|
||||
dtmfmode = AstAccountDTMFMode
|
||||
fromuser = AstAccountFromUser
|
||||
fromdomain = AstAccountFromDomain
|
||||
fullcontact = AstAccountFullContact
|
||||
fullcontact = gecos
|
||||
host = AstAccountHost
|
||||
insecure = AstAccountInsecure
|
||||
mailbox = AstAccountMailbox
|
||||
md5secret = AstAccountRealmedPassword ; Must be an MD5 hash. Field value can start with
|
||||
; {md5} but it is not required.
|
||||
; Generate the password via the md5sum command, e.g.
|
||||
; echo "my_password" | md5sum
|
||||
nat = AstAccountNAT
|
||||
deny = AstAccountDeny
|
||||
permit = AstAccountPermit
|
||||
pickupgroup = AstAccountPickupGroup
|
||||
port = AstAccountPort
|
||||
qualify = AstAccountQualify
|
||||
restrictcid = AstAccountRestrictCID
|
||||
rtptimeout = AstAccountRTPTimeout
|
||||
rtpholdtimeout = AstAccountRTPHoldTimeout
|
||||
type = AstAccountType
|
||||
disallow = AstAccountDisallowedCodec
|
||||
allow = AstAccountAllowedCodec
|
||||
MusicOnHold = AstAccountMusicOnHold
|
||||
regseconds = AstAccountExpirationTimestamp
|
||||
regcontext = AstAccountRegistrationContext
|
||||
regexten = AstAccountRegistrationExten
|
||||
CanCallForward = AstAccountCanCallForward
|
||||
ipaddr = AstAccountIPAddress
|
||||
defaultuser = AstAccountDefaultUser
|
||||
regserver = AstAccountRegistrationServer
|
||||
lastms = AstAccountLastQualifyMilliseconds
|
||||
supportpath = AstAccountPathSupport
|
||||
additionalFilter=(objectClass=AsteriskSIPUser)
|
||||
|
||||
;
|
||||
; IAX Users Table
|
||||
;
|
||||
[iax]
|
||||
amaflags = AstAccountAMAFlags
|
||||
callerid = AstAccountCallerID
|
||||
context = AstAccountContext
|
||||
fullcontact = AstAccountFullContact
|
||||
fullcontact = gecos
|
||||
host = AstAccountHost
|
||||
mailbox = AstAccountMailbox
|
||||
md5secret = AstAccountRealmedPassword ; Must be an MD5 hash. Field value can start with
|
||||
; {md5} but it is not required.
|
||||
; Generate the password via the md5sum command, e.g.
|
||||
; echo "my_password" | md5sum
|
||||
deny = AstAccountDeny
|
||||
permit = AstAccountPermit
|
||||
port = AstAccountPort
|
||||
qualify = AstAccountQualify
|
||||
type = AstAccountType
|
||||
disallow = AstAccountDisallowedCodec
|
||||
allow = AstAccountAllowedCodec
|
||||
regseconds = AstAccountExpirationTimestamp
|
||||
regcontext = AstAccountRegistrationContext
|
||||
regexten = AstAccountRegistrationExten
|
||||
notransfer = AstAccountNoTransfer
|
||||
lastms = AstAccountLastQualifyMilliseconds
|
||||
additionalFilter=(objectClass=AstAccountIAX)
|
||||
|
||||
;
|
||||
; A Test Family
|
||||
;
|
||||
[testfamily]
|
||||
MyUSERID = uid
|
||||
additionalFilter=(objectClass=*)
|
||||
|
||||
[accounts]
|
||||
amaflags = AstAccountAMAFlags
|
||||
callgroup = AstAccountCallGroup
|
||||
callerid = AstAccountCallerID
|
||||
directmedia = AstAccountDirectMedia
|
||||
context = AstAccountContext
|
||||
dtmfmode = AstAccountDTMFMode
|
||||
fromuser = AstAccountFromUser
|
||||
fromdomain = AstAccountFromDomain
|
||||
fullcontact = AstAccountFullContact
|
||||
fullcontact = gecos
|
||||
host = AstAccountHost
|
||||
insecure = AstAccountInsecure
|
||||
mailbox = AstAccountMailbox
|
||||
md5secret = AstAccountRealmedPassword ; Must be an MD5 hash. Field value can start with
|
||||
; {md5} but it is not required.
|
||||
; Generate the password via the md5sum command, e.g.
|
||||
; echo "my_password" | md5sum
|
||||
nat = AstAccountNAT
|
||||
deny = AstAccountDeny
|
||||
permit = AstAccountPermit
|
||||
pickupgroup = AstAccountPickupGroup
|
||||
port = AstAccountPort
|
||||
qualify = AstAccountQualify
|
||||
restrictcid = AstAccountRestrictCID
|
||||
rtptimeout = AstAccountRTPTimeout
|
||||
rtpholdtimeout = AstAccountRTPHoldTimeout
|
||||
type = AstAccountType
|
||||
disallow = AstAccountDisallowedCodec
|
||||
allow = AstAccountAllowedCodec
|
||||
MusicOnHold = AstAccountMusicOnHold
|
||||
regseconds = AstAccountExpirationTimestamp
|
||||
regcontext = AstAccountRegistrationContext
|
||||
regexten = AstAccountRegistrationExten
|
||||
CanCallForward = AstAccountCanCallForward
|
||||
additionalFilter=(objectClass=AstAccount)
|
||||
153
MySQL_conf_pbx/test1/conf/asterisk/res_odbc.conf
Executable file
153
MySQL_conf_pbx/test1/conf/asterisk/res_odbc.conf
Executable file
@ -0,0 +1,153 @@
|
||||
;;; 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
|
||||
;ORACLE_HOME => /home/oracle
|
||||
|
||||
; All other sections are arbitrary names for database connections.
|
||||
|
||||
;
|
||||
; The context name is what will be used in other configuration files, such
|
||||
; as extconfig.conf and func_odbc.conf, to reference this connection.
|
||||
;[asterisk];
|
||||
;
|
||||
; Permit disabling sections without needing to comment them out.
|
||||
; If not specified, it is assumed the section is enabled.
|
||||
;enabled => no;
|
||||
;
|
||||
; This value should match an entry in /etc/odbc.ini
|
||||
; (or /usr/local/etc/odbc.ini, on FreeBSD and similar systems).
|
||||
;dsn => asterisk;
|
||||
;
|
||||
; Username for connecting to the database. The user defaults to the context name if unspecified.
|
||||
;username => myuser
|
||||
;
|
||||
; Password for authenticating the user to the database. The default
|
||||
; password is blank.
|
||||
;password => mypass
|
||||
;
|
||||
; Build a connection at startup?
|
||||
;pre-connect => yes;
|
||||
;
|
||||
; What should we execute to ensure that our connection is still alive? The
|
||||
; statement should return a non-zero value in the first field of its first
|
||||
; record. The default is "select 1".
|
||||
;sanitysql => select 1
|
||||
;
|
||||
; The maximum number of connections to have open at any given time.
|
||||
; This defaults to 1 and it is highly recommended to only set this higher
|
||||
; if using a version of UnixODBC greater than 2.3.1.
|
||||
;max_connections => 20
|
||||
;
|
||||
; When the channel is destroyed, should any uncommitted open transactions
|
||||
; automatically be committed?
|
||||
;forcecommit => no
|
||||
;
|
||||
; How should we perceive data in other transactions within the database?
|
||||
; Possible values are read_uncommitted, read_committed, repeatable_read,
|
||||
; and serializable. The default is read_committed.
|
||||
;isolation => repeatable_read
|
||||
;
|
||||
; Is the backslash a native escape character? The default is yes, but for
|
||||
; MS SQL Server, the answer is no.
|
||||
;backslash_is_escape => yes
|
||||
;
|
||||
; How long (in seconds) should we attempt to connect before considering the
|
||||
; connection dead? The default is 10 seconds, but you may wish to reduce it,
|
||||
; to increase responsiveness.
|
||||
;connect_timeout => 10
|
||||
;
|
||||
; When a connection fails, how long (in seconds) should we cache that
|
||||
; information before we attempt another connection? This increases
|
||||
; responsiveness, when a database resource is not working.
|
||||
;negative_connection_cache => 300
|
||||
;
|
||||
; Enable query logging. This keeps track of the number of prepared queries
|
||||
; and executed queries as well as the query that has taken the longest to
|
||||
; execute. This can be useful for determining the latency with a database.
|
||||
; The data can be viewed using the "odbc show" CLI command.
|
||||
; Note that only successful queries are logged currently.
|
||||
;logging => yes
|
||||
;
|
||||
; Slow query limit. If a query exceeds the given amount of time (in milliseconds)
|
||||
; when executing then a WARNING message will be output to indicate that there
|
||||
; may be a problem. Note that logging must be set to "yes" for this to occur. By
|
||||
; default this is set to 5000 milliseconds (or 5 seconds). If you would like to
|
||||
; disable the WARNING message it can be set to "0".
|
||||
;slow_query_limit => 5000
|
||||
|
||||
[mysql2]
|
||||
enabled => no
|
||||
dsn => MySQL-asterisk
|
||||
username => myuser
|
||||
password => mypass
|
||||
pre-connect => yes
|
||||
|
||||
; Certain servers, such as MS SQL Server and Sybase use the TDS protocol, which
|
||||
; limits the number of active queries per connection to 1.
|
||||
[sqlserver]
|
||||
enabled => no
|
||||
dsn => mickeysoft
|
||||
max_connections => 5
|
||||
username => oscar
|
||||
password => thegrouch
|
||||
pre-connect => yes
|
||||
sanitysql => select count(*) from systables
|
||||
; forcecommit => no ; Default to committing uncommitted transactions?
|
||||
; Note: this is NOT the autocommit flag; this
|
||||
; determines the end result of transactions which
|
||||
; are not explicitly committed or rolled back. By
|
||||
; default, such transactions are rolled back if the
|
||||
; call ends without an explicit commit.
|
||||
; isolation => read_committed ; Isolation level; supported levels are:
|
||||
; read_uncommitted, read_committed, repeatable_read,
|
||||
; serializable. Note that not all databases support
|
||||
; all isolation levels (e.g. Postgres only supports
|
||||
; repeatable_read and serializable). See database
|
||||
; documentation for further information.
|
||||
;
|
||||
; Many databases have a default of '\' to escape special characters. MS SQL
|
||||
; Server does not.
|
||||
backslash_is_escape => no
|
||||
|
||||
;
|
||||
; If you are having problems with concurrency, please read this note from the
|
||||
; mailing lists, regarding UnixODBC:
|
||||
;
|
||||
; http://lists.digium.com/pipermail/asterisk-dev/2009-February/036539.html
|
||||
;
|
||||
; In summary, try setting "Threading=2" in the relevant section within your
|
||||
; odbcinst.ini.
|
||||
;
|
||||
|
||||
|
||||
;[asterisk]
|
||||
;enabled=yes
|
||||
;dsn=mariadb
|
||||
;username=asterisk_user
|
||||
;password=asterisk_pass
|
||||
;pre-connect=yes
|
||||
|
||||
|
||||
;[asterisk]
|
||||
;enabled => yes
|
||||
;dsn => mariadb
|
||||
;username => asterisk_user
|
||||
;password => asterisk_pass
|
||||
;pre-connect => yes
|
||||
|
||||
[asterisk]
|
||||
enabled => yes
|
||||
dsn => asterisk
|
||||
username => asterisk_user
|
||||
password => asterisk_pass
|
||||
pre-connect => yes
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
163
MySQL_conf_pbx/test1/conf/asterisk/res_parking.conf
Executable file
163
MySQL_conf_pbx/test1/conf/asterisk/res_parking.conf
Executable file
@ -0,0 +1,163 @@
|
||||
[general]
|
||||
;parkeddynamic = yes ; Enables dynamically created parkinglots. (default is no)
|
||||
; If the option is enabled then the following
|
||||
; variables can be used to dynamically create
|
||||
; new parking lots.
|
||||
;
|
||||
; The PARKINGDYNAMIC variable specifies the
|
||||
; parking lot to use as a template to create
|
||||
; a dynamic parking lot. It is an error to
|
||||
; specify a non-existent parking lot for the
|
||||
; template. If not set then the default
|
||||
; parking lot is used as the template.
|
||||
;
|
||||
; The PARKINGDYNCONTEXT variable specifies
|
||||
; the dialplan context to use for the newly
|
||||
; created dynamic parking lot. If not set
|
||||
; then the context from the parking lot
|
||||
; template is used. The context is created
|
||||
; if it does not already exist and the new
|
||||
; parking lot needs to create extensions.
|
||||
;
|
||||
; The PARKINGDYNEXTEN variable specifies the
|
||||
; parkext to use for the newly created dynamic
|
||||
; parking lot. If not set then the parkext
|
||||
; is used from the parking lot template. If
|
||||
; the template does not specify a parkext
|
||||
; then no extensions are created for the
|
||||
; newly created parking lot. The dynamic
|
||||
; parking lot cannot be created if it needs
|
||||
; to create extensions that overlap existing
|
||||
; parking lot extensions. The only exception
|
||||
; to this is for the parkext extension and
|
||||
; only if neither of the overlaping parking
|
||||
; lot's parkext is exclusive.
|
||||
;
|
||||
; The PARKINGDYNPOS variable specifies the
|
||||
; parking positions to use for the newly
|
||||
; created dynamic parking lot. If not set
|
||||
; then the parkpos from the parking lot
|
||||
; template is used.
|
||||
|
||||
; A parking lot named 'default' will automatically be used when no other
|
||||
; named parking lot is indicated for use by the park application or a
|
||||
; channel's parkinglot function and PARKINGLOT channel variable. This parking
|
||||
; lot is guaranteed to exist and will be created even if default is left out of
|
||||
; the configuration file.
|
||||
|
||||
[default] ; Default Parking Lot
|
||||
parkext => 700 ; What extension to dial to park. (optional; if
|
||||
; specified, extensions will be created for parkext and
|
||||
; the whole range of parkpos)
|
||||
;
|
||||
; Note: Generated parking extensions cannot overlap.
|
||||
; The only exception is if neither overlapping parkext
|
||||
; is exclusive.
|
||||
|
||||
;parkext_exclusive=yes ; Specify that the parkext created for this parking lot
|
||||
; will only access this parking lot. (default is no)
|
||||
|
||||
parkpos => 701-720 ; What range of parking spaces to use - must be numeric
|
||||
; Creates these spaces as extensions if parkext is set.
|
||||
; Since this value is interpreted numerically, leading 0's
|
||||
; will be ignored (so expect 00700-00720 to map to 700-720)
|
||||
|
||||
context => parkedcalls ; Which context parked calls and the default park
|
||||
|
||||
;parkinghints = no ; Add hints priorities automatically for parkpos
|
||||
; extensions if parkext is set
|
||||
|
||||
;parkingtime => 45 ; Number of seconds a call can be parked before returning
|
||||
|
||||
;comebacktoorigin = yes ; Setting this option configures the behavior of call parking when the
|
||||
; parked call times out (See the parkingtime option). The default value is 'yes'.
|
||||
;
|
||||
; 'yes' - When the parked call times out, attempt to send the call back to the peer
|
||||
; that parked this call. This is done by saving off the name of the channel
|
||||
; that parked the call. The call will return to the context 'park-dial' and
|
||||
; an extension created based on the name of the channel that originally parked
|
||||
; the call. This extension will be created automatically to do a Dial() to the
|
||||
; device that originally parked the call for comebacktodialtime seconds. If the
|
||||
; call is not answered, the call will proceed to the next priority (usually none
|
||||
; unless you deliberately set up a catch-all second priority in the park-call
|
||||
; context) in the dialplan for extension matching the peer name (same as how
|
||||
; peer names are flattened into extensions when comebacktoorigin is 'no').
|
||||
;
|
||||
; 'no' - This option is useful for performing custom dialplan functionality prior to
|
||||
; sending the call back to the extension that initially parked the call, or to
|
||||
; an entirely different destination.
|
||||
;
|
||||
; When the parked call times out, send it back to the dialplan. The location
|
||||
; will be defined by the comebackcontext option. The extension will be built from
|
||||
; the saved channel name that parked the call. For example, if a SIP peer named
|
||||
; '0004F2040001' parked this call, the extension will be 'SIP_0004F2040001'.
|
||||
; (Note that an underscore is used here because the '/' character has a special
|
||||
; meaning in extension names for CallerID matching.) If this extension does not
|
||||
; exist, the call will be sent to the 's' extension, instead. Finally, if the 's'
|
||||
; extension of 'parkedcallstimeout' does not exist, the call will fall back to the
|
||||
; 's' extension of the 'default' context.
|
||||
;
|
||||
; Additionally, in this example an extension of 'SIP_0004F2040001' will be
|
||||
; created in the 'park-dial' context. This extension will be set up to do a
|
||||
; Dial() to 'SIP/0004F2040001'.
|
||||
;
|
||||
; During the timeout procedure, the following variables are set
|
||||
; PARKING_SPACE - extension that the call was parked in prior to timing out
|
||||
; PARKEDLOT - name of the lot that the call was parked in prior to timing out
|
||||
; PARKER - dial string to call the device that parked the call
|
||||
|
||||
;comebackdialtime = 30 ; When a parked call times out, this is the number of seconds to dial the device that
|
||||
; originally parked the call. It is also available as a channel variable COMEBACKDIALTIME
|
||||
; after a parked call has timed out.
|
||||
; The default value is 30 seconds.
|
||||
|
||||
;comebackcontext = parkedcallstimeout
|
||||
; The context a timed out call will return to if comebcktoorigin=no.
|
||||
; The default value is 'parkedcallstimeout'.
|
||||
|
||||
;courtesytone = beep ; Sound file to play to when someone picks up a parked call
|
||||
; and also when the Touch Monitor is activated/deactivated.
|
||||
; Default is no tone.
|
||||
|
||||
;parkedplay = caller ; Who to play courtesytone 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 no)
|
||||
|
||||
;parkedcallreparking = caller ; Enables or disables DTMF based parking when picking up a parked call.
|
||||
; one of: callee, caller, both, no (default is no)
|
||||
|
||||
;parkedcallhangup = caller ; Enables or disables DTMF based hangups when picking up a parked call.
|
||||
; one of: callee, caller, both, no (default is no)
|
||||
|
||||
;findslot => next ; Sets the method for selecting parking spaces when a call is parked
|
||||
; 'next' - use the next parking space from the most recently used one.
|
||||
; 'first' - use the lowest numbered parking space 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
|
||||
|
||||
;*** Define another parking lot
|
||||
;
|
||||
; The parkinglot used can be set with the CHANNEL(parkinglot) dialplan function or by
|
||||
; setting the 'parkinglot' configuration for a channel in its configuration file.
|
||||
;
|
||||
; Parking lots can now be any named configuration category aside from
|
||||
; 'general' which is reserved for general options. They no longer need to be
|
||||
; prefixed with 'parkinglot_'
|
||||
;
|
||||
;[edvina]
|
||||
;context => edvina_park
|
||||
;parkpos => 800-850
|
||||
;findslot => next
|
||||
;comebacktoorigin = no
|
||||
;comebackdialtime = 90
|
||||
;comebackcontext = edvinapark-timeout
|
||||
;parkedmusicclass = edvina
|
||||
;
|
||||
; Since edvina doesn't define parkext, extensions won't automatically be
|
||||
; created for parking to it or for retrieving calls from it. These can be
|
||||
; created manually in the dial plan by using the Park and ParkedCall
|
||||
; applications.
|
||||
36
MySQL_conf_pbx/test1/conf/asterisk/res_pgsql.conf
Executable file
36
MySQL_conf_pbx/test1/conf/asterisk/res_pgsql.conf
Executable file
@ -0,0 +1,36 @@
|
||||
;
|
||||
; 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
|
||||
;dbappname=asterisk ; Postgres application_name support (optional). Whitespace not allowed.
|
||||
;
|
||||
; dbsock is specified as the directory where the socket file may be found. The
|
||||
; actual socket is constructed as a combination of dbsock and dbport. For
|
||||
; example, the values of '/tmp' and '5432', respectively, will specify a socket
|
||||
; file of '/tmp/.s.PGSQL.5432'.
|
||||
;
|
||||
;dbsock=/tmp
|
||||
;
|
||||
; requirements - At startup, each realtime family will make requirements
|
||||
; on the backend. There are several strategies for handling requirements:
|
||||
; warn - Warn if the required column does not exist.
|
||||
; createclose - Create columns as close to the requirements as possible.
|
||||
; createchar - Create char columns only
|
||||
;
|
||||
requirements=warn
|
||||
|
||||
; When multiple rows are requested by realtime, res_config_pgsql will add an
|
||||
; explicit ORDER BY clause to the generated SELECT statement. To prevent
|
||||
; that from occuring, set order_multi_row_results_by_initial_column to 'no'.
|
||||
;
|
||||
;order_multi_row_results_by_initial_column=no
|
||||
32
MySQL_conf_pbx/test1/conf/asterisk/res_pktccops.conf
Executable file
32
MySQL_conf_pbx/test1/conf/asterisk/res_pktccops.conf
Executable file
@ -0,0 +1,32 @@
|
||||
;; Sample res_pktccops.conf
|
||||
;
|
||||
;[general]
|
||||
;gateinfoperiod => 60 ; default 60s
|
||||
;gatetimeout = 150 ; default 150
|
||||
;t1 => 250 ; default 250s
|
||||
;t7 => 200 ; default 200s
|
||||
;t8 => 300 ; default 300s
|
||||
;keepalive => 60 ; default 60s
|
||||
;
|
||||
;[teszt]
|
||||
;host => 192.168.0.24
|
||||
;pool => 10.0.1.0 10.0.1.255
|
||||
;pool => 10.0.3.0 10.0.3.255
|
||||
;pool => 10.0.7.0 10.0.8.255
|
||||
;pool => 10.0.10.0 10.0.11.255
|
||||
;
|
||||
;[general]
|
||||
;gateinfoperiod => 60 ; default 60s
|
||||
;gatetimeout = 150 ; default 150
|
||||
;t1 => 250 ; default 250s
|
||||
;t7 => 200 ; default 200s
|
||||
;t8 => 300 ; default 300s
|
||||
;keepalive => 60 ; default 60s
|
||||
;
|
||||
;[test]
|
||||
;host => 192.168.0.24
|
||||
;pool => 10.0.1.0 10.0.1.255
|
||||
;pool => 10.0.3.0 10.0.3.255
|
||||
;pool => 10.0.7.0 10.0.8.255
|
||||
;pool => 10.0.10.0 10.0.11.255
|
||||
;
|
||||
18
MySQL_conf_pbx/test1/conf/asterisk/res_snmp.conf
Executable file
18
MySQL_conf_pbx/test1/conf/asterisk/res_snmp.conf
Executable file
@ -0,0 +1,18 @@
|
||||
;
|
||||
; Configuration file for res_snmp
|
||||
; --------------------------------
|
||||
;
|
||||
; Res_snmp can run as a subagent or standalone SNMP agent. The standalone snmp
|
||||
; agent is based on net-snmp and will read a configuration file called
|
||||
; asterisk.conf in the net-snmp configuration file path, starting with
|
||||
; /etc/snmp on many systems.
|
||||
;
|
||||
; If you use the subagent model, you need to enable agentx in snmpd.conf
|
||||
; Note that you can only run one Asterisk on the system in this case.
|
||||
|
||||
[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
|
||||
27
MySQL_conf_pbx/test1/conf/asterisk/res_stun_monitor.conf
Executable file
27
MySQL_conf_pbx/test1/conf/asterisk/res_stun_monitor.conf
Executable file
@ -0,0 +1,27 @@
|
||||
;
|
||||
; Configuration file for the res_stun_monitor module
|
||||
;
|
||||
; The res_stun_monitor module sends STUN requests to a configured STUN server
|
||||
; periodically. If the monitor detects a change in the external IP address or port
|
||||
; provided by the STUN server an event is sent out internally within Asterisk
|
||||
; to alert all listeners to that event of the change.
|
||||
|
||||
; The current default listeners for the network change event include chan_sip
|
||||
; and chan_iax. Both of these channel drivers by default react to this event
|
||||
; by renewing all outbound registrations. This allows the endpoints Asterisk
|
||||
; is registering with to become aware of the address change and know the new
|
||||
; location.
|
||||
;
|
||||
[general]
|
||||
;
|
||||
; ---- STUN Server configuration ---
|
||||
; Setting the 'stunaddr' option to a valid address enables the STUN monitor.
|
||||
;
|
||||
;stunaddr = mystunserver.com ; Address of the STUN server to query.
|
||||
; Valid form:
|
||||
; [(hostname | IP-address) [':' port]]
|
||||
; The port defaults to the standard STUN port (3478).
|
||||
; Set to an empty value to disable STUN monitoring.
|
||||
; Default is disabled.
|
||||
;stunrefresh = 30 ; Number of seconds between STUN refreshes.
|
||||
; Default is 30.
|
||||
23
MySQL_conf_pbx/test1/conf/asterisk/resolver_unbound.conf
Executable file
23
MySQL_conf_pbx/test1/conf/asterisk/resolver_unbound.conf
Executable file
@ -0,0 +1,23 @@
|
||||
; Unbound DNS Resolver Configuration
|
||||
;
|
||||
; This file serves as a reference for the configurable options within the
|
||||
; unbound DNS resolver.
|
||||
|
||||
[general]
|
||||
;hosts = /etc/hosts ; Full path to a hosts file which contains a mapping of
|
||||
; ; hostnames to addresses. If "system" is specified then
|
||||
; ; the system specific hosts file will be used. (default: system)
|
||||
;resolv = /etc/resolv.conf ; Full path to a resolv.conf which contains the nameservers
|
||||
; ; to use for resolution. If "system" is specified then the
|
||||
; ; system specific resolv.conf file will be used. (default: system)
|
||||
;nameserver = 127.0.0.1 ; An explicit nameserver to use for queries. If this option
|
||||
; ; is specified multiple times the first configured one will
|
||||
; ; be treated as the primary with each subsequent one being
|
||||
; ; a backup. If the resolv options is also specified the
|
||||
; ; nameservers from it will be tried after all nameserver
|
||||
; ; options.
|
||||
;debug = 99 ; The debug level to run the unbound resolver at. While
|
||||
; ; there is no explicit range the higher the number the more
|
||||
; ; debug is output.
|
||||
;ta_file = /etc/asterisk/dnssec_keys ; Full path to a trusted anchors key file. These keys are
|
||||
; ; used to verify DNSSEC signed results.
|
||||
162
MySQL_conf_pbx/test1/conf/asterisk/rtp.conf
Executable file
162
MySQL_conf_pbx/test1/conf/asterisk/rtp.conf
Executable file
@ -0,0 +1,162 @@
|
||||
;
|
||||
; 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)
|
||||
;
|
||||
; Enable strict RTP protection. This will drop RTP packets that do not come
|
||||
; from the recognized source of the RTP stream. Strict RTP qualifies RTP
|
||||
; packet stream sources before accepting them upon initial connection and
|
||||
; when the connection is renegotiated (e.g., transfers and direct media).
|
||||
; Initial connection and renegotiation starts a learning mode to qualify
|
||||
; stream source addresses. Once Asterisk has recognized a stream it will
|
||||
; allow other streams to qualify and replace the current stream for 5
|
||||
; seconds after starting learning mode. Once learning mode completes the
|
||||
; current stream is locked in and cannot change until the next
|
||||
; renegotiation.
|
||||
; Valid options are "no" to disable strictrtp, "yes" to enable strictrtp,
|
||||
; and "seqno", which does the same thing as strictrtp=yes, but only checks
|
||||
; to make sure the sequence number is correct rather than checking the time
|
||||
; interval as well.
|
||||
; This option is enabled by default.
|
||||
; strictrtp=yes
|
||||
;
|
||||
; Number of packets containing consecutive sequence values needed
|
||||
; to change the RTP source socket address. This option only comes
|
||||
; into play while using strictrtp=yes. Consider changing this value
|
||||
; if rtp packets are dropped from one or both ends after a call is
|
||||
; connected. This option is set to 4 by default.
|
||||
; probation=8
|
||||
;
|
||||
; Enable sRTP replay protection. Buggy SIP user agents (UAs) reset the
|
||||
; sequence number (RTP-SEQ) on a re-INVITE, for example, with Session Timers
|
||||
; or on Call Hold/Resume, but keep the synchronization source (RTP-SSRC). If
|
||||
; the new RTP-SEQ is higher than the previous one, the call continues if the
|
||||
; roll-over counter (sRTP-ROC) is zero (the call lasted less than 22 minutes).
|
||||
; In all other cases, the call faces one-way audio or even no audio at all.
|
||||
; "replay check failed (index too old)" gets printed continuously. This is a
|
||||
; software bug. You have to report this to the creator of that UA. Until it is
|
||||
; fixed, you could disable sRTP replay protection (see RFC 3711 section 3.3.2).
|
||||
; This option is enabled by default.
|
||||
; srtpreplayprotection=yes
|
||||
;
|
||||
; Whether to enable or disable ICE support. This option is enabled by default.
|
||||
; icesupport=false
|
||||
;
|
||||
; Hostname or address for the STUN server used when determining the external
|
||||
; IP address and port an RTP session can be reached at. The port number is
|
||||
; optional. If omitted the default value of 3478 will be used. This option is
|
||||
; disabled by default. Name resolution will occur at load time, and if DNS is
|
||||
; used, name resolution will occur repeatedly after the TTL expires.
|
||||
;
|
||||
; e.g. stundaddr=mystun.server.com:3478
|
||||
;
|
||||
; stunaddr=
|
||||
;
|
||||
; Some multihomed servers have IP interfaces that cannot reach the STUN
|
||||
; server specified by stunaddr. Blacklist those interface subnets from
|
||||
; trying to send a STUN packet to find the external IP address.
|
||||
; Attempting to send the STUN packet needlessly delays processing incoming
|
||||
; and outgoing SIP INVITEs because we will wait for a response that can
|
||||
; never come until we give up on the response.
|
||||
; * Multiple subnets may be listed.
|
||||
; * Blacklisting applies to IPv4 only. STUN isn't needed for IPv6.
|
||||
; * Blacklisting applies when binding RTP to specific IP addresses and not
|
||||
; the wildcard 0.0.0.0 address. e.g., A PJSIP endpoint binding RTP to a
|
||||
; specific address using the bind_rtp_to_media_address and media_address
|
||||
; options. Or the PJSIP endpoint specifies an explicit transport that binds
|
||||
; to a specific IP address. Blacklisting is done via ACL infrastructure
|
||||
; so it's possible to whitelist as well.
|
||||
;
|
||||
; stun_acl = named_acl
|
||||
; stun_deny = 0.0.0.0/0
|
||||
; stun_permit = 1.2.3.4/32
|
||||
;
|
||||
; For historic reasons stun_blacklist is an alias for stun_deny.
|
||||
;
|
||||
; Whether to report the PJSIP version in a SOFTWARE attribute for all
|
||||
; outgoing STUN packets. This option is enabled by default.
|
||||
;
|
||||
; stun_software_attribute=yes
|
||||
;
|
||||
; Hostname or address for the TURN server to be used as a relay. The port
|
||||
; number is optional. If omitted the default value of 3478 will be used.
|
||||
; This option is disabled by default.
|
||||
;
|
||||
; e.g. turnaddr=myturn.server.com:34780
|
||||
;
|
||||
; turnaddr=
|
||||
;
|
||||
; Username used to authenticate with TURN relay server.
|
||||
; turnusername=
|
||||
;
|
||||
; Password used to authenticate with TURN relay server.
|
||||
; turnpassword=
|
||||
;
|
||||
; An ACL can be used to determine which discovered addresses to include for
|
||||
; ICE, srflx and relay discovery. This is useful to optimize the ICE process
|
||||
; where a system has multiple host address ranges and/or physical interfaces
|
||||
; and certain of them are not expected to be used for RTP. For example, VPNs
|
||||
; and local interconnections may not be suitable or necessary for ICE. Multiple
|
||||
; subnets may be listed. If left unconfigured, all discovered host addresses
|
||||
; are used.
|
||||
;
|
||||
; ice_acl = named_acl
|
||||
; ice_deny = 0.0.0.0/0
|
||||
; ice_permit = 1.2.3.4/32
|
||||
;
|
||||
; For historic reasons ice_blacklist is an alias for ice_deny.
|
||||
;
|
||||
; The MTU to use for DTLS packet fragmentation. This option is set to 1200
|
||||
; by default. The minimum MTU is 256.
|
||||
; dtls_mtu = 1200
|
||||
;
|
||||
[ice_host_candidates]
|
||||
;
|
||||
; When Asterisk is behind a static one-to-one NAT and ICE is in use, ICE will
|
||||
; expose the server's internal IP address as one of the host candidates.
|
||||
; Although using STUN (see the 'stunaddr' configuration option) will provide a
|
||||
; publicly accessible IP, the internal IP will still be sent to the remote
|
||||
; peer. To help hide the topology of your internal network, you can override
|
||||
; the host candidates that Asterisk will send to the remote peer.
|
||||
;
|
||||
; IMPORTANT: Only use this functionality when your Asterisk server is behind a
|
||||
; one-to-one NAT and you know what you're doing. If you do define anything
|
||||
; here, you almost certainly will NOT want to specify 'stunaddr' or 'turnaddr'
|
||||
; above.
|
||||
;
|
||||
; The format for these overrides is:
|
||||
;
|
||||
; <local address> => <advertised address>,[include_local_address]
|
||||
;
|
||||
; The following will replace 192.168.1.10 with 1.2.3.4 during ICE
|
||||
; negotiation:
|
||||
;
|
||||
;192.168.1.10 => 1.2.3.4
|
||||
;
|
||||
; The following will include BOTH 192.168.1.10 and 1.2.3.4 during ICE
|
||||
; negotiation instead of replacing 192.168.1.10. This can make it easier
|
||||
; to serve both local and remote clients.
|
||||
;
|
||||
;192.168.1.10 => 1.2.3.4,include_local_address
|
||||
;
|
||||
; You can define an override for more than 1 interface if you have a multihomed
|
||||
; server. Any local interface that is not matched will be passed through
|
||||
; unaltered. Both IPv4 and IPv6 addresses are supported.
|
||||
383
MySQL_conf_pbx/test1/conf/asterisk/say.conf
Executable file
383
MySQL_conf_pbx/test1/conf/asterisk/say.conf
Executable file
@ -0,0 +1,383 @@
|
||||
;
|
||||
; language configuration
|
||||
;
|
||||
|
||||
[general]
|
||||
mode=old ; method for playing numbers and dates
|
||||
; old - using asterisk core function
|
||||
; new - using this configuration file
|
||||
|
||||
; 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:[Bbh]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11
|
||||
_date:[Aa]:. => digits/day-${SAY:16:1} ; day of week
|
||||
_date:[de]:. => num:${SAY:6:2} ; day of month
|
||||
_date:[H]:. => digits/oh, num:${SAY:8:2} ; hour (oh one, oh two, ..., oh nine, ten, eleven, ..., twenty-three)
|
||||
_date:[I]:. => num:${IF($[${SAY:8:2} > 12] ? $[${SAY:8:2}%12] : ${SAY:8:2})} ; hour 0-12
|
||||
_date:[M]:. => num:${SAY:10:2} ; minute
|
||||
; XXX too bad the '?' function does not remove the quotes
|
||||
; _date:[pP]:. => digits/$[ ${SAY:10:2} >= 12 ? "p-m" :: "a-m"] ; am pm
|
||||
_date:[pP]:. => digits/p-m ; am pm
|
||||
_date:[S]:. => num:${SAY:13:2} ; seconds
|
||||
_date:[Ii]:. => num:$[${SAY:8:2} % 12] ; hour 0-12
|
||||
_date:[k]:. => num:${SAY:8:2} ; hour (one, two. three, ...,twenty three
|
||||
_date:[m]:. => num:${SAY:4:2} ; month number
|
||||
_date:[Q]:. => date:dby ;incomplete ; "today", "yesterday" or ABdY
|
||||
_date:[q]:. => date:dby ;incomplete ; "" (for today), "yesterday", weekday, or ABdY
|
||||
_date:[R]:. => date:HM${SAY} ; 24 hour time, including minute
|
||||
_date:[T]:. => date:HMS${SAY} ; 24 hour, minure, seconds
|
||||
|
||||
[en-base](!)
|
||||
_[n]um:0. => num:${SAY:1}
|
||||
_[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:X00 => num:${SAY:0:1}, digits/hundred
|
||||
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:X000 => num:${SAY:0:1}, digits/thousand
|
||||
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000 => num:${SAY:0:1}, digits/million
|
||||
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/million
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/million
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000000 => num:${SAY:0:1}, digits/billion
|
||||
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
|
||||
_[n]um:XX000000000 => num:${SAY:0:2}, digits/billion
|
||||
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
|
||||
_[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion
|
||||
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
|
||||
|
||||
; enumeration
|
||||
_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]00 => num:${SAY:0:1}, digits/h-hundred
|
||||
_e[n]um:[1-9]XX => num:${SAY:0:1}, digits/h-hundred, enum:${SAY:1}
|
||||
|
||||
[en_GB](date-base,digit-base,en-base)
|
||||
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, vm-and, num:${SAY:1}
|
||||
|
||||
[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:100 => digits/hundred
|
||||
_[n]um:1XX => digits/hundred, num:${SAY:1}
|
||||
_[n]um:[2-9]00 => num:${SAY:0:1}, digits/hundred
|
||||
_[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:1000 => digits/thousand
|
||||
_[n]um:1XXX => digits/thousand, num:${SAY:1}
|
||||
_[n]um:[2-9]000 => num:${SAY:0:1}, digits/thousands
|
||||
_[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousands
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousands
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3}
|
||||
|
||||
_[n]um:1000000 => num:${SAY:0:1}, digits/million
|
||||
_[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:[2-9]000000 => num:${SAY:0:1}, digits/millions
|
||||
_[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/millions
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/millions
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000000 => num:${SAY:0:1}, digits/billion
|
||||
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
|
||||
_[n]um:XX000000000 => num:${SAY:0:2}, digits/billion
|
||||
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
|
||||
_[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion
|
||||
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
|
||||
|
||||
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
|
||||
_date::. => date:AdBY:${SAY}
|
||||
_time::. => date:IMp:${SAY}
|
||||
|
||||
[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:100 => digits/ein, digits/hundred
|
||||
_[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1}
|
||||
_[n]um:[2-9]00 => digits/${SAY:0:1}, digits/hundred
|
||||
_[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:1000 => digits/ein, digits/thousand
|
||||
_[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1}
|
||||
_[n]um:[2-9]000 => digits/${SAY:0:1}, digits/thousand
|
||||
_[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:1}
|
||||
|
||||
_[n]um:1000000 => digits/eine, digits/million
|
||||
_[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1}
|
||||
_[n]um:[2-9]000000 => digits/${SAY:0:1}, digits/millions
|
||||
_[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/millions
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/millions
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
|
||||
|
||||
_datetime::. => date:AdBY 'digits/at' IMp:${SAY}
|
||||
_date::. => date:AdBY:${SAY}
|
||||
_time::. => date:IMp:${SAY}
|
||||
|
||||
[hu](digit-base,date-base)
|
||||
_[n]um:0. => num:${SAY:1}
|
||||
_[n]um:X => digits/${SAY}
|
||||
_[n]um:1[1-9] => digits/10en, digits/${SAY:1}
|
||||
_[n]um:2[1-9] => digits/20on, digits/${SAY:1}
|
||||
_[n]um:[1-9]0 => digits/${SAY}
|
||||
_[n]um:[3-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
|
||||
_[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:X000 => num:${SAY:0:1}, digits/thousand
|
||||
_[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000 => num:${SAY:0:1}, digits/million
|
||||
_[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/million
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/million
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000000 => num:${SAY:0:1}, digits/billion
|
||||
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
|
||||
_[n]um:XX000000000 => num:${SAY:0:2}, digits/billion
|
||||
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
|
||||
_[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion
|
||||
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
|
||||
|
||||
_datetime::. => date:YBdA k 'ora' M 'perc':${SAY}
|
||||
_date::. => date:YBdA:${SAY}
|
||||
_time::. => date:k 'ora' M 'perc':${SAY}
|
||||
|
||||
[fr](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-6]1 => digits/${SAY:0:1}0, vm-and, digits/${SAY:1}
|
||||
_[n]um:71 => digits/60, vm-and, num:1${SAY:1}
|
||||
_[n]um:7X => digits/60, num:1${SAY:1}
|
||||
_[n]um:9X => digits/80, num:1${SAY:1}
|
||||
_[n]um:[2-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
|
||||
_[n]um:100 => digits/hundred
|
||||
_[n]um:1XX => digits/hundred, num:${SAY:1}
|
||||
_[n]um:[2-9]00 => num:${SAY:0:1}, digits/hundred
|
||||
_[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:1000 => digits/thousand
|
||||
_[n]um:1XXX => digits/thousand, num:${SAY:1}
|
||||
_[n]um:[2-9]000 => num:${SAY:0:1}, digits/thousand
|
||||
_[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
|
||||
|
||||
_[n]um:1000000 => num:${SAY:0:1}, digits/million
|
||||
_[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:[2-9]000000 => num:${SAY:0:1}, digits/million
|
||||
_[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/million
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/million
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
|
||||
|
||||
_datetime::. => date:AdBY 'digits/at' H 'hours' M 'perc':${SAY}
|
||||
_date::. => date:AdBY:${SAY}
|
||||
_time::. => date:H 'hours' M 'perc':${SAY}
|
||||
|
||||
_pho[n]e:XXXX => num:${SAY:0:2}, num:${SAY:2:2}
|
||||
_pho[n]e:0[1-9]XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:1}, num:${SAY:2:2}, num:${SAY:4:2}, num:${SAY:6:2}, num:${SAY:8:2}
|
||||
_pho[n]e:. => digit:${SAY}
|
||||
|
||||
[es](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[1-9] => digits/20-and, digits/${SAY:1}
|
||||
_[n]um:[3-9][1-9] => digits/${SAY:0:1}0, vm-and, digits/${SAY:1}
|
||||
_[n]um:100 => digits/hundred
|
||||
_[n]um:1XX => digits/100-and, num:${SAY:1}
|
||||
_[n]um:[2-9]00 => digits/${SAY}
|
||||
_[n]um:[2-9]XX => digits/${SAY:0:1}00, num:${SAY:1}
|
||||
|
||||
_[n]um:1000 => digits/thousand
|
||||
_[n]um:1XXX => digits/thousand, num:${SAY:1}
|
||||
_[n]um:[2-9]000 => num:${SAY:0:1}, digits/thousand
|
||||
_[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
|
||||
|
||||
_[n]um:1000000 => digits/1M, digits/million
|
||||
_[n]um:1XXXXXX => digits/1M, digits/million, num:${SAY:1}
|
||||
_[n]um:[2-9]000000 => num:${SAY:0:1}, digits/millions
|
||||
_[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/millions
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/millions
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
|
||||
_[n]um:XXXX000000 => num:${SAY:0:4}, digits/millions
|
||||
_[n]um:XXXXXXXXXX => num:${SAY:0:4}, digits/millions, num:${SAY:4}
|
||||
|
||||
_datetime::. => date:Ad 'letters/d' B 'letters/d' Y 'digits/at' HMp:${SAY}
|
||||
_date::. => date:Ad 'letters/d' B 'letters/d' Y:${SAY}
|
||||
_time::. => date:HMp:${SAY}
|
||||
|
||||
[da](date-base,digit-base)
|
||||
_[n]um:0. => num:${SAY:1}
|
||||
_[n]um:X => digits/${SAY}
|
||||
_[n]um:1X => digits/${SAY}
|
||||
_[n]um:[2-9]0 => digits/${SAY}
|
||||
_[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
|
||||
_[n]um:100 => digits/1N, digits/hundred
|
||||
_[n]um:1XX => digits/1N, digits/hundred, num:${SAY:1}
|
||||
_[n]um:[2-9]00 => digits/${SAY:0:1}, digits/hundred
|
||||
_[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
|
||||
|
||||
_[n]um:1000 => digits/1N, digits/thousand
|
||||
_[n]um:1XXX => digits/1N, digits/thousand, num:${SAY:1}
|
||||
_[n]um:[2-9]000 => digits/${SAY:0:1}, digits/thousand
|
||||
_[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1}
|
||||
_[n]um:XX000 => num:${SAY:0:2}, digits/thousand
|
||||
_[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
|
||||
_[n]um:XXX000 => num:${SAY:0:3}, digits/thousand
|
||||
_[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000 => digits/${SAY:0:1}, digits/million
|
||||
_[n]um:XXXXXXX => digits/${SAY:0:1}, digits/million, num:${SAY:1}
|
||||
_[n]um:XX000000 => num:${SAY:0:2}, digits/millions
|
||||
_[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
|
||||
_[n]um:XXX000000 => num:${SAY:0:3}, digits/millions
|
||||
_[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
|
||||
|
||||
_[n]um:X000000000 => num:${SAY:0:1}, digits/billion
|
||||
_[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
|
||||
_[n]um:XX000000000 => num:${SAY:0:2}, digits/billion
|
||||
_[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
|
||||
_[n]um:XXX000000000 => num:${SAY:0:3}, digits/billion
|
||||
_[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
|
||||
|
||||
_datetime::. => date:AdBY 'digits/at' kM:${SAY}
|
||||
_date::. => date:AdBY:${SAY}
|
||||
_time::. => date:HM:${SAY}
|
||||
|
||||
; enumeration
|
||||
_e[n]um:X => digits/h-${SAY}
|
||||
_e[n]um:1X => digits/h-${SAY}
|
||||
_e[n]um:[2-9]0 => digits/h-${SAY}
|
||||
_e[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/h-${SAY:0:1}0
|
||||
_e[n]um:100 => digits/1N, digits/h-hundred
|
||||
_e[n]um:1XX => digits/1N, digits/h-hundred, enum:${SAY:1}
|
||||
_e[n]um:[2-9]00 => num:${SAY:0:1}, digits/h-hundred
|
||||
_e[n]um:[2-9]XX => num:${SAY:0:1}, digits/h-hundred, enum:${SAY:1}
|
||||
1621
MySQL_conf_pbx/test1/conf/asterisk/sip.conf
Executable file
1621
MySQL_conf_pbx/test1/conf/asterisk/sip.conf
Executable file
File diff suppressed because it is too large
Load Diff
57
MySQL_conf_pbx/test1/conf/asterisk/sip_notify.conf
Executable file
57
MySQL_conf_pbx/test1/conf/asterisk/sip_notify.conf
Executable file
@ -0,0 +1,57 @@
|
||||
; rfc3842
|
||||
; put empty "Content=>" at the end to have CRLF after last body line
|
||||
|
||||
[clear-mwi]
|
||||
Event=>message-summary
|
||||
Content-type=>application/simple-message-summary
|
||||
Content=>Messages-Waiting: no
|
||||
Content=>Message-Account: sip:asterisk@127.0.0.1
|
||||
Content=>Voice-Message: 0/0 (0/0)
|
||||
Content=>
|
||||
|
||||
; Aastra
|
||||
|
||||
[aastra-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
[aastra-xml]
|
||||
Event=>aastra-xml
|
||||
|
||||
; Digium
|
||||
|
||||
[digium-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
; Linksys
|
||||
|
||||
[linksys-cold-restart]
|
||||
Event=>reboot_now
|
||||
|
||||
[linksys-warm-restart]
|
||||
Event=>restart_now
|
||||
|
||||
; Polycom
|
||||
|
||||
[polycom-check-cfg]
|
||||
Event=>check-sync
|
||||
|
||||
; Sipura
|
||||
|
||||
[sipura-check-cfg]
|
||||
Event=>resync
|
||||
|
||||
[sipura-get-report]
|
||||
Event=>report
|
||||
|
||||
; snom
|
||||
|
||||
[snom-check-cfg]
|
||||
Event=>check-sync\;reboot=false
|
||||
|
||||
[snom-reboot]
|
||||
Event=>check-sync\;reboot=true
|
||||
|
||||
; Cisco
|
||||
|
||||
[cisco-check-cfg]
|
||||
Event=>check-sync
|
||||
207
MySQL_conf_pbx/test1/conf/asterisk/skinny.conf
Executable file
207
MySQL_conf_pbx/test1/conf/asterisk/skinny.conf
Executable file
@ -0,0 +1,207 @@
|
||||
;
|
||||
; 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
|
||||
|
||||
;authtimeout = 30 ; authtimeout specifies the maximum number of seconds a
|
||||
; client has to authenticate. If the client does not
|
||||
; authenticate beofre this timeout expires, the client
|
||||
; will be disconnected. (default: 30 seconds)
|
||||
|
||||
;authlimit = 50 ; authlimit specifies the maximum number of
|
||||
; unauthenticated sessions that will be allowed to
|
||||
; connect at any given time. (default: 50)
|
||||
|
||||
;vmexten=8500 ; Systemwide voicemailmain pilot number
|
||||
; It must be in the same context as the calling
|
||||
; device/line
|
||||
|
||||
; If regcontext is specified, Asterisk will dynamically create and destroy a
|
||||
; NoOp priority 1 extension for a given line which 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 line 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=skinnyregistrations
|
||||
|
||||
;allow=all ; see https://wiki.asterisk.org/wiki/display/AST/RTP+Packetization
|
||||
; for framing options
|
||||
;disallow=
|
||||
|
||||
; The imeddialkey option allows for a key to be used to immediately dial the already
|
||||
; entered number. This is useful where the dialplan includes variable length pattern
|
||||
; matching. Valid options are '#' and '*'. On devices with soft buttons, a button will
|
||||
; be available to immediately dial when a pattern than can be dialed has been entered.
|
||||
; Default is unset, that is no immediated dial key (softbutton still exists).
|
||||
;
|
||||
;immeddialkey=#
|
||||
|
||||
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of these parameters.
|
||||
;tos=cs3 ; Sets TOS for signaling packets.
|
||||
;tos_audio=ef ; Sets TOS for RTP audio packets.
|
||||
;tos_video=af41 ; Sets TOS for RTP video packets.
|
||||
;cos=3 ; Sets 802.1p priority for signaling packets.
|
||||
;cos_audio=5 ; Sets 802.1p priority for RTP audio packets.
|
||||
;cos_video=4 ; Sets 802.1p priority for RTP video packets.
|
||||
|
||||
; ----------------------------- 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".
|
||||
; ----------------------------------------------------------------------------------
|
||||
|
||||
[lines]
|
||||
; ---------------------------------- LINES SECTION --------------------------------
|
||||
; Options set under [lines] apply to all lines unless explicitly set for a particular
|
||||
; device. The options that can be set under lines are specified in GENERAL LINE OPTIONS.
|
||||
; These options can also be set for each individual device as well as those under SPECIFIC
|
||||
; LINE OPTIONS.
|
||||
;
|
||||
; Each label below [lines] in [] is a new line with the specific options specified below
|
||||
; it. Config stops reading new lines when one of the following is found: [general], [devices]
|
||||
; or the end of skinny.conf.
|
||||
;
|
||||
; Where options are common to both lines and devices, the results typically take that of
|
||||
; the least permission. ie if a no is set for either line or device, the call will not be
|
||||
; able to use that permission
|
||||
; ------------------------------- GENERAL LINE OPTIONS -----------------------------
|
||||
;earlyrtp=1 ; whether audio signalling should be provided by asterisk
|
||||
; ; (earlyrtp=1) or device generated (earlyrtp=0). default=yes
|
||||
;transfer=1 ; whether the device is allowed to transfer. default=yes
|
||||
;context=default ; context to use for this line.
|
||||
;callfwdtimeout=20000 ; ms before cfwd_noans occurs (default 20 secs)
|
||||
; ------------------------------ SPECIFIC LINE OPTIONS -----------------------------
|
||||
;setvar= ; allows for the setting of chanvars.
|
||||
; ----------------------------------------------------------------------------------
|
||||
|
||||
;[100]
|
||||
;nat=yes
|
||||
;callerid="Customer Support" <810-234-1212>
|
||||
; Note: app_voicemail mailboxes must be in the form of mailbox@context.
|
||||
;mailbox=100
|
||||
;vmexten=8500 ; Device level voicemailmain pilot number
|
||||
;regexten=100
|
||||
;context=inbound
|
||||
;linelabel="Support Line" ; Displays next to the line
|
||||
; button on 7940's and 7960s
|
||||
;[110]
|
||||
;callerid="John Chambers" <408-526-4000>
|
||||
;context=did
|
||||
;regexten=110
|
||||
;linelabel="John"
|
||||
;mailbox=110
|
||||
|
||||
;[120]
|
||||
;Nothing set, so all the defaults are used
|
||||
|
||||
;[500]
|
||||
;nat=yes
|
||||
;callerid="George W. Bush" <202-456-1414>
|
||||
;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device
|
||||
;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
|
||||
; cause the given audio file to
|
||||
; be played upon completion of
|
||||
; an attended transfer to the
|
||||
; target of the transfer.
|
||||
;mailbox=500
|
||||
;callwaiting=yes
|
||||
;transfer=yes
|
||||
;threewaycalling=yes
|
||||
;context=default
|
||||
;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.
|
||||
|
||||
|
||||
[devices]
|
||||
; --------------------------------- DEVICES SECTION -------------------------------
|
||||
; Options set under [devices] apply to all devices unless explicitly set for a particular
|
||||
; device. The options that can be set under devices are specified in GENERAL DEVICE OPTIONS.
|
||||
; These options can also be set for each individual device as well as those under SPECIFIC
|
||||
; DEVICE OPTIONS.
|
||||
;
|
||||
; Each label below [devices] in [] is a new device with the specific options specified below
|
||||
; it. Config stop reading new devices when one of the following is found: [general], [lines]
|
||||
; or the end of skinny.conf.
|
||||
;
|
||||
; Where options are common to both lines and devices, the results typically take that of
|
||||
; the least permission. ie if a no is set for either line or device, the call will not be
|
||||
; able to use that permission
|
||||
; ------------------------------ GENERAL DEVICE OPTIONS ----------------------------
|
||||
;earlyrtp=1 ; whether audio signalling should be provided by asterisk
|
||||
; ; (earlyrtp=1) or device generated (earlyrtp=0). default=yes
|
||||
;transfer=1 ; whether the device is allowed to transfer. default=yes
|
||||
; ----------------------------- SPECIFIC DEVICE OPTIONS ----------------------------
|
||||
;device="SEPxxxxxxxxxxxx ; id of the device. Must be set.
|
||||
;version=P002G204 ; firmware version to be loaded. If this version is different
|
||||
; ; to the one on the device, the device will try to load this
|
||||
; ; version from the tftp server. Set to device firmware version.
|
||||
; ----------------------------------------------------------------------------------
|
||||
|
||||
; Typical config for 12SP+
|
||||
;[florian]
|
||||
;device=SEP00D0BA847E6B
|
||||
;version=P002G204 ; Thanks critch
|
||||
;context=did
|
||||
;directmedia=yes ; Allow media to go directly between two RTP endpoints.
|
||||
;line=120 ; Dial(Skinny/120@florian)
|
||||
|
||||
; Service URLs attached to line buttons (eg phone directory)
|
||||
; See http://www.voip-info.org/wiki/view/Asterisk+Cisco+79XX+XML+Services
|
||||
; for intro to xml structure.
|
||||
;serviceurl=Directory,http://host/file.xml
|
||||
|
||||
|
||||
; 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
|
||||
;line=500
|
||||
|
||||
|
||||
; Typical config for a 7940 with dual 7914s
|
||||
;[support]
|
||||
;device=SEP0007EB463121
|
||||
;line=100
|
||||
;line=110
|
||||
;speeddial => 111,Jack Smith ; Adds a speeddial button to a device.
|
||||
;speeddial => 112@hints,Bob Peterson ; When a context is specified, the speeddial watches a dialplan hint.
|
||||
;addon => 7914
|
||||
;addon => 7914
|
||||
150
MySQL_conf_pbx/test1/conf/asterisk/sla.conf
Executable file
150
MySQL_conf_pbx/test1/conf/asterisk/sla.conf
Executable file
@ -0,0 +1,150 @@
|
||||
;
|
||||
; Configuration for Shared Line Appearances (SLA).
|
||||
;
|
||||
; See https://docs.asterisk.org 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.
|
||||
; -------------------------------------
|
||||
|
||||
|
||||
; ********************************
|
||||
; **** Configuration Ordering ****
|
||||
; ********************************
|
||||
|
||||
; Note that SLA configuration processing assumes that *all* trunk declarations are
|
||||
; listed in the configuration file before any stations.
|
||||
|
||||
; ********************************
|
||||
; ********************************
|
||||
|
||||
|
||||
; ---- Trunk Declarations -------------
|
||||
;
|
||||
;[line1] ; Provide a name for this trunk.
|
||||
|
||||
;type=trunk ; This line is what marks this entry as a trunk.
|
||||
|
||||
;device=DAHDI/3 ; Map this trunk declaration to a specific device.
|
||||
; NOTE: You can not just put any type of channel here.
|
||||
; DAHDI channels can be directly used. IP trunks
|
||||
; require some indirect configuration which is
|
||||
; described in
|
||||
; https://docs.asterisk.org/Configuration/Applications/Shared-Line-Appearances-SLA/
|
||||
|
||||
;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=DAHDI/4
|
||||
;autocontext=line2
|
||||
|
||||
;[line3]
|
||||
;type=trunk
|
||||
;device=DAHDI/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 https://docs.asterisk.org/Configuration/Applications/Shared-Line-Appearances-SLA/
|
||||
;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
|
||||
; --------------------------------------
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user