diff options
author | Kévin Raymond <kraymond@avencall.com> | 2012-10-03 18:00:05 +0200 |
---|---|---|
committer | Kévin Raymond <kraymond@avencall.com> | 2012-10-03 18:00:05 +0200 |
commit | 9dd5a2ce18e3956ab33bb064f8cdb5343bdae449 (patch) | |
tree | 57874571ee61cc4b92c98a218f6f3f405888069d | |
parent | 3d09827b355e65086744d88981a6e51c455addbf (diff) |
moving the full_IO − test enhenced
-rw-r--r-- | asterisk-load-tests/full_IO/README | 46 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/pcb/chan_dahdi.conf | 65 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/pcb/extensions.conf | 80 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/pcb/sip.conf | 686 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/xhd/chan_dahdi.conf | 79 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/xhd/conf.py | 31 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/xhd/extensions.conf | 76 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/xhd/sip.conf | 1340 | ||||
-rw-r--r-- | asterisk-load-tests/full_IO/xhd/system.conf | 44 | ||||
-rw-r--r-- | factory/full_IO/README | 11 | ||||
-rw-r--r-- | factory/full_IO/chan_dahdi.conf.nt | 1457 | ||||
-rw-r--r-- | factory/full_IO/chan_dahdi.conf.te | 1457 | ||||
-rwxr-xr-x | factory/full_IO/extensions.conf | 67 | ||||
-rwxr-xr-x | factory/full_IO/install.sh | 95 | ||||
-rw-r--r-- | factory/full_IO/screen_test | 12 | ||||
-rw-r--r-- | factory/full_IO/system.conf.nt (renamed from asterisk-load-tests/full_IO/pcb/system.conf) | 7 | ||||
-rw-r--r-- | factory/full_IO/system.conf.te | 42 |
17 files changed, 3148 insertions, 2447 deletions
diff --git a/asterisk-load-tests/full_IO/README b/asterisk-load-tests/full_IO/README deleted file mode 100644 index facfc96..0000000 --- a/asterisk-load-tests/full_IO/README +++ /dev/null @@ -1,46 +0,0 @@ -# TODO: -# - write the conf files and the script.. -# - should probably remove the ssh key on PCB after the test -# - on error, get PCB serial number, IP, MAC, logs and conf files (PCB and XHD -# side) - -Objective ---------- -This will checks that all port are basically fonctioning. -It runs 3 tests: - * Set the PCB[T0] ports in TE mode and the XHD[T0] ones in NT and then initiate - the call from XHD, the PCB should call back. - * Then it sets ports in the other way (NT/TE) an send a new call from XHD. - * Finally checks the FXO and FXS ports. - -Needs: - * Both card on the same network (ssh connection) - * The ssh key of XHD in the PCB' `~/.ssh/authorized_keys' - -Setup ------ - -You need to connect the proto board (ref bellow as "PCB") to the testing -computer (ref bellow as "XHD") which embbed a Digium BRI card. - - ------------ ------------ - PCB T0 -|−−−−−−−−−|- T0 XHD - T0 -|−−−−−−−−−|- T0 - T0 -|−−−−−−−−−|- T0 - T0 -|−−−−−−−−−|- T0 - | | - FXS -|−−−−−−−−−|- FXO - FXO -|−−−−−−−−−|- FXS - ------------ ------------ - - -Running the test ----------------- -#FIXME -# -run the full_IO.sh script - - -<!-- vi:syntax=markdown tw=80 - --> - diff --git a/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf b/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf deleted file mode 100644 index 46dca53..0000000 --- a/asterisk-load-tests/full_IO/pcb/chan_dahdi.conf +++ /dev/null @@ -1,65 +0,0 @@ -; -; DAHDI Telephony Configuration file -; -; You need to restart Asterisk to re-configure the DAHDI channel - -[trunkgroups] -; Trunk groups are used for NFAS connections. - -[channels] -usecallerid=yes -callwaiting=yes -usecallingpres=yes -callwaitingcallerid=yes -threewaycalling=yes -transfer=yes -canpark=yes -cancallforward=yes -callreturn=yes -group=1 -callgroup=1 -pickupgroup=1 - - -signalling=fxo_ks -callerid="Analog Phone" <1> -overlapdial=yes -mailbox=101 -group=11 -context=from-pstn -channel => 1 - -signalling=fxs_ks -callerid=asreceived -overlapdial=yes -group=12 -context=from-pstn -channel => 2 - -signalling=bri_net_ptmp -switchtype=euroisdn -overlapdial=yes -context=from-isdn -group=21 -channel => 3-4 - -signalling=bri_net_ptmp -switchtype=euroisdn -context=from-isdn -overlapdial=yes -group=22 -channel => 6-7 - -signalling=bri_net_ptmp -context=from-isdn -switchtype=euroisdn -overlapdial=yes -group=23 -channel => 9-10 - -signalling=bri_net_ptmp -context=from-isdn -switchtype=euroisdn -overlapdial=yes -group=24 -channel => 12-13 diff --git a/asterisk-load-tests/full_IO/pcb/extensions.conf b/asterisk-load-tests/full_IO/pcb/extensions.conf deleted file mode 100644 index 50d9f14..0000000 --- a/asterisk-load-tests/full_IO/pcb/extensions.conf +++ /dev/null @@ -1,80 +0,0 @@ -[from-internal] -include => default - -[from-sip] -exten = s,1,Dial(DAHDI/g11) - -[from-isdn] -include => default - -[from-pstn] -include => default - -exten = 103,1,NoOp(Dial FXS port - this is intended to be a loop) -exten = 103,n,Dial(DAHDI/g11/${EXTEN}) - -[default] -; FXS port -exten = 11,1,NoOp( Call 11 ) -same = n,Dial(DAHDI/g11) -same = n,Goto(hangup) - -; FXO port -exten = 12,1,NoOp( Call 12 ) -same = n,Dial(DAHDI/g12) -same = n,Hangup() - -; ISDN port#1 -exten = _21.,1,NoOp( Call 21 ) -same = n,Dial(DAHDI/g21/${EXTEN:2}) -;same = n,Hangup() - -; ISDN port#2 -exten = _22.,1,NoOp( Call 22 ) -same = n,Dial(DAHDI/g22/${EXTEN:2}) -;same = n,Hangup() - -; ISDN port#3 -exten = _23.,1,NoOp( Call 23 ) -same = n,Dial(DAHDI/g23/${EXTEN:2}) -;same = n,Hangup() - -; ISDN port#4 -exten = _24.,1,NoOp( Call 24 ) -same = n,Dial(DAHDI/g24/${EXTEN:2}) -;same = n,Hangup() - -; Aastra IP Phone -exten = 3,1,NoOp( Call 3 ) -exten = 3, n,Dial(SIP/${EXTEN}) - -; vers XiVO -exten = _9X.,1,NoOp() -exten = _9X.,n,Dial(SIP/test-oh/${EXTEN:1}) - - -; Call via ISDN port #2 from ISDN phone -exten = _7X.,1,NoOp( Call ${EXTEN:1} via port #2) -exten = _7X.,n,Dial(DAHDI/g22/${EXTEN:1}) - - -; Test sounds -exten => 123,1,Answer() -exten => 123,2,Playback(spy-agent) -exten => 123,3,Hangup - -exten = 666,1,While(1) -exten = 666,n,Playback(/root/sounds/schnappi_satan_8k) -exten = 666,n,Sleep(1) -exten = 666,n,EndWhile - -exten = hangup,1,NoOp() -same = n,Answer() -same = n,Wait(3) -same = n,Hangup() - - -;exten = _1XX,1,Dial(SIP/test/${EXTEN}) - -[te] -exten = s,1,NoOp(${CALLERID} => ${EXTEN}) diff --git a/asterisk-load-tests/full_IO/pcb/sip.conf b/asterisk-load-tests/full_IO/pcb/sip.conf deleted file mode 100644 index 83b744e..0000000 --- a/asterisk-load-tests/full_IO/pcb/sip.conf +++ /dev/null @@ -1,686 +0,0 @@ -; -; SIP Configuration example for Asterisk -; -; Syntax for specifying a SIP device in extensions.conf is -; SIP/devicename where devicename is defined in a section below. -; -; You may also use -; SIP/username@domain to call any SIP user on the Internet -; (Don't forget to enable DNS SRV records if you want to use this) -; -; If you define a SIP proxy as a peer below, you may call -; SIP/proxyhostname/user or SIP/user@proxyhostname -; where the proxyhostname is defined in a section below -; -; Useful CLI commands to check peers/users: -; sip show peers Show all SIP peers (including friends) -; sip show users Show all SIP users (including friends) -; sip show registry Show status of hosts we register with -; -; sip debug Show all SIP messages -; -; reload chan_sip.so Reload configuration file -; Active SIP peers will not be reconfigured -; - -[general] -context=from-sip ; Default context for incoming calls -;allowguest=no ; Allow or reject guest calls (default is yes) -allowoverlap=no ; Disable overlap dialing support. (Default is yes) -;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) - ; Default is enabled -;realm=mydomain.tld ; Realm for digest authentication - ; defaults to "asterisk". If you set a system name in - ; asterisk.conf, it defaults to that system name - ; Realms MUST be globally unique according to RFC 3261 - ; Set this to your host name or domain name -bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) - ; bindport is the local UDP port that Asterisk will listen on -bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) -srvlookup=yes ; Enable DNS SRV lookups on outbound calls - ; Note: Asterisk only uses the first host - ; in SRV records - ; Disabling DNS SRV lookups disables the - ; ability to place SIP calls based on domain - ; names to some other SIP users on the Internet - -;domain=mydomain.tld ; Set default domain for this host - ; If configured, Asterisk will only allow - ; INVITE and REFER to non-local domains - ; Use "sip show domains" to list local domains -;pedantic=yes ; Enable checking of tags in headers, - ; international character conversions in URIs - ; and multiline formatted headers for strict - ; SIP compatibility (defaults to "no") - -; See doc/ip-tos.txt for a description of these parameters. -;tos_sip=cs3 ; Sets TOS for SIP packets. -;tos_audio=ef ; Sets TOS for RTP audio packets. -;tos_video=af41 ; Sets TOS for RTP video packets. - -;maxexpiry=3600 ; Maximum allowed time of incoming registrations - ; and subscriptions (seconds) -;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) -;defaultexpiry=120 ; Default length of incoming/outgoing registration -;t1min=100 ; Minimum roundtrip time for messages to monitored hosts - ; Defaults to 100 ms -;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY -;checkmwi=10 ; Default time between mailbox checks for peers -;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC - ; fully. Enable this option to not get error messages - ; when sending MWI to phones with this bug. -;vmexten=voicemail ; dialplan extension to reach mailbox sets the - ; Message-Account in the MWI notify message - ; defaults to "asterisk" -;disallow=all ; First disallow all codecs -;allow=ulaw ; Allow codecs in order of preference -;allow=ilbc ; see doc/rtp-packetization for framing options -; -; This option specifies a preference for which music on hold class this channel -; should listen to when put on hold if the music class has not been set on the -; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer -; channel putting this one on hold did not suggest a music class. -; -; This option may be specified globally, or on a per-user or per-peer basis. -; -;mohinterpret=default -; -; This option specifies which music on hold class to suggest to the peer channel -; when this channel places the peer on hold. It may be specified globally or on -; a per-user or per-peer basis. -; -;mohsuggest=default -; -;language=en ; Default language setting for all users/peers - ; This may also be set for individual users/peers -;relaxdtmf=yes ; Relax dtmf handling -;trustrpid = no ; If Remote-Party-ID should be trusted -;sendrpid = yes ; If Remote-Party-ID should be sent -;progressinband=never ; If we should generate in-band ringing always - ; use 'never' to never use in-band signalling, even in cases - ; where some buggy devices might not render it - ; Valid values: yes, no, never Default: never -;useragent=Asterisk PBX ; Allows you to change the user agent string -;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address - ; Note that promiscredir when redirects are made to the - ; local system will cause loops since Asterisk is incapable - ; of performing a "hairpin" call. -;usereqphone = no ; If yes, ";user=phone" is added to uri that contains - ; a valid phone number -;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 - ; Other options: - ; info : SIP INFO messages - ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw) - ; auto : Use rfc2833 if offered, inband otherwise - -;compactheaders = yes ; send compact sip headers. -; -;videosupport=yes ; Turn on support for SIP video. You need to turn this on - ; in the this section to get any video support at all. - ; You can turn it off on a per peer basis if the general - ; video support is enabled, but you can't enable it for - ; one peer only without enabling in the general section. -;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) - ; Videosupport and maxcallbitrate is settable - ; for peers and users as well -;callevents=no ; generate manager events when sip ua - ; performs events (e.g. hold) -;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, - ; for any reason, always reject with '401 Unauthorized' - ; instead of letting the requester know whether there was - ; a matching user or peer for their request - -;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing - ; order instead of RFC3551 packing order (this is required - ; for Sipura and Grandstream ATAs, among others). This is - ; contrary to the RFC3551 specification, the peer _should_ - ; be negotiating AAL2-G726-32 instead :-( - -;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches - ; your localnet setting. Unless you have some sort of strange network - ; setup you will not need to enable this. - -; -; If regcontext is specified, Asterisk will dynamically create and destroy a -; NoOp priority 1 extension for a given peer who registers or unregisters with -; us and have a "regexten=" configuration item. -; Multiple contexts may be specified by separating them with '&'. The -; actual extension is the 'regexten' parameter of the registering peer or its -; name if 'regexten' is not provided. If more than one context is provided, -; the context must be specified within regexten by appending the desired -; context after '@'. More than one regexten may be supplied if they are -; separated by '&'. Patterns may be used in regexten. -; -;regcontext=sipregistrations -; -;--------------------------- RTP timers ---------------------------------------------------- -; These timers are currently used for both audio and video streams. The RTP timeouts -; are only applied to the audio channel. -; The settings are settable in the global section as well as per device -; -;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity - ; on the audio channel - ; when we're not on hold. This is to be able to hangup - ; a call in the case of a phone disappearing from the net, - ; like a powerloss or grandma tripping over a cable. -;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity - ; on the audio channel - ; when we're on hold (must be > rtptimeout) -;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open - ; (default is off - zero) -;--------------------------- SIP DEBUGGING --------------------------------------------------- -;sipdebug = yes ; Turn on SIP debugging by default, from - ; the moment the channel loads this configuration -;recordhistory=yes ; Record SIP history by default - ; (see sip history / sip no history) -;dumphistory=yes ; Dump SIP history at end of SIP dialogue - ; SIP history is output to the DEBUG logging channel - - -;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ---------------------------- -; You can subscribe to the status of extensions with a "hint" priority -; (See extensions.conf.sample for examples) -; chan_sip support two major formats for notifications: dialog-info and SIMPLE -; -; You will get more detailed reports (busy etc) if you have a call limit set -; for a device. When the call limit is filled, we will indicate busy. Note that -; you need at least 2 in order to be able to do attended transfers. -; -; For queues, you will need this level of detail in status reporting, regardless -; if you use SIP subscriptions. Queues and manager use the same internal interface -; for reading status information. -; -; Note: Subscriptions does not work if you have a realtime dialplan and use the -; realtime switch. -; -;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) -;subscribecontext = default ; Set a specific context for SUBSCRIBE requests - ; Useful to limit subscriptions to local extensions - ; Settable per peer/user also -;notifyringing = yes ; Notify subscriptions on RINGING state (default: no) -;notifyhold = yes ; Notify subscriptions on HOLD state (default: no) - ; Turning on notifyringing and notifyhold will add a lot - ; more database transactions if you are using realtime. -;limitonpeers = yes ; Apply call limits on peers only. This will improve - ; status notification when you are using type=friend - ; Inbound calls, that really apply to the user part - ; of a friend will now be added to and compared with - ; the peer limit instead of applying two call limits, - ; one for the peer and one for the user. - ; "sip show inuse" will only show active calls on - ; the peer side of a "type=friend" object if this - ; setting is turned on. - -;----------------------------------------- T.38 FAX PASSTHROUGH SUPPORT ----------------------- -; -; This setting is available in the [general] section as well as in device configurations. -; Setting this to yes, enables T.38 fax (UDPTL) passthrough on SIP to SIP calls, provided -; both parties have T38 support enabled in their Asterisk configuration -; This has to be enabled in the general section for all devices to work. You can then -; disable it on a per device basis. -; -; T.38 faxing only works in SIP to SIP calls, with no local or agent channel being used. -; -; t38pt_udptl = yes ; Default false -; -;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------ -; Asterisk can register as a SIP user agent to a SIP proxy (provider) -; Format for the register statement is: -; register => user[:secret[:authuser]]@host[:port][/extension] -; -; If no extension is given, the 's' extension is used. The extension needs to -; be defined in extensions.conf to be able to accept calls from this SIP proxy -; (provider). -; -; host is either a host name defined in DNS or the name of a section defined -; below. -; -; Examples: -; - -; XIVO XIVO XIVO - -; register => test-oh:toto@192.168.0.252 - -register => wg4xt2:29PUQE@192.168.17.252 - -; 41302 - -[test-oh] -type=friend -username=wg4xt2 -fromuser=41302 -secret=29PUQE -host=192.168.17.252 -nat=no - - -; -; This will pass incoming calls to the 's' extension -; -; -;register => 2345:password@sip_proxy/1234 -; -; Register 2345 at sip provider 'sip_proxy'. Calls from this provider -; connect to local extension 1234 in extensions.conf, default context, -; unless you configure a [sip_proxy] section below, and configure a -; context. -; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com] -; Tip 2: Use separate type=peer and type=user sections for SIP providers -; (instead of type=friend) if you have calls in both directions - -;registertimeout=20 ; retry registration calls every 20 seconds (default) -;registerattempts=10 ; Number of registration attempts before we give up - ; 0 = continue forever, hammering the other server - ; until it accepts the registration - ; Default is 0 tries, continue forever - -;----------------------------------------- NAT SUPPORT ------------------------ -; The externip, externhost and localnet settings are used if you use Asterisk -; behind a NAT device to communicate with services on the outside. - -;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP - ; messages if we're behind a NAT - - ; The externip and localnet is used - ; when registering and communicating with other proxies - ; that we're registered with -;externhost=foo.dyndns.net ; Alternatively you can specify an - ; external host, and Asterisk will - ; perform DNS queries periodically. Not - ; recommended for production - ; environments! Use externip instead -;externrefresh=10 ; How often to refresh externhost if - ; used - ; You may add multiple local networks. A reasonable - ; set of defaults are: -;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks -;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 -;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation -;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network - -; The nat= setting is used when Asterisk is on a public IP, communicating with -; devices hidden behind a NAT device (broadband router). If you have one-way -; audio problems, you usually have problems with your NAT configuration or your -; firewall's support of SIP+RTP ports. You configure Asterisk choice of RTP -; ports for incoming audio in rtp.conf -; -;nat=no ; Global NAT settings (Affects all peers and users) - ; yes = Always ignore info and assume NAT - ; no = Use NAT mode only according to RFC3581 (;rport) - ; never = Never attempt NAT mode or RFC3581 support - ; route = Assume NAT, don't send rport - ; (work around more UNIDEN bugs) - -;----------------------------------- MEDIA HANDLING -------------------------------- -; By default, Asterisk tries to re-invite the audio to an optimal path. If there's -; no reason for Asterisk to stay in the media path, the media will be redirected. -; This does not really work with in the case where Asterisk is outside and have -; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat -; -;canreinvite=yes ; Asterisk by default tries to redirect the - ; RTP media stream (audio) to go directly from - ; the caller to the callee. Some devices do not - ; support this (especially if one of them is behind a NAT). - ; The default setting is YES. If you have all clients - ; behind a NAT, or for some other reason wants Asterisk to - ; stay in the audio path, you may want to turn this off. - - ; In Asterisk 1.4 this setting also affect direct RTP - ; at call setup (a new feature in 1.4 - setting up the - ; call directly between the endpoints instead of sending - ; a re-INVITE). - -;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up - ; the call directly with media peer-2-peer without re-invites. - ; Will not work for video and cases where the callee sends - ; RTP payloads and fmtp headers in the 200 OK that does not match the - ; callers INVITE. This will also fail if canreinvite is enabled when - ; the device is actually behind NAT. - -;canreinvite=nonat ; An additional option is to allow media path redirection - ; (reinvite) but only when the peer where the media is being - ; sent is known to not be behind a NAT (as the RTP core can - ; determine it based on the apparent IP address the media - ; arrives from). - -;canreinvite=update ; Yet a third option... use UPDATE for media path redirection, - ; instead of INVITE. This can be combined with 'nonat', as - ; 'canreinvite=update,nonat'. It implies 'yes'. - -;----------------------------------------- REALTIME SUPPORT ------------------------ -; For additional information on ARA, the Asterisk Realtime Architecture, -; please read realtime.txt and extconfig.txt in the /doc directory of the -; source code. -; -;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list - ; just like friends added from the config file only on a - ; as-needed basis? (yes|no) - -;rtsavesysname=yes ; Save systemname in realtime database at registration - ; Default= no - -;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) - ; If set to yes, when a SIP UA registers successfully, the ip address, - ; the origination port, the registration period, and the username of - ; the UA will be set to database via realtime. - ; If not present, defaults to 'yes'. -;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule - ; as if it had just registered? (yes|no|<seconds>) - ; If set to yes, when the registration expires, the friend will - ; vanish from the configuration until requested again. If set - ; to an integer, friends expire within this number of seconds - ; instead of the registration interval. - -;ignoreregexpire=yes ; Enabling this setting has two functions: - ; - ; For non-realtime peers, when their registration expires, the - ; information will _not_ be removed from memory or the Asterisk database - ; if you attempt to place a call to the peer, the existing information - ; will be used in spite of it having expired - ; - ; For realtime peers, when the peer is retrieved from realtime storage, - ; the registration information will be used regardless of whether - ; it has expired or not; if it expires while the realtime peer - ; is still in memory (due to caching or other reasons), the - ; information will not be removed from realtime storage - -;----------------------------------------- SIP DOMAIN SUPPORT ------------------------ -; Incoming INVITE and REFER messages can be matched against a list of 'allowed' -; domains, each of which can direct the call to a specific context if desired. -; By default, all domains are accepted and sent to the default context or the -; context associated with the user/peer placing the call. -; Domains can be specified using: -; domain=<domain>[,<context>] -; Examples: -; domain=myasterisk.dom -; domain=customer.com,customer-context -; -; In addition, all the 'default' domains associated with a server should be -; added if incoming request filtering is desired. -; autodomain=yes -; -; To disallow requests for domains not serviced by this server: -; allowexternaldomains=no - -;domain=mydomain.tld,mydomain-incoming - ; Add domain and configure incoming context - ; for external calls to this domain -;domain=1.2.3.4 ; Add IP address as local domain - ; You can have several "domain" settings -;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains - ; Default is yes -;autodomain=yes ; Turn this on to have Asterisk add local host - ; name and local IP to domain list. - -; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to - ; non-peers, use your primary domain "identity" - ; for From: headers instead of just your IP - ; address. This is to be polite and - ; it may be a mandatory requirement for some - ; destinations which do not have a prior - ; account relationship with your server. - -;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- -; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a - ; SIP channel. Defaults to "no". An enabled jitterbuffer will - ; be used only if the sending side can create and the receiving - ; side can not accept jitter. The SIP channel can accept jitter, - ; thus a jitterbuffer on the receive SIP side will be used only - ; if it is forced and enabled. - -; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP - ; channel. Defaults to "no". - -; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. - -; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is - ; resynchronized. Useful to improve the quality of the voice, with - ; big jumps in/broken timestamps, usually sent from exotic devices - ; and programs. Defaults to 1000. - -; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP - ; channel. Two implementations are currently available - "fixed" - ; (with size always equals to jbmaxsize) and "adaptive" (with - ; variable size, actually the new jb of IAX2). Defaults to fixed. - -; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". -;----------------------------------------------------------------------------------- - -[authentication] -; Global credentials for outbound calls, i.e. when a proxy challenges your -; Asterisk server for authentication. These credentials override -; any credentials in peer/register definition if realm is matched. -; -; This way, Asterisk can authenticate for outbound calls to other -; realms. We match realm on the proxy challenge and pick an set of -; credentials from this list -; Syntax: -; auth = <user>:<secret>@<realm> -; auth = <user>#<md5secret>@<realm> -; Example: -;auth=mark:topsecret@digium.com -; -; You may also add auth= statements to [peer] definitions -; Peer auth= override all other authentication settings if we match on realm - -;------------------------------------------------------------------------------ -; Users and peers have different settings available. Friends have all settings, -; since a friend is both a peer and a user -; -; User config options: Peer configuration: -; -------------------- ------------------- -; context context -; callingpres callingpres -; permit permit -; deny deny -; secret secret -; md5secret md5secret -; dtmfmode dtmfmode -; canreinvite canreinvite -; nat nat -; callgroup callgroup -; pickupgroup pickupgroup -; language language -; allow allow -; disallow disallow -; insecure insecure -; trustrpid trustrpid -; progressinband progressinband -; promiscredir promiscredir -; useclientcode useclientcode -; accountcode accountcode -; setvar setvar -; callerid callerid -; amaflags amaflags -; call-limit call-limit -; allowoverlap allowoverlap -; allowsubscribe allowsubscribe -; allowtransfer allowtransfer -; subscribecontext subscribecontext -; videosupport videosupport -; maxcallbitrate maxcallbitrate -; rfc2833compensate mailbox -; t38pt_usertpsource username -; template -; fromdomain -; regexten -; fromuser -; host -; port -; qualify -; defaultip -; rtptimeout -; rtpholdtimeout -; sendrpid -; outboundproxy -; rfc2833compensate -; t38pt_usertpsource - -;[sip_proxy] -; For incoming calls only. Example: FWD (Free World Dialup) -; We match on IP address of the proxy for incoming calls -; since we can not match on username (caller id) -;type=peer -;context=from-fwd -;host=fwd.pulver.com - -;[sip_proxy-out] -;type=peer ; we only want to call out, not be called -;secret=guessit -;username=yourusername ; Authentication user for outbound proxies -;fromuser=yourusername ; Many SIP providers require this! -;fromdomain=provider.sip.domain -;host=box.provider.com -;usereqphone=yes ; This provider requires ";user=phone" on URI -;call-limit=5 ; permit only 5 simultaneous outgoing calls to this peer -;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer - ; Call-limits will not be enforced on real-time peers, - ; since they are not stored in-memory -;port=80 ; The port number we want to connect to on the remote side - ; Also used as "defaultport" in combination with "defaultip" settings - -;------------------------------------------------------------------------------ -; Definitions of locally connected SIP devices -; -; type = user a device that authenticates to us by "from" field to place calls -; type = peer a device we place calls to or that calls us and we match by host -; type = friend two configurations (peer+user) in one -; -; For device names, we recommend using only a-z, numerics (0-9) and underscore -; -; For local phones, type=friend works most of the time -; -; If you have one-way audio, you probably have NAT problems. -; If Asterisk is on a public IP, and the phone is inside of a NAT device -; you will need to configure nat option for those phones. -; Also, turn on qualify=yes to keep the nat session open - -;[grandstream1] -;type=friend -;context=from-sip ; Where to start in the dialplan when this phone calls -;callerid=John Doe <1234> ; Full caller ID, to override the phones config - ; on incoming calls to Asterisk -;host=192.168.0.23 ; we have a static but private IP address - ; No registration allowed -;nat=no ; there is not NAT between phone and Asterisk -;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk -;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone -;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time - ; from the phone to asterisk - ; 1 for the explicit peer, 1 for the explicit user, - ; remember that a friend equals 1 peer and 1 user in - ; memory - ; This will affect your subscriptions as well. - ; There is no combined call counter for a "friend" - ; so there's currently no way in sip.conf to limit - ; to one inbound or outbound call per phone. Use - ; the group counters in the dial plan for that. - ; -;mailbox=1234@default ; mailbox 1234 in voicemail context "default" -;disallow=all ; need to disallow=all before we can use allow= -;allow=ulaw ; Note: In user sections the order of codecs - ; listed with allow= does NOT matter! -;allow=alaw -;allow=g723.1 ; Asterisk only supports g723.1 pass-thru! -;allow=g729 ; Pass-thru only unless g729 license obtained -;callingpres=allowed_passed_screen ; Set caller ID presentation - ; See doc/callingpres.txt for more information - - -;[xlite1] -; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)! -; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed -;type=friend -;regexten=1234 ; When they register, create extension 1234 -;callerid="Jane Smith" <5678> -;host=dynamic ; This device needs to register -;nat=yes ; X-Lite is behind a NAT router -;canreinvite=no ; Typically set to NO if behind NAT -;disallow=all -;allow=gsm ; GSM consumes far less bandwidth than ulaw -;allow=ulaw -;allow=alaw -;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes - - -;[snom] -;type=friend ; Friends place calls and receive calls -;context=from-sip ; Context for incoming calls from this user -;secret=blah -;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions -;language=de ; Use German prompts for this user -;host=dynamic ; This peer register with us -;dtmfmode=inband ; Choices are inband, rfc2833, or info -;defaultip=192.168.0.59 ; IP used until peer registers -;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator -;subscribemwi=yes ; Only send notifications if this phone - ; subscribes for mailbox notification -;vmexten=voicemail ; dialplan extension to reach mailbox - ; sets the Message-Account in the MWI notify message - ; defaults to global vmexten which defaults to "asterisk" -;disallow=all -;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! - - -;[polycom] -;type=friend ; Friends place calls and receive calls -;context=from-sip ; Context for incoming calls from this user -;secret=blahpoly -;host=dynamic ; This peer register with us -;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info -;username=polly ; Username to use in INVITE until peer registers - ; Normally you do NOT need to set this parameter -;disallow=all -;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! -;progressinband=no ; Polycom phones don't work properly with "never" - - -;[pingtel] -;type=friend -;secret=blah -;host=dynamic -;insecure=port ; Allow matching of peer by IP address without - ; matching port number -;insecure=invite ; Do not require authentication of incoming INVITEs -;insecure=port,invite ; (both) -;qualify=1000 ; Consider it down if it's 1 second to reply - ; Helps with NAT session - ; qualify=yes uses default value -; -; Call group and Pickup group should be in the range from 0 to 63 -; -;callgroup=1,3-4 ; We are in caller groups 1,3,4 -;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5 -;defaultip=192.168.0.60 ; IP address to use if peer has not registered -;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address -;permit=192.168.0.60/255.255.255.0 - -;[cisco1] -;type=friend -;secret=blah -;qualify=200 ; Qualify peer is no more than 200ms away -;nat=yes ; This phone may be natted - ; Send SIP and RTP to the IP address that packet is - ; received from instead of trusting SIP headers -;host=dynamic ; This device registers with us -;canreinvite=no ; Asterisk by default tries to redirect the - ; RTP media stream (audio) to go directly from - ; the caller to the callee. Some devices do not - ; support this (especially if one of them is - ; behind a NAT). -;defaultip=192.168.0.4 ; IP address to use until registration -;username=goran ; Username to use when calling this device before registration - ; Normally you do NOT need to set this parameter -;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device - -;[pre14-asterisk] -;type=friend -;secret=digium -;host=dynamic -;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine. - ; You must have this turned on or DTMF reception will work improperly. -;t38pt_usertpsource=yes ; Use the source IP address of RTP as the destination IP address for UDPTL packets - ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the - ; external IP address of the remote device. If port forwarding is done at the client side - ; then UDPTL will flow to the remote device. diff --git a/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf b/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf deleted file mode 100644 index e076b91..0000000 --- a/asterisk-load-tests/full_IO/xhd/chan_dahdi.conf +++ /dev/null @@ -1,79 +0,0 @@ -; -; DAHDI Telephony Configuration file -; -[trunkgroups] - -[channels] -usecallerid=yes -callwaiting=yes -usecallingpres=yes -callwaitingcallerid=yes -threewaycalling=yes -transfer=yes -canpark=yes -cancallforward=yes -callreturn=yes -echocancel=yes -echocancelwhenbridged=yes -group=1 -callgroup=1 -pickupgroup=1 - -; Span 1: B4/0/1 "B4XXP (PCI) Card 0" (MASTER) -signalling=bri_cpe_ptmp -switchtype=euroisdn -overlapdial=yes -context=from-isdn -group=11 -channel => 1-2 - -; Span 2: B4/0/2 "B4XXP (PCI) Card 0" -signalling=bri_cpe_ptmp -switchtype=euroisdn -context=from-isdn -group=12 -overlapdial=yes -channel => 4-5 - -; Span 3: B4/0/3 "B4XXP (PCI) Card 0" -signalling=bri_cpe_ptmp -switchtype=euroisdn -context=from-isdn -group=13 -overlapdial=yes -channel => 7-8 - -; Span 4: B4/0/4 "B4XXP (PCI) Card 0" -signalling=bri_cpe_ptmp -switchtype=euroisdn -context=from-isdn -group=14 -overlapdial=yes -;layer1_presence=ignore -channel => 10-11 - -; line="13 WCTDM/4/0 FXOKS" -signalling=fxo_ks -callerid="Analog Phone" <1> -overlapdial=yes -mailbox=11 -group=6 -context=from-pstn -channel => 13 - -; line="14 WCTDM/4/1 FXOKS" -signalling=fxo_ks -callerid="Analog Phone" <1> -overlapdial=yes -mailbox=12 -group=5 -context=from-pstn -channel => 14 - -; line="15 WCTDM/4/2 FXSKS" -signalling=fxs_ks -callerid=asreceived -group=4 -context=from-pstn -channel => 15 - diff --git a/asterisk-load-tests/full_IO/xhd/conf.py b/asterisk-load-tests/full_IO/xhd/conf.py deleted file mode 100644 index 7e6b6d4..0000000 --- a/asterisk-load-tests/full_IO/xhd/conf.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: UTF-8 -*- - -from __future__ import unicode_literals - -## global configuration - -sipp_remote_host = '127.0.0.1' - -sipp_local_ip = '127.0.0.1' -sipp_call_rate = 1.0 -sipp_pause_in_ms = 6000 -sipp_rate_period_in_ms = 18000 + sipp_pause_in_ms - -## scenarios configuration - -called_line = { - 'username': 'loadtester2', - 'bind_port': 5070, -} - -calling_line = { - 'username': 'loadtester1', - 'password': 'loadtester1', -} - -# scenarios.call_then_hangup.calling_line = calling_line -# calling trhough FXS port 1 to reach port FXO on pcb#4 - cf dialplan for 105 -scenarios.call_then_hangup.called_exten = '105' - -#scenarios.call_then_wait.calling_line = calling_line -scenarios.call_then_wait.called_exten = '102' diff --git a/asterisk-load-tests/full_IO/xhd/extensions.conf b/asterisk-load-tests/full_IO/xhd/extensions.conf deleted file mode 100644 index 7d862d2..0000000 --- a/asterisk-load-tests/full_IO/xhd/extensions.conf +++ /dev/null @@ -1,76 +0,0 @@ -[default] -; -- Carte Digium B410p -; appel via le port B410p BRI 1 -exten = _11.,1,NoOp() -same = n,Dial(DAHDI/g11/${EXTEN:2}) -same = n,Hangup() - -; appel via le port B410p BRI 2 -exten = _12.,1,NoOp() -same = n,Dial(DAHDI/g12/${EXTEN:2}) -same = n,Hangup() - -; appel via le port B410p BRI 3 -exten = _13.,1,NoOp() -same = n,Dial(DAHDI/g13/${EXTEN:2}) -same = n,Hangup() - -; appel via le port B410p BRI 4 -exten = _14.,1,NoOp() -;same = n,Goto(hangup,1) -same = n,Dial(DAHDI/g14/${EXTEN:2}) -same = n,Hangup() - -; -- Carte TDM400 -; appel via le port FXS 1 de la carte TDM400 -exten = 51,1,NoOp() -same = n,Dial(DAHDI/g6/${EXTEN:2}) -same = n,Hangup() - -; appel via le port FXS 2 de la carte TDM400 -exten = 52,1,NoOp() -same = n,Dial(DAHDI/g5/${EXTEN:2}) -same = n,Hangup() - -; appel via le port FXO 1 de la carte TDM400 -exten = 53,1,NoOp() -same = n,Dial(DAHDI/g4/${EXTEN:2}) -same = n,Hangup() - -exten = s,1,NoOp() -;same = n,Goto(wait-and-hangup,1) -same = n,Goto(call-loadtester2,1) - -exten = wait-and-hangup,1,NoOp() -same = n,Answer() -same = n,Wait(60) -same = n,Hangup() - -exten = call-loadtester2,1,NoOp() -same = n,Dial(SIP/loadtester2) -same = n,Hangup() - -exten = hangup,1,NoOp() -same = n,Answer() -same = n,Wait(10) -same = n,Hangup() - -[from-internal] -include => default - -[from-pstn] -include => default - -[from-isdn] -;include => default -exten => _X.,1,Answer - same => n,Echo - same => n,Hangup - -[loadtest] -exten => s,1,NoOp(Init call for test) -exten => s,n,Answer -exten => s,n,Playback(hello-world) -exten => s,n,Echo -exten => s,n,Hangup - diff --git a/asterisk-load-tests/full_IO/xhd/sip.conf b/asterisk-load-tests/full_IO/xhd/sip.conf deleted file mode 100644 index 98fad2d..0000000 --- a/asterisk-load-tests/full_IO/xhd/sip.conf +++ /dev/null @@ -1,1340 +0,0 @@ -; -; SIP Configuration example for Asterisk -; -; Note: Please read the security documentation for Asterisk in order to -; understand the risks of installing Asterisk with the sample -; configuration. If your Asterisk is installed on a public -; IP address connected to the Internet, you will want to learn -; about the various security settings BEFORE you start -; Asterisk. -; -; Especially note the following settings: -; - allowguest (default enabled) -; - permit/deny - IP address filters -; - contactpermit/contactdeny - IP address filters for registrations -; - context - Which set of services you offer various users -; -; SIP dial strings -;----------------------------------------------------------- -; In the dialplan (extensions.conf) you can use several -; syntaxes for dialing SIP devices. -; SIP/devicename -; SIP/username@domain (SIP uri) -; SIP/username[:password[:md5secret[:authname[:transport]]]]@host[:port] -; SIP/devicename/extension -; SIP/devicename/extension/IPorHost -; SIP/username@domain//IPorHost -; -; -; Devicename -; devicename is defined as a peer in a section below. -; -; username@domain -; Call any SIP user on the Internet -; (Don't forget to enable DNS SRV records if you want to use this) -; -; devicename/extension -; If you define a SIP proxy as a peer below, you may call -; SIP/proxyhostname/user or SIP/user@proxyhostname -; where the proxyhostname is defined in a section below -; This syntax also works with ATA's with FXO ports -; -; SIP/username[:password[:md5secret[:authname]]]@host[:port] -; This form allows you to specify password or md5secret and authname -; without altering any authentication data in config. -; Examples: -; -; SIP/*98@mysipproxy -; SIP/sales:topsecret::account02@domain.com:5062 -; SIP/12345678::bc53f0ba8ceb1ded2b70e05c3f91de4f:myname@192.168.0.1 -; -; IPorHost -; The next server for this call regardless of domain/peer -; -; All of these dial strings specify the SIP request URI. -; In addition, you can specify a specific To: header by adding an -; exclamation mark after the dial string, like -; -; SIP/sales@mysipproxy!sales@edvina.net -; -; A new feature for 1.8 allows one to specify a host or IP address to use -; when routing the call. This is typically used in tandem with func_srv if -; multiple methods of reaching the same domain exist. The host or IP address -; is specified after the third slash in the dialstring. Examples: -; -; SIP/devicename/extension/IPorHost -; SIP/username@domain//IPorHost -; -; CLI Commands -; ------------------------------------------------------------- -; Useful CLI commands to check peers/users: -; sip show peers Show all SIP peers (including friends) -; sip show registry Show status of hosts we register with -; -; sip set debug on Show all SIP messages -; -; sip reload Reload configuration file -; sip show settings Show the current channel configuration -; -;------- Naming devices ------------------------------------------------------ -; -; When naming devices, make sure you understand how Asterisk matches calls -; that come in. -; 1. Asterisk checks the SIP From: address username and matches against -; names of devices with type=user -; The name is the text between square brackets [name] -; 2. Asterisk checks the From: addres and matches the list of devices -; with a type=peer -; 3. Asterisk checks the IP address (and port number) that the INVITE -; was sent from and matches against any devices with type=peer -; -; Don't mix extensions with the names of the devices. Devices need a unique -; name. The device name is *not* used as phone numbers. Phone numbers are -; anything you declare as an extension in the dialplan (extensions.conf). -; -; When setting up trunks, make sure there's no risk that any From: username -; (caller ID) will match any of your device names, because then Asterisk -; might match the wrong device. -; -; Note: The parameter "username" is not the username and in most cases is -; not needed at all. Check below. In later releases, it's renamed -; to "defaultuser" which is a better name, since it is used in -; combination with the "defaultip" setting. -;----------------------------------------------------------------------------- - -; ** Old configuration options ** -; The "call-limit" configuation option is considered old is replaced -; by new functionality. To enable callcounters, you use the new -; "callcounter" setting (for extension states in queue and subscriptions) -; You are encouraged to use the dialplan groupcount functionality -; to enforce call limits instead of using this channel-specific method. -; You can still set limits per device in sip.conf or in a database by using -; "setvar" to set variables that can be used in the dialplan for various limits. - -[general] -context=default ; Default context for incoming calls -canreinvite=no -;allowguest=no ; Allow or reject guest calls (default is yes) - ; If your Asterisk is connected to the Internet - ; and you have allowguest=yes - ; you want to check which services you offer everyone - ; out there, by enabling them in the default context (see below). -;match_auth_username=yes ; if available, match user entry using the - ; 'username' field from the authentication line - ; instead of the From: field. -allowoverlap=no ; Disable overlap dialing support. (Default is yes) -;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) - ; Default is enabled. The Dial() options 't' and 'T' are not - ; related as to whether SIP transfers are allowed or not. -;realm=mydomain.tld ; Realm for digest authentication - ; defaults to "asterisk". If you set a system name in - ; asterisk.conf, it defaults to that system name - ; Realms MUST be globally unique according to RFC 3261 - ; Set this to your host name or domain name -;domainsasrealm=no ; Use domans list as realms - ; You can serve multiple Realms specifying several - ; 'domain=...' directives (see below). - ; In this case Realm will be based on request 'From'/'To' header - ; and should match one of domain names. - ; Otherwise default 'realm=...' will be used. - -; With the current situation, you can do one of four things: -; a) Listen on a specific IPv4 address. Example: bindaddr=192.0.2.1 -; b) Listen on a specific IPv6 address. Example: bindaddr=2001:db8::1 -; c) Listen on the IPv4 wildcard. Example: bindaddr=0.0.0.0 -; d) Listen on the IPv4 and IPv6 wildcards. Example: bindaddr=:: -; (You can choose independently for UDP, TCP, and TLS, by specifying different values for -; "udpbindaddr", "tcpbindaddr", and "tlsbindaddr".) -; (Note that using bindaddr=:: will show only a single IPv6 socket in netstat. -; IPv4 is supported at the same time using IPv4-mapped IPv6 addresses.) -; -; You may optionally add a port number. (The default is port 5060 for UDP and TCP, 5061 -; for TLS). -; IPv4 example: bindaddr=0.0.0.0:5062 -; IPv6 example: bindaddr=[::]:5062 -; -; The address family of the bound UDP address is used to determine how Asterisk performs -; DNS lookups. In cases a) and c) above, only A records are considered. In case b), only -; AAAA records are considered. In case d), both A and AAAA records are considered. Note, -; however, that Asterisk ignores all records except the first one. In case d), when both A -; and AAAA records are available, either an A or AAAA record will be first, and which one -; depends on the operating system. On systems using glibc, AAAA records are given -; priority. - -udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all) - ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060) - -; When a dialog is started with another SIP endpoint, the other endpoint -; should include an Allow header telling us what SIP methods the endpoint -; implements. However, some endpoints either do not include an Allow header -; or lie about what methods they implement. In the former case, Asterisk -; makes the assumption that the endpoint supports all known SIP methods. -; If you know that your SIP endpoint does not provide support for a specific -; method, then you may provide a comma-separated list of methods that your -; endpoint does not implement in the disallowed_methods option. Note that -; if your endpoint is truthful with its Allow header, then there is no need -; to set this option. This option may be set in the general section or may -; be set per endpoint. If this option is set both in the general section and -; in a peer section, then the peer setting completely overrides the general -; setting (i.e. the result is *not* the union of the two options). -; -; Note also that while Asterisk currently will parse an Allow header to learn -; what methods an endpoint supports, the only actual use for this currently -; is for determining if Asterisk may send connected line UPDATE requests. Its -; use may be expanded in the future. -; -; disallowed_methods = UPDATE - -; -; Note that the TCP and TLS support for chan_sip is currently considered -; experimental. Since it is new, all of the related configuration options are -; subject to change in any release. If they are changed, the changes will -; be reflected in this sample configuration file, as well as in the UPGRADE.txt file. -; -tcpenable=no ; Enable server for incoming TCP connections (default is no) -tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces) - ; Optionally add a port number, 192.168.1.1:5062 (default is port 5060) - -;tlsenable=no ; Enable server for incoming TLS (secure) connections (default is no) -;tlsbindaddr=0.0.0.0 ; IP address for TLS server to bind to (0.0.0.0) binds to all interfaces) - ; Optionally add a port number, 192.168.1.1:5063 (default is port 5061) - ; Remember that the IP address must match the common name (hostname) in the - ; certificate, so you don't want to bind a TLS socket to multiple IP addresses. - ; For details how to construct a certificate for SIP see - ; http://tools.ietf.org/html/draft-ietf-sip-domain-certs - -srvlookup=yes ; Enable DNS SRV lookups on outbound calls - ; Note: Asterisk only uses the first host - ; in SRV records - ; Disabling DNS SRV lookups disables the - ; ability to place SIP calls based on domain - ; names to some other SIP users on the Internet - ; Specifying a port in a SIP peer definition or - ; when dialing outbound calls will supress SRV - ; lookups for that peer or call. - -;pedantic=yes ; Enable checking of tags in headers, - ; international character conversions in URIs - ; and multiline formatted headers for strict - ; SIP compatibility (defaults to "no") - -; See qos.tex or Quality of Service section of asterisk.pdf for a description of these parameters. -;tos_sip=cs3 ; Sets TOS for SIP packets. -;tos_audio=ef ; Sets TOS for RTP audio packets. -;tos_video=af41 ; Sets TOS for RTP video packets. -;tos_text=af41 ; Sets TOS for RTP text packets. - -;cos_sip=3 ; Sets 802.1p priority for SIP packets. -;cos_audio=5 ; Sets 802.1p priority for RTP audio packets. -;cos_video=4 ; Sets 802.1p priority for RTP video packets. -;cos_text=3 ; Sets 802.1p priority for RTP text packets. - -;maxexpiry=3600 ; Maximum allowed time of incoming registrations - ; and subscriptions (seconds) -;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) -;defaultexpiry=120 ; Default length of incoming/outgoing registration -;mwiexpiry=3600 ; Expiry time for outgoing MWI subscriptions -;maxforwards=70 ; Setting for the SIP Max-Forwards: header (loop prevention) - ; Default value is 70 -;qualifyfreq=60 ; Qualification: How often to check for the host to be up in seconds - ; Set to low value if you use low timeout for NAT of UDP sessions - ; Default: 60 -;qualifygap=100 ; Number of milliseconds between each group of peers being qualified - ; Default: 100 -;qualifypeers=1 ; Number of peers in a group to be qualified at the same time - ; Default: 1 -;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY -;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC - ; fully. Enable this option to not get error messages - ; when sending MWI to phones with this bug. -;mwi_from=asterisk ; When sending MWI NOTIFY requests, use this setting in - ; the From: header as the "name" portion. Also fill the - ; "user" portion of the URI in the From: header with this - ; value if no fromuser is set - ; Default: empty -;vmexten=voicemail ; dialplan extension to reach mailbox sets the - ; Message-Account in the MWI notify message - ; defaults to "asterisk" - -;preferred_codec_only=yes ; Respond to a SIP invite with the single most preferred codec - ; rather than advertising all joint codec capabilities. This - ; limits the other side's codec choice to exactly what we prefer. - -;disallow=all ; First disallow all codecs -;allow=ulaw ; Allow codecs in order of preference -;allow=ilbc ; see doc/rtp-packetization for framing options -; -; This option specifies a preference for which music on hold class this channel -; should listen to when put on hold if the music class has not been set on the -; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer -; channel putting this one on hold did not suggest a music class. -; -; This option may be specified globally, or on a per-user or per-peer basis. -; -;mohinterpret=default -; -; This option specifies which music on hold class to suggest to the peer channel -; when this channel places the peer on hold. It may be specified globally or on -; a per-user or per-peer basis. -; -;mohsuggest=default -; -;parkinglot=plaza ; Sets the default parking lot for call parking - ; This may also be set for individual users/peers - ; Parkinglots are configured in features.conf -;language=en ; Default language setting for all users/peers - ; This may also be set for individual users/peers -;relaxdtmf=yes ; Relax dtmf handling -;trustrpid = no ; If Remote-Party-ID should be trusted -;sendrpid = yes ; If Remote-Party-ID should be sent (defaults to no) -;sendrpid = rpid ; Use the "Remote-Party-ID" header - ; to send the identity of the remote party - ; This is identical to sendrpid=yes -;sendrpid = pai ; Use the "P-Asserted-Identity" header - ; to send the identity of the remote party -;rpid_update = no ; In certain cases, the only method by which a connected line - ; change may be immediately transmitted is with a SIP UPDATE request. - ; If communicating with another Asterisk server, and you wish to be able - ; transmit such UPDATE messages to it, then you must enable this option. - ; Otherwise, we will have to wait until we can send a reinvite to - ; transmit the information. -;prematuremedia=no ; Some ISDN links send empty media frames before - ; the call is in ringing or progress state. The SIP - ; channel will then send 183 indicating early media - ; which will be empty - thus users get no ring signal. - ; Setting this to "yes" will stop any media before we have - ; call progress (meaning the SIP channel will not send 183 Session - ; Progress for early media). Default is "yes". Also make sure that - ; the SIP peer is configured with progressinband=never. - ; - ; In order for "noanswer" applications to work, you need to run - ; the progress() application in the priority before the app. - -;progressinband=never ; If we should generate in-band ringing always - ; use 'never' to never use in-band signalling, even in cases - ; where some buggy devices might not render it - ; Valid values: yes, no, never Default: never -;useragent=Asterisk PBX ; Allows you to change the user agent string - ; The default user agent string also contains the Asterisk - ; version. If you don't want to expose this, change the - ; useragent string. -;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address - ; Note that promiscredir when redirects are made to the - ; local system will cause loops since Asterisk is incapable - ; of performing a "hairpin" call. -;usereqphone = no ; If yes, ";user=phone" is added to uri that contains - ; a valid phone number -;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 - ; Other options: - ; info : SIP INFO messages (application/dtmf-relay) - ; shortinfo : SIP INFO messages (application/dtmf) - ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw) - ; auto : Use rfc2833 if offered, inband otherwise - -;compactheaders = yes ; send compact sip headers. -; -;videosupport=yes ; Turn on support for SIP video. You need to turn this - ; on in this section to get any video support at all. - ; You can turn it off on a per peer basis if the general - ; video support is enabled, but you can't enable it for - ; one peer only without enabling in the general section. - ; If you set videosupport to "always", then RTP ports will - ; always be set up for video, even on clients that don't - ; support it. This assists callfile-derived calls and - ; certain transferred calls to use always use video when - ; available. [yes|NO|always] - -;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) - ; Videosupport and maxcallbitrate is settable - ; for peers and users as well -;callevents=no ; generate manager events when sip ua - ; performs events (e.g. hold) -;authfailureevents=no ; generate manager "peerstatus" events when peer can't - ; authenticate with Asterisk. Peerstatus will be "rejected". -;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, - ; for any reason, always reject with an identical response - ; equivalent to valid username and invalid password/hash - ; instead of letting the requester know whether there was - ; a matching user or peer for their request. This reduces - ; the ability of an attacker to scan for valid SIP usernames. - -;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing - ; order instead of RFC3551 packing order (this is required - ; for Sipura and Grandstream ATAs, among others). This is - ; contrary to the RFC3551 specification, the peer _should_ - ; be negotiating AAL2-G726-32 instead :-( -;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the devices -;outboundproxy=proxy.provider.domain:8080 ; send outbound signaling to this proxy, not directly to the devices -;outboundproxy=proxy.provider.domain,force ; Send ALL outbound signalling to proxy, ignoring route: headers -;outboundproxy=tls://proxy.provider.domain ; same as '=proxy.provider.domain' except we try to connect with tls -; ; (could also be tcp,udp) - defining transports on the proxy line only -; ; applies for the global proxy, otherwise use the transport= option -;matchexternaddrlocally = yes ; Only substitute the externaddr or externhost setting if it matches - ; your localnet setting. Unless you have some sort of strange network - ; setup you will not need to enable this. - -;dynamic_exclude_static = yes ; Disallow all dynamic hosts from registering - ; as any IP address used for staticly defined - ; hosts. This helps avoid the configuration - ; error of allowing your users to register at - ; the same address as a SIP provider. - -;contactdeny=0.0.0.0/0.0.0.0 ; Use contactpermit and contactdeny to -;contactpermit=172.16.0.0/255.255.0.0 ; restrict at what IPs your users may - ; register their phones. - -;engine=asterisk ; RTP engine to use when communicating with the device - -; -; If regcontext is specified, Asterisk will dynamically create and destroy a -; NoOp priority 1 extension for a given peer who registers or unregisters with -; us and have a "regexten=" configuration item. -; Multiple contexts may be specified by separating them with '&'. The -; actual extension is the 'regexten' parameter of the registering peer or its -; name if 'regexten' is not provided. If more than one context is provided, -; the context must be specified within regexten by appending the desired -; context after '@'. More than one regexten may be supplied if they are -; separated by '&'. Patterns may be used in regexten. -; -;regcontext=sipregistrations -;regextenonqualify=yes ; Default "no" - ; If you have qualify on and the peer becomes unreachable - ; this setting will enforce inactivation of the regexten - ; extension for the peer - -; 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 - - -;use_q850_reason = no ; Default "no" - ; Set to yes add Reason header and use Reason header if it is available. -; -;------------------------ TLS settings ------------------------------------------------------------ -;tlscertfile=</path/to/certificate.pem> ; Certificate file (*.pem format only) to use for TLS connections - ; default is to look for "asterisk.pem" in current directory - -;tlsprivatekey=</path/to/private.pem> ; Private key file (*.pem format only) for TLS connections. - ; If no tlsprivatekey is specified, tlscertfile is searched for - ; for both public and private key. - -;tlscafile=</path/to/certificate> -; If the server your connecting to uses a self signed certificate -; you should have their certificate installed here so the code can -; verify the authenticity of their certificate. - -;tlscadir=</path/to/ca/dir> -; A directory full of CA certificates. The files must be named with -; the CA subject name hash value. -; (see man SSL_CTX_load_verify_locations for more info) - -;tlsdontverifyserver=[yes|no] -; If set to yes, don't verify the servers certificate when acting as -; a client. If you don't have the server's CA certificate you can -; set this and it will connect without requiring tlscafile to be set. -; Default is no. - -;tlscipher=<SSL cipher string> -; A string specifying which SSL ciphers to use or not use -; A list of valid SSL cipher strings can be found at: -; http://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS -; -;tlsclientmethod=tlsv1 ; values include tlsv1, sslv3, sslv2. - ; Specify protocol for outbound client connections. - ; If left unspecified, the default is sslv2. -; -;--------------------------- SIP timers ---------------------------------------------------- -; These timers are used primarily in INVITE transactions. -; The default for Timer T1 is 500 ms or the measured run-trip time between -; Asterisk and the device if you have qualify=yes for the device. -; -;t1min=100 ; Minimum roundtrip time for messages to monitored hosts - ; Defaults to 100 ms -;timert1=500 ; Default T1 timer - ; Defaults to 500 ms or the measured round-trip - ; time to a peer (qualify=yes). -;timerb=32000 ; Call setup timer. If a provisional response is not received - ; in this amount of time, the call will autocongest - ; Defaults to 64*timert1 - -;--------------------------- RTP timers ---------------------------------------------------- -; These timers are currently used for both audio and video streams. The RTP timeouts -; are only applied to the audio channel. -; The settings are settable in the global section as well as per device -; -;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity - ; on the audio channel - ; when we're not on hold. This is to be able to hangup - ; a call in the case of a phone disappearing from the net, - ; like a powerloss or grandma tripping over a cable. -;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity - ; on the audio channel - ; when we're on hold (must be > rtptimeout) -;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open - ; (default is off - zero) - -;--------------------------- SIP Session-Timers (RFC 4028)------------------------------------ -; SIP Session-Timers provide an end-to-end keep-alive mechanism for active SIP sessions. -; This mechanism can detect and reclaim SIP channels that do not terminate through normal -; signaling procedures. Session-Timers can be configured globally or at a user/peer level. -; The operation of Session-Timers is driven by the following configuration parameters: -; -; * session-timers - Session-Timers feature operates in the following three modes: -; originate : Request and run session-timers always -; accept : Run session-timers only when requested by other UA -; refuse : Do not run session timers in any case -; The default mode of operation is 'accept'. -; * session-expires - Maximum session refresh interval in seconds. Defaults to 1800 secs. -; * session-minse - Minimum session refresh interval in seconds. Defualts to 90 secs. -; * session-refresher - The session refresher (uac|uas). Defaults to 'uas'. -; -;session-timers=originate -;session-expires=600 -;session-minse=90 -;session-refresher=uas -; -;--------------------------- SIP DEBUGGING --------------------------------------------------- -;sipdebug = yes ; Turn on SIP debugging by default, from - ; the moment the channel loads this configuration -;recordhistory=yes ; Record SIP history by default - ; (see sip history / sip no history) -;dumphistory=yes ; Dump SIP history at end of SIP dialogue - ; SIP history is output to the DEBUG logging channel - - -;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ---------------------------- -; You can subscribe to the status of extensions with a "hint" priority -; (See extensions.conf.sample for examples) -; chan_sip support two major formats for notifications: dialog-info and SIMPLE -; -; You will get more detailed reports (busy etc) if you have a call counter enabled -; for a device. -; -; If you set the busylevel, we will indicate busy when we have a number of calls that -; matches the busylevel treshold. -; -; For queues, you will need this level of detail in status reporting, regardless -; if you use SIP subscriptions. Queues and manager use the same internal interface -; for reading status information. -; -; Note: Subscriptions does not work if you have a realtime dialplan and use the -; realtime switch. -; -;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) -;subscribecontext = default ; Set a specific context for SUBSCRIBE requests - ; Useful to limit subscriptions to local extensions - ; Settable per peer/user also -;notifyringing = no ; Control whether subscriptions already INUSE get sent - ; RINGING when another call is sent (default: yes) -;notifyhold = yes ; Notify subscriptions on HOLD state (default: no) - ; Turning on notifyringing and notifyhold will add a lot - ; more database transactions if you are using realtime. -;notifycid = yes ; Control whether caller ID information is sent along with - ; dialog-info+xml notifications (supported by snom phones). - ; Note that this feature will only work properly when the - ; incoming call is using the same extension and context that - ; is being used as the hint for the called extension. This means - ; that it won't work when using subscribecontext for your sip - ; user or peer (if subscribecontext is different than context). - ; This is also limited to a single caller, meaning that if an - ; extension is ringing because multiple calls are incoming, - ; only one will be used as the source of caller ID. Specify - ; 'ignore-context' to ignore the called context when looking - ; for the caller's channel. The default value is 'no.' Setting - ; notifycid to 'ignore-context' also causes call-pickups attempted - ; via SNOM's NOTIFY mechanism to set the context for the call pickup - ; to PICKUPMARK. -;callcounter = yes ; Enable call counters on devices. This can be set per - ; device too. - -;----------------------------------------- T.38 FAX SUPPORT ---------------------------------- -; -; This setting is available in the [general] section as well as in device configurations. -; Setting this to yes enables T.38 FAX (UDPTL) on SIP calls; it defaults to off. -; -; t38pt_udptl = yes ; Enables T.38 with FEC error correction. -; t38pt_udptl = yes,fec ; Enables T.38 with FEC error correction. -; t38pt_udptl = yes,redundancy ; Enables T.38 with redundancy error correction. -; t38pt_udptl = yes,none ; Enables T.38 with no error correction. -; -; In some cases, T.38 endpoints will provide a T38FaxMaxDatagram value (during T.38 setup) that -; is based on an incorrect interpretation of the T.38 recommendation, and results in failures -; because Asterisk does not believe it can send T.38 packets of a reasonable size to that -; endpoint (Cisco media gateways are one example of this situation). In these cases, during a -; T.38 call you will see warning messages on the console/in the logs from the Asterisk UDPTL -; stack complaining about lack of buffer space to send T.38 FAX packets. If this occurs, you -; can set an override (globally, or on a per-device basis) to make Asterisk ignore the -; T38FaxMaxDatagram value specified by the other endpoint, and use a configured value instead. -; This can be done by appending 'maxdatagram=<value>' to the t38pt_udptl configuration option, -; like this: -; -; t38pt_udptl = yes,fec,maxdatagram=400 ; Enables T.38 with FEC error correction and overrides -; ; the other endpoint's provided value to assume we can -; ; send 400 byte T.38 FAX packets to it. -; -; FAX detection will cause the SIP 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 re-INVITE request. -; -; faxdetect = yes ; Default 'no', 'yes' enables both CNG and T.38 detection -; faxdetect = cng ; Enables only CNG detection -; faxdetect = t38 ; Enables only T.38 detection -; -;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------ -; Asterisk can register as a SIP user agent to a SIP proxy (provider) -; Format for the register statement is: -; register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry] - -;register => 666:666:666@tolapai - -; -; -; -; domain is either -; - domain in DNS -; - host name in DNS -; - the name of a peer defined below or in realtime -; The domain is where you register your username, so your SIP uri you are registering to -; is username@domain -; -; If no extension is given, the 's' extension is used. The extension needs to -; be defined in extensions.conf to be able to accept calls from this SIP proxy -; (provider). -; -; A similar effect can be achieved by adding a "callbackextension" option in a peer section. -; this is equivalent to having the following line in the general section: -; -; register => username:secret@host/callbackextension -; -; and more readable because you don't have to write the parameters in two places -; (note that the "port" is ignored - this is a bug that should be fixed). -; -; Note that a register= line doesn't mean that we will match the incoming call in any -; other way than described above. If you want to control where the call enters your -; dialplan, which context, you want to define a peer with the hostname of the provider's -; server. If the provider has multiple servers to place calls to your system, you need -; a peer for each server. -; -; Beginning with Asterisk version 1.6.2, the "user" portion of the register line may -; contain a port number. Since the logical separator between a host and port number is a -; ':' character, and this character is already used to separate between the optional "secret" -; and "authuser" portions of the line, there is a bit of a hoop to jump through if you wish -; to use a port here. That is, you must explicitly provide a "secret" and "authuser" even if -; they are blank. See the third example below for an illustration. -; -; -; Examples: -; -;register => 1234:password@mysipprovider.com -; -; This will pass incoming calls to the 's' extension -; -; -;register => 2345:password@sip_proxy/1234 -; -; Register 2345 at sip provider 'sip_proxy'. Calls from this provider -; connect to local extension 1234 in extensions.conf, default context, -; unless you configure a [sip_proxy] section below, and configure a -; context. -; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com] -; Tip 2: Use separate inbound and outbound sections for SIP providers -; (instead of type=friend) if you have calls in both directions -; -;register => 3456@mydomain:5082::@mysipprovider.com -; -; Note that in this example, the optional authuser and secret portions have -; been left blank because we have specified a port in the user section -; -;register => tls://username:xxxxxx@sip-tls-proxy.example.org -; -; The 'transport' part defaults to 'udp' but may also be 'tcp' or 'tls'. -; Using 'udp://' explicitly is also useful in case the username part -; contains a '/' ('user/name'). - -;registertimeout=20 ; retry registration calls every 20 seconds (default) -;registerattempts=10 ; Number of registration attempts before we give up - ; 0 = continue forever, hammering the other server - ; until it accepts the registration - ; Default is 0 tries, continue forever - -;----------------------------------------- OUTBOUND MWI SUBSCRIPTIONS ------------------------- -; Asterisk can subscribe to receive the MWI from another SIP server and store it locally for retrieval -; by other phones. -; Format for the mwi register statement is: -; mwi => user[:secret[:authuser]]@host[:port][/mailbox] -; -; Examples: -;mwi => 1234:password@mysipprovider.com/1234 -; -; MWI received will be stored in the 1234 mailbox of the SIP_Remote context. It can be used by other phones by following the below: -; mailbox=1234@SIP_Remote -;----------------------------------------- NAT SUPPORT ------------------------ -; -; WARNING: SIP operation behind a NAT is tricky and you really need -; to read and understand well the following section. -; -; When Asterisk is behind a NAT device, the "local" address (and port) that -; a socket is bound to has different values when seen from the inside or -; from the outside of the NATted network. Unfortunately this address must -; be communicated to the outside (e.g. in SIP and SDP messages), and in -; order to determine the correct value Asterisk needs to know: -; -; + whether it is talking to someone "inside" or "outside" of the NATted network. -; This is configured by assigning the "localnet" parameter with a list -; of network addresses that are considered "inside" of the NATted network. -; IF LOCALNET IS NOT SET, THE EXTERNAL ADDRESS WILL NOT BE SET CORRECTLY. -; Multiple entries are allowed, e.g. a reasonable set is the following: -; -; localnet=192.168.0.0/255.255.0.0 ; RFC 1918 addresses -; localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 -; localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation -; localnet=169.254.0.0/255.255.0.0 ; Zero conf local network -; -; + the "externally visible" address and port number to be used when talking -; to a host outside the NAT. This information is derived by one of the -; following (mutually exclusive) config file parameters: -; -; a. "externaddr = hostname[:port]" specifies a static address[:port] to -; be used in SIP and SDP messages. -; The hostname is looked up only once, when [re]loading sip.conf . -; If a port number is not present, use the port specified in the "udpbindaddr" -; (which is not guaranteed to work correctly, because a NAT box might remap the -; port number as well as the address). -; This approach can be useful if you have a NAT device where you can -; configure the mapping statically. Examples: -; -; externaddr = 12.34.56.78 ; use this address. -; externaddr = 12.34.56.78:9900 ; use this address and port. -; externaddr = mynat.my.org:12600 ; Public address of my nat box. -; externtcpport = 9900 ; The externally mapped tcp port, when Asterisk is behind a static NAT or PAT. -; ; externtcpport will default to the externaddr or externhost port if either one is set. -; externtlsport = 12600 ; The externally mapped tls port, when Asterisk is behind a static NAT or PAT. -; ; externtlsport port will default to the RFC designated port of 5061. -; -; b. "externhost = hostname[:port]" is similar to "externaddr" except -; that the hostname is looked up every "externrefresh" seconds -; (default 10s). This can be useful when your NAT device lets you choose -; the port mapping, but the IP address is dynamic. -; Beware, you might suffer from service disruption when the name server -; resolution fails. Examples: -; -; externhost=foo.dyndns.net ; refreshed periodically -; externrefresh=180 ; change the refresh interval -; -; c. "stunaddr = stun.server[:port]" queries the STUN server specified -; as an argument to obtain the external address/port. -; Queries are also sent periodically every "externrefresh" seconds -; (as a side effect, sending the query also acts as a keepalive for -; the state entry on the nat box): -; -; stunaddr = foo.stun.com:3478 -; externrefresh = 15 -; -; NOTE: STUN is only implemented for IPv4. -; -; Note that at the moment all these mechanism work only for the SIP socket. -; The IP address discovered with externaddr/externhost/STUN is reused for -; media sessions as well, but the port numbers are not remapped so you -; may still experience problems. -; -; NOTE 1: in some cases, NAT boxes will use different port numbers in -; the internal<->external mapping. In these cases, the "externaddr" and -; "externhost" might not help you configure addresses properly, and you -; really need to use STUN. -; -; NOTE 2: when using "externaddr" or "externhost", the address part is -; also used as the external address for media sessions. Even if you -; use "stunaddr", STUN queries will be sent only from the SIP port, -; not from media sockets. Thus, the port information in the SDP may be wrong! -; -; In addition to the above, Asterisk has an additional "nat" parameter to -; address NAT-related issues in incoming SIP or media sessions. -; In particular, depending on the 'nat= ' settings described below, Asterisk -; may override the address/port information specified in the SIP/SDP messages, -; and use the information (sender address) supplied by the network stack instead. -; However, this is only useful if the external traffic can reach us. -; The following settings are allowed (both globally and in individual sections): -; -; nat = no ; Default. Use rport if the remote side says to use it. -; nat = force_rport ; Force rport to always be on. -; nat = yes ; Force rport to always be on and perform comedia RTP handling. -; nat = comedia ; Use rport if the remote side says to use it and perform comedia RTP handling. -; -; 'comedia RTP handling' refers to the technique of sending RTP to the port that the -; the other endpoint's RTP arrived from, and means 'connection-oriented media'. This is -; only partially related to RFC 4145 which was referred to as COMEDIA while it was in -; draft form. This method is used to accomodate endpoints that may be located behind -; NAT devices, and as such the port number they tell Asterisk to send RTP packets to -; for their media streams is not actual port number that will be used on the nearer -; side of the NAT. -; -; In addition to these settings, Asterisk *always* uses 'symmetric RTP' mode as defined by -; RFC 4961; Asterisk will always send RTP packets from the same port number it expects -; to receive them on. -; -; The IP address used for media (audio, video, and text) in the SDP can also be overridden by using -; the media_address configuration option. This is only applicable to the general section and -; can not be set per-user or per-peer. -; -; media_address = 172.16.42.1 - -;----------------------------------- MEDIA HANDLING -------------------------------- -; By default, Asterisk tries to re-invite media streams to an optimal path. If there's -; no reason for Asterisk to stay in the media path, the media will be redirected. -; This does not really work well in the case where Asterisk is outside and the -; clients are on the inside of a NAT. In that case, you want to set directmedia=nonat. -; -;directmedia=yes ; Asterisk by default tries to redirect the - ; RTP media stream to go directly from - ; the caller to the callee. Some devices do not - ; support this (especially if one of them is behind a NAT). - ; The default setting is YES. If you have all clients - ; behind a NAT, or for some other reason want Asterisk to - ; stay in the audio path, you may want to turn this off. - - ; This setting also affect direct RTP - ; at call setup (a new feature in 1.4 - setting up the - ; call directly between the endpoints instead of sending - ; a re-INVITE). - - ; Additionally this option does not disable all reINVITE operations. - ; It only controls Asterisk generating reINVITEs for the specific - ; purpose of setting up a direct media path. If a reINVITE is - ; needed to switch a media stream to inactive (when placed on - ; hold) or to T.38, it will still be done, regardless of this - ; setting. Note that direct T.38 is not supported. - -;directmedia=nonat ; An additional option is to allow media path redirection - ; (reinvite) but only when the peer where the media is being - ; sent is known to not be behind a NAT (as the RTP core can - ; determine it based on the apparent IP address the media - ; arrives from). - -;directmedia=update ; Yet a third option... use UPDATE for media path redirection, - ; instead of INVITE. This can be combined with 'nonat', as - ; 'directmedia=update,nonat'. It implies 'yes'. - -;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up - ; the call directly with media peer-2-peer without re-invites. - ; Will not work for video and cases where the callee sends - ; RTP payloads and fmtp headers in the 200 OK that does not match the - ; callers INVITE. This will also fail if directmedia is enabled when - ; the device is actually behind NAT. - -;directmediadeny=0.0.0.0/0 ; Use directmediapermit and directmediadeny to restrict -;directmediapermit=172.16.0.0/16; which peers should be able to pass directmedia to each other - ; (There is no default setting, this is just an example) - ; Use this if some of your phones are on IP addresses that - ; can not reach each other directly. This way you can force - ; RTP to always flow through asterisk in such cases. - -;ignoresdpversion=yes ; By default, Asterisk will honor the session version - ; number in SDP packets and will only modify the SDP - ; session if the version number changes. This option will - ; force asterisk to ignore the SDP session version number - ; and treat all SDP data as new data. This is required - ; for devices that send us non standard SDP packets - ; (observed with Microsoft OCS). By default this option is - ; off. - -;sdpsession=Asterisk PBX ; Allows you to change the SDP session name string, (s=) - ; Like the useragent parameter, the default user agent string - ; also contains the Asterisk version. -;sdpowner=root ; Allows you to change the username field in the SDP owner string, (o=) - ; This field MUST NOT contain spaces - -;----------------------------------------- REALTIME SUPPORT ------------------------ -; For additional information on ARA, the Asterisk Realtime Architecture, -; please read realtime.txt and extconfig.txt in the /doc directory of the -; source code. -; -;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list - ; just like friends added from the config file only on a - ; as-needed basis? (yes|no) - -;rtsavesysname=yes ; Save systemname in realtime database at registration - ; Default= no - -;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) - ; If set to yes, when a SIP UA registers successfully, the ip address, - ; the origination port, the registration period, and the username of - ; the UA will be set to database via realtime. - ; If not present, defaults to 'yes'. Note: realtime peers will - ; probably not function across reloads in the way that you expect, if - ; you turn this option off. -;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule - ; as if it had just registered? (yes|no|<seconds>) - ; If set to yes, when the registration expires, the friend will - ; vanish from the configuration until requested again. If set - ; to an integer, friends expire within this number of seconds - ; instead of the registration interval. - -;ignoreregexpire=yes ; Enabling this setting has two functions: - ; - ; For non-realtime peers, when their registration expires, the - ; information will _not_ be removed from memory or the Asterisk database - ; if you attempt to place a call to the peer, the existing information - ; will be used in spite of it having expired - ; - ; For realtime peers, when the peer is retrieved from realtime storage, - ; the registration information will be used regardless of whether - ; it has expired or not; if it expires while the realtime peer - ; is still in memory (due to caching or other reasons), the - ; information will not be removed from realtime storage - -;----------------------------------------- SIP DOMAIN SUPPORT ------------------------ -; Incoming INVITE and REFER messages can be matched against a list of 'allowed' -; domains, each of which can direct the call to a specific context if desired. -; By default, all domains are accepted and sent to the default context or the -; context associated with the user/peer placing the call. -; REGISTER to non-local domains will be automatically denied if a domain -; list is configured. -; -; Domains can be specified using: -; domain=<domain>[,<context>] -; Examples: -; domain=myasterisk.dom -; domain=customer.com,customer-context -; -; In addition, all the 'default' domains associated with a server should be -; added if incoming request filtering is desired. -; autodomain=yes -; -; To disallow requests for domains not serviced by this server: -; allowexternaldomains=no - -;domain=mydomain.tld,mydomain-incoming - ; Add domain and configure incoming context - ; for external calls to this domain -;domain=1.2.3.4 ; Add IP address as local domain - ; You can have several "domain" settings -;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains - ; Default is yes -;autodomain=yes ; Turn this on to have Asterisk add local host - ; name and local IP to domain list. - -; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to - ; non-peers, use your primary domain "identity" - ; for From: headers instead of just your IP - ; address. This is to be polite and - ; it may be a mandatory requirement for some - ; destinations which do not have a prior - ; account relationship with your server. - -;------------------------------ Advice of Charge CONFIGURATION -------------------------- -; snom_aoc_enabled = yes; ; This options turns on and off support for sending AOC-D and - ; AOC-E to snom endpoints. This option can be used both in the - ; peer and global scope. The default for this option is off. - - -;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- -; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a - ; SIP channel. Defaults to "no". An enabled jitterbuffer will - ; be used only if the sending side can create and the receiving - ; side can not accept jitter. The SIP channel can accept jitter, - ; thus a jitterbuffer on the receive SIP side will be used only - ; if it is forced and enabled. - -; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP - ; channel. Defaults to "no". - -; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. - -; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is - ; resynchronized. Useful to improve the quality of the voice, with - ; big jumps in/broken timestamps, usually sent from exotic devices - ; and programs. Defaults to 1000. - -; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP - ; channel. Two implementations are currently available - "fixed" - ; (with size always equals to jbmaxsize) and "adaptive" (with - ; variable size, actually the new jb of IAX2). Defaults to fixed. - -; 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". -;----------------------------------------------------------------------------------- - -[authentication] -; Global credentials for outbound calls, i.e. when a proxy challenges your -; Asterisk server for authentication. These credentials override -; any credentials in peer/register definition if realm is matched. -; -; This way, Asterisk can authenticate for outbound calls to other -; realms. We match realm on the proxy challenge and pick an set of -; credentials from this list -; Syntax: -; auth = <user>:<secret>@<realm> -; auth = <user>#<md5secret>@<realm> -; Example: -auth=666:666@tolapai -; -; You may also add auth= statements to [peer] definitions -; Peer auth= override all other authentication settings if we match on realm - -;------------------------------------------------------------------------------ -; DEVICE CONFIGURATION -; -; The SIP channel has two types of devices, the friend and the peer. -; * The type=friend is a device type that accepts both incoming and outbound calls, -; where Asterisk match on the From: username on incoming calls. -; (A synonym for friend is "user"). This is a type you use for your local -; SIP phones. -; * The type=peer also handles both incoming and outbound calls. On inbound calls, -; Asterisk only matches on IP/port, not on names. This is mostly used for SIP -; trunks. -; -; For device names, we recommend using only a-z, numerics (0-9) and underscore -; -; For local phones, type=friend works most of the time -; -; If you have one-way audio, you probably have NAT problems. -; If Asterisk is on a public IP, and the phone is inside of a NAT device -; you will need to configure nat option for those phones. -; Also, turn on qualify=yes to keep the nat session open -; -; Configuration options available -; -------------------- -; context -; callingpres -; permit -; deny -; secret -; md5secret -; remotesecret -; transport -; dtmfmode -; directmedia -; nat -; callgroup -; pickupgroup -; language -; allow -; disallow -; insecure -; trustrpid -; progressinband -; promiscredir -; useclientcode -; accountcode -; setvar -; callerid -; amaflags -; callcounter -; busylevel -; allowoverlap -; allowsubscribe -; allowtransfer -; ignoresdpversion -; subscribecontext -; template -; videosupport -; maxcallbitrate -; rfc2833compensate -; mailbox -; session-timers -; session-expires -; session-minse -; session-refresher -; t38pt_usertpsource -; regexten -; fromdomain -; fromuser -; host -; port -; qualify -; defaultip -; defaultuser -; rtptimeout -; rtpholdtimeout -; sendrpid -; outboundproxy -; rfc2833compensate -; callbackextension -; registertrying -; timert1 -; timerb -; qualifyfreq -; t38pt_usertpsource -; contactpermit ; Limit what a host may register as (a neat trick -; contactdeny ; is to register at the same IP as a SIP provider, -; ; then call oneself, and get redirected to that -; ; same location). -; directmediapermit -; directmediadeny -; unsolicited_mailbox -; use_q850_reason -; maxforwards - -;[sip_proxy] -; For incoming calls only. Example: FWD (Free World Dialup) -; We match on IP address of the proxy for incoming calls -; since we can not match on username (caller id) -;type=peer -;context=from-fwd -;host=fwd.pulver.com - -;[sip_proxy-out] -;type=peer ; we only want to call out, not be called -;remotesecret=guessit ; Our password to their service -;defaultuser=yourusername ; Authentication user for outbound proxies -;fromuser=yourusername ; Many SIP providers require this! -;fromdomain=provider.sip.domain -;host=box.provider.com -;transport=udp,tcp ; This sets the default transport type to udp for outgoing, and will -; ; accept both tcp and udp. The default transport type is only used for -; ; outbound messages until a Registration takes place. During the -; ; peer Registration the transport type may change to another supported -; ; type if the peer requests so. - -;usereqphone=yes ; This provider requires ";user=phone" on URI -;callcounter=yes ; Enable call counter -;busylevel=2 ; Signal busy at 2 or more calls -;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer -;port=80 ; The port number we want to connect to on the remote side - ; Also used as "defaultport" in combination with "defaultip" settings - -;--- sample definition for a provider -;[provider1] -;type=peer -;host=sip.provider1.com -;fromuser=4015552299 ; how your provider knows you -;remotesecret=youwillneverguessit ; The password we use to authenticate to them -;secret=gissadetdu ; The password they use to contact us -;callbackextension=123 ; Register with this server and require calls coming back to this extension -;transport=udp,tcp ; This sets the transport type to udp for outgoing, and will -; ; accept both tcp and udp. Default is udp. The first transport -; ; listed will always be used for outgoing connections. -;unsolicited_mailbox=4015552299 ; If the remote SIP server sends an unsolicited MWI NOTIFY message the new/old -; ; message count will be stored in the configured virtual mailbox. It can be used -; ; by any device supporting MWI by specifying <configured value>@SIP_Remote as the -; ; mailbox. - -; -; Because you might have a large number of similar sections, it is generally -; convenient to use templates for the common parameters, and add them -; the the various sections. Examples are below, and we can even leave -; the templates uncommented as they will not harm: - -[basic-options](!) ; a template - dtmfmode=rfc2833 - context=from-office - type=friend - -[natted-phone](!,basic-options) ; another template inheriting basic-options - nat=yes - directmedia=no - host=dynamic - -[public-phone](!,basic-options) ; another template inheriting basic-options - nat=no - directmedia=yes - -[my-codecs](!) ; a template for my preferred codecs - disallow=all - allow=ilbc - allow=g729 - allow=gsm - allow=g723 - allow=ulaw - -[ulaw-phone](!) ; and another one for ulaw-only - disallow=all - allow=ulaw - -;[lol] -;context=default -;type=peer -;host=tolapai -;fromuser=lol -;secret=lol -; -; and finally instantiate a few phones -; -; [2133](natted-phone,my-codecs) -; secret = peekaboo -; [2134](natted-phone,ulaw-phone) -; secret = not_very_secret -; [2136](public-phone,ulaw-phone) -; secret = not_very_secret_either -; ... -; - -; Standard configurations not using templates look like this: -; -;[grandstream1] -;type=friend -;context=from-sip ; Where to start in the dialplan when this phone calls -;callerid=John Doe <1234> ; Full caller ID, to override the phones config - ; on incoming calls to Asterisk -;host=192.168.0.23 ; we have a static but private IP address - ; No registration allowed -;nat=no ; there is not NAT between phone and Asterisk -;directmedia=yes ; allow RTP voice traffic to bypass Asterisk -;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone -;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time - ; from the phone to asterisk (deprecated) - ; 1 for the explicit peer, 1 for the explicit user, - ; remember that a friend equals 1 peer and 1 user in - ; memory - ; There is no combined call counter for a "friend" - ; so there's currently no way in sip.conf to limit - ; to one inbound or outbound call per phone. Use - ; the group counters in the dial plan for that. - ; -;mailbox=1234@default ; mailbox 1234 in voicemail context "default" -;disallow=all ; need to disallow=all before we can use allow= -;allow=ulaw ; Note: In user sections the order of codecs - ; listed with allow= does NOT matter! -;allow=alaw -;allow=g723.1 ; Asterisk only supports g723.1 pass-thru! -;allow=g729 ; Pass-thru only unless g729 license obtained -;callingpres=allowed_passed_screen ; Set caller ID presentation - ; See README.callingpres for more information - -;[xlite1] -; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)! -; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed -;type=friend -;regexten=1234 ; When they register, create extension 1234 -;callerid="Jane Smith" <5678> -;host=dynamic ; This device needs to register -;nat=yes ; X-Lite is behind a NAT router -;directmedia=no ; Typically set to NO if behind NAT -;disallow=all -;allow=gsm ; GSM consumes far less bandwidth than ulaw -;allow=ulaw -;allow=alaw -;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes -;registertrying=yes ; Send a 100 Trying when the device registers. - -;[snom] -;type=friend ; Friends place calls and receive calls -;context=from-sip ; Context for incoming calls from this user -;secret=blah -;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions -;language=de ; Use German prompts for this user -;host=dynamic ; This peer register with us -;dtmfmode=inband ; Choices are inband, rfc2833, or info -;defaultip=192.168.0.59 ; IP used until peer registers -;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator -;subscribemwi=yes ; Only send notifications if this phone - ; subscribes for mailbox notification -;vmexten=voicemail ; dialplan extension to reach mailbox - ; sets the Message-Account in the MWI notify message - ; defaults to global vmexten which defaults to "asterisk" -;disallow=all -;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! - - -;[polycom] -;type=friend ; Friends place calls and receive calls -;context=from-sip ; Context for incoming calls from this user -;secret=blahpoly -;host=dynamic ; This peer register with us -;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info -;defaultuser=polly ; Username to use in INVITE until peer registers -;defaultip=192.168.40.123 - ; Normally you do NOT need to set this parameter -;disallow=all -;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! -;progressinband=no ; Polycom phones don't work properly with "never" - - -;[pingtel] -;type=friend -;secret=blah -;host=dynamic -;insecure=port ; Allow matching of peer by IP address without - ; matching port number -;insecure=invite ; Do not require authentication of incoming INVITEs -;insecure=port,invite ; (both) -;qualify=1000 ; Consider it down if it's 1 second to reply - ; Helps with NAT session - ; qualify=yes uses default value -;qualifyfreq=60 ; Qualification: How often to check for the - ; host to be up in seconds - ; Set to low value if you use low timeout for - ; NAT of UDP sessions -; -; Call group and Pickup group should be in the range from 0 to 63 -; -;callgroup=1,3-4 ; We are in caller groups 1,3,4 -;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5 -;defaultip=192.168.0.60 ; IP address to use if peer has not registered -;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address -;permit=192.168.0.60/255.255.255.0 -;permit=192.168.0.60/24 ; we can also use CIDR notation for subnet masks -;permit=2001:db8::/32 ; IPv6 ACLs can be specified if desired. IPv6 ACLs - ; apply only to IPv6 addresses, and IPv4 ACLs apply - ; only to IPv4 addresses. - -;[cisco1] -;type=friend -;secret=blah -;qualify=200 ; Qualify peer is no more than 200ms away -;nat=yes ; This phone may be natted - ; Send SIP and RTP to the IP address that packet is - ; received from instead of trusting SIP headers -;host=dynamic ; This device registers with us -;directmedia=no ; Asterisk by default tries to redirect the - ; RTP media stream (audio) to go directly from - ; the caller to the callee. Some devices do not - ; support this (especially if one of them is - ; behind a NAT). -;defaultip=192.168.0.4 ; IP address to use until registration -;defaultuser=goran ; Username to use when calling this device before registration - ; Normally you do NOT need to set this parameter -;setvar=CUSTID=5678 ; Channel variable to be set for all calls from or to this device -;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will - ; cause the given audio file to - ; be played upon completion of - ; an attended transfer. - -;[pre14-asterisk] -;type=friend -;secret=digium -;host=dynamic -;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine. - ; You must have this turned on or DTMF reception will work improperly. -;t38pt_usertpsource=yes ; Use the source IP address of RTP as the destination IP address for UDPTL packets - ; if the nat option is enabled. If a single RTP packet is received Asterisk will know the - ; external IP address of the remote device. If port forwarding is done at the client side - ; then UDPTL will flow to the remote device. - -[loadtester1] -transport = udp -directmedia = no -context = default -callerid = "Loadtester1" <loadtester1> -secret = loadtester1 -type = friend - -[loadtester2] -transport = udp -directmedia = no -context = default -callerid = "Loadtester2" <loadtester2> -secret = loadtester2 -type = friend -host = 127.0.0.1 -port = 5070 - -[phone1] -transport = udp -directmedia = no -context = default -callerid = "Phone 1" <phone1> -secret = phone1 -type = friend -host = dynamic diff --git a/asterisk-load-tests/full_IO/xhd/system.conf b/asterisk-load-tests/full_IO/xhd/system.conf deleted file mode 100644 index 39837f3..0000000 --- a/asterisk-load-tests/full_IO/xhd/system.conf +++ /dev/null @@ -1,44 +0,0 @@ -# Autogenerated by /usr/sbin/dahdi_genconf on Fri Apr 20 18:08:28 2012 -# If you edit this file and execute /usr/sbin/dahdi_genconf again, -# your manual changes will be LOST. -# Dahdi Configuration File -# -# This file is parsed by the Dahdi Configurator, dahdi_cfg -# -# Span 1: B4/0/1 "B4XXP (PCI) Card 0 Span 1" (MASTER) -span=1,1,0,ccs,ami,te -bchan=1-2 -hardhdlc=3 -echocanceller=mg2,1-2 - -# Span 2: B4/0/2 "B4XXP (PCI) Card 0 Span 2" -span=2,2,0,ccs,ami,te -bchan=4-5 -hardhdlc=6 -echocanceller=mg2,4-5 - -# Span 3: B4/0/3 "B4XXP (PCI) Card 0 Span 3" -span=3,3,0,ccs,ami,te -bchan=7-8 -hardhdlc=9 -echocanceller=mg2,7-8 - -# Span 4: B4/0/4 "B4XXP (PCI) Card 0 Span 4" YELLOW -span=4,4,0,ccs,ami,te -bchan=10-11 -hardhdlc=12 -echocanceller=mg2,10-11 - -# Span 5: WCTDM/4 "Wildcard TDM400P REV I Board 5" -fxoks=13 -echocanceller=mg2,13 -fxoks=14 -echocanceller=mg2,14 -fxsks=15 -echocanceller=mg2,15 -# channel 16, WCTDM/4/3, no module. - -# Global data - -loadzone = us -defaultzone = us diff --git a/factory/full_IO/README b/factory/full_IO/README new file mode 100644 index 0000000..17289de --- /dev/null +++ b/factory/full_IO/README @@ -0,0 +1,11 @@ +ssh-add +eval $(ssh-agent) +./install.sh te +#dahdi show status +cp -a call/call42 /var/spool/asterisk/outgoing +cp -a call/call43 /var/spool/asterisk/outgoing +cp -a call/call44 /var/spool/asterisk/outgoing +./install.sh nt +asterisk -rvvv sur les deux board +cp -a call/call44 /var/spool/asterisk/outgoing + diff --git a/factory/full_IO/chan_dahdi.conf.nt b/factory/full_IO/chan_dahdi.conf.nt new file mode 100644 index 0000000..038265d --- /dev/null +++ b/factory/full_IO/chan_dahdi.conf.nt @@ -0,0 +1,1457 @@ +; +; DAHDI Telephony Configuration file +; +; You need to restart Asterisk to re-configure the DAHDI channel +; CLI> module reload chan_dahdi.so +; will reload the configuration file, but not all configuration options +; are re-configured during a reload (signalling, as well as PRI and +; SS7-related settings cannot be changed on a reload). +; +; This file documents many configuration variables. Normally unless you know +; what a variable means or that it should be changed, there's no reason to +; un-comment those lines. +; +; Examples below that are commented out (those lines that begin with a ';' but +; no space afterwards) typically show a value that is not the default value, +; but would make sense under certain circumstances. The default values are +; usually sane. Thus you should typically not touch them unless you know what +; they mean or you know you should change them. + +[trunkgroups] +; +; Trunk groups are used for NFAS connections. +; +; Group: Defines a trunk group. +; trunkgroup => <trunkgroup>,<dchannel>[,<backup1>...] +; +; trunkgroup is the numerical trunk group to create +; dchannel is the DAHDI channel which will have the +; d-channel for the trunk. +; backup1 is an optional list of backup d-channels. +; +;trunkgroup => 1,24,48 +;trunkgroup => 1,24 +; +; Spanmap: Associates a span with a trunk group +; spanmap => <dahdispan>,<trunkgroup>[,<logicalspan>] +; +; dahdispan is the DAHDI span number to associate +; trunkgroup is the trunkgroup (specified above) for the mapping +; logicalspan is the logical span number within the trunk group to use. +; if unspecified, no logical span number is used. +; +;spanmap => 1,1,1 +;spanmap => 2,1,2 +;spanmap => 3,1,3 +;spanmap => 4,1,4 + +[channels] +; +; Default language +; +;language=en +; +; Context for calls. Defaults to 'default' +; +;context=incoming +; +; Switchtype: Only used for PRI. +; +; national: National ISDN 2 (default) +; dms100: Nortel DMS100 +; 4ess: AT&T 4ESS +; 5ess: Lucent 5ESS +; euroisdn: EuroISDN (common in Europe) +; ni1: Old National ISDN 1 +; qsig: Q.SIG +; +;switchtype=euroisdn +; +; MSNs for ISDN spans. Asterisk will listen for the listed numbers on +; incoming calls and ignore any calls not listed. +; Here you can give a comma separated list of numbers or dialplan extension +; patterns. An empty list disables MSN matching to allow any incoming call. +; Only set on PTMP CPE side of ISDN span if needed. +; The default is an empty list. +;msn= +; +; Some switches (AT&T especially) require network specific facility IE. +; Supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet' +; +; nsf cannot be changed on a reload. +; +;nsf=none +; +;service_message_support=yes +; Enable service message support for channel. Must be set after switchtype. +; +; Dialing options for ISDN (i.e., Dial(DAHDI/g1/exten/options)): +; R Reverse Charge Indication +; Indicate to the called party that the call will be reverse charged. +; K(n) Keypad digits n +; Send out the specified digits as keypad digits. +; +; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for +; the dialed number. For most installations, leaving this as 'unknown' (the +; default) works in the most cases. In some very unusual circumstances, you +; may need to set this to 'dynamic' or 'redundant'. Note that if you set one +; of the others, you will be unable to dial another class of numbers. For +; example, if you set 'national', you will be unable to dial local or +; international numbers. +; +; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's +; numbering plan). In North America, the typical use is sending the 10 digit +; callerID number and setting the prilocaldialplan to 'national' (the default). +; Only VERY rarely will you need to change this. +; +; Neither pridialplan nor prilocaldialplan can be changed on reload. +; +; unknown: Unknown +; private: Private ISDN +; local: Local ISDN +; national: National ISDN +; international: International ISDN +; dynamic: Dynamically selects the appropriate dialplan +; redundant: Same as dynamic, except that the underlying number is not +; changed (not common) +; +;pridialplan=unknown +;prilocaldialplan=national +; +; pridialplan may be also set at dialtime, by prefixing the dialled number with +; one of the following letters: +; U - Unknown +; I - International +; N - National +; L - Local (Net Specific) +; S - Subscriber +; V - Abbreviated +; R - Reserved (should probably never be used but is included for completeness) +; +; Additionally, you may also set the following NPI bits (also by prefixing the +; dialled string with one of the following letters): +; u - Unknown +; e - E.163/E.164 (ISDN/telephony) +; x - X.121 (Data) +; f - F.69 (Telex) +; n - National +; p - Private +; r - Reserved (should probably never be used but is included for completeness) +; +; You may also set the prilocaldialplan in the same way, but by prefixing the +; Caller*ID Number, rather than the dialled number. Please note that telcos +; which require this kind of additional manipulation of the TON/NPI are *rare*. +; Most telco PRIs will work fine simply by setting pridialplan to unknown or +; dynamic. +; +; +; PRI caller ID prefixes based on the given TON/NPI (dialplan) +; This is especially needed for EuroISDN E1-PRIs +; +; None of the prefix settings can be changed on reload. +; +; sample 1 for Germany +;internationalprefix = 00 +;nationalprefix = 0 +;localprefix = 0711 +;privateprefix = 07115678 +;unknownprefix = +; +; sample 2 for Germany +;internationalprefix = + +;nationalprefix = +49 +;localprefix = +49711 +;privateprefix = +497115678 +;unknownprefix = +; +; PRI resetinterval: sets the time in seconds between restart of unused +; B channels; defaults to 'never'. +; +;resetinterval = 3600 +; +; Overlap dialing mode (sending overlap digits) +; Cannot be changed on a reload. +; +; incoming: incoming direction only +; outgoing: outgoing direction only +; no: neither direction +; yes or both: both directions +; +;overlapdial=yes +; +; Allow inband audio (progress) when a call is DISCONNECTed by the far end of a PRI +; +;inbanddisconnect=yes +; +; Allow a held call to be transferred to the active call on disconnect. +; This is useful on BRI PTMP NT lines where an ISDN phone can simulate the +; transfer feature of an analog phone. +; The default is no. +;hold_disconnect_transfer=yes +; +; PRI Out of band indications. +; Enable this to report Busy and Congestion on a PRI using out-of-band +; notification. Inband indication, as used by Asterisk doesn't seem to work +; with all telcos. +; +; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT +; inband: Signal Busy/Congestion using in-band tones (default) +; +; priindication cannot be changed on a reload. +; +;priindication = outofband +; +; If you need to override the existing channels selection routine and force all +; PRI channels to be marked as exclusively selected, set this to yes. +; +; priexclusive cannot be changed on a reload. +; +;priexclusive = yes +; +; +; If you need to use the logical channel mapping with your Q.SIG PRI instead +; of the physical mapping you must use the qsigchannelmapping option. +; +; logical: Use the logical channel mapping +; physical: Use physical channel mapping (default) +; +;qsigchannelmapping=logical +; +; If you wish to ignore remote hold indications (and use MOH that is supplied over +; the B channel) enable this option. +; +;discardremoteholdretrieval=yes +; +; ISDN Timers +; All of the ISDN timers and counters that are used are configurable. Specify +; the timer name, and its value (in ms for timers). +; K: Layer 2 max number of outstanding unacknowledged I frames (default 7) +; N200: Layer 2 max number of retransmissions of a frame (default 3) +; T200: Layer 2 max time before retransmission of a frame (default 1000 ms) +; T203: Layer 2 max time without frames being exchanged (default 10000 ms) +; T305: Wait for DISCONNECT acknowledge (default 30000 ms) +; T308: Wait for RELEASE acknowledge (default 4000 ms) +; T309: Maintain active calls on Layer 2 disconnection (default -1, +; Asterisk clears calls) +; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s +; May vary in other ISDN standards (Q.931 1993 : 90000 ms) +; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms) +; +; T-RESPONSE: Maximum time to wait for a typical APDU response. (default 4000 ms) +; This is an implementation timer when the standard does not specify one. +; T-ACTIVATE: Request supervision timeout. (default 10000 ms) +; T-RETENTION: Maximum time to wait for user A to activate call-completion. (default 30000 ms) +; Used by ETSI PTP, ETSI PTMP, and Q.SIG as the cc_offer_timer. +; T-CCBS1: T-STATUS timer equivalent for CC user A status. (default 4000 ms) +; T-CCBS2: Maximum time the CCBS service will be active (default 45 min in ms) +; T-CCBS3: Maximum time to wait for user A to respond to user B availability. (default 20000 ms) +; T-CCBS5: Network B CCBS supervision timeout. (default 60 min in ms) +; T-CCBS6: Network A CCBS supervision timeout. (default 60 min in ms) +; T-CCNR2: Maximum time the CCNR service will be active (default 180 min in ms) +; T-CCNR5: Network B CCNR supervision timeout. (default 195 min in ms) +; T-CCNR6: Network A CCNR supervision timeout. (default 195 min in ms) +; CC-T1: Q.SIG CC request supervision timeout. (default 30000 ms) +; CCBS-T2: Q.SIG CCBS supervision timeout. (default 60 min in ms) +; CCNR-T2: Q.SIG CCNR supervision timeout. (default 195 min in ms) +; CC-T3: Q.SIG CC Maximum time to wait for user A to respond to user B availability. (default 30000 ms) +; +;pritimer => t200,1000 +;pritimer => t313,4000 +; +; CC PTMP recall mode: +; specific - Only the CC original party A can participate in the CC callback +; global - Other compatible endpoints on the PTMP line can be party A in the CC callback +; +; cc_ptmp_recall_mode cannot be changed on a reload. +; +;cc_ptmp_recall_mode = specific +; +; CC Q.SIG Party A (requester) retain signaling link option +; retain Require that the signaling link be retained. +; release Request that the signaling link be released. +; do_not_care The responder is free to choose if the signaling link will be retained. +; +;cc_qsig_signaling_link_req = retain +; +; CC Q.SIG Party B (responder) retain signaling link option +; retain Prefer that the signaling link be retained. +; release Prefer that the signaling link be released. +; +;cc_qsig_signaling_link_rsp = retain +; +; See ccss.conf.sample for more options. The timers described by ccss.conf.sample +; are not used by ISDN for the native protocol since they are defined by the +; standards and set by pritimer above. +; +; To enable transmission of facility-based ISDN supplementary services (such +; as caller name from CPE over facility), enable this option. +; Cannot be changed on a reload. +; +;facilityenable = yes +; + +; This option enables Advice of Charge pass-through between the ISDN PRI and +; Asterisk. This option can be set to any combination of 's', 'd', and 'e' which +; represent the different variants of Advice of Charge, AOC-S, AOC-D, and AOC-E. +; Advice of Charge pass-through is currently only supported for ETSI. Since most +; AOC messages are sent on facility messages, the 'facilityenable' option must +; also be enabled to fully support AOC pass-through. +; +;aoc_enable=s,d,e +; +; When this option is enabled, a hangup initiated by the ISDN PRI side of the +; asterisk channel will result in the channel delaying its hangup in an +; attempt to receive the final AOC-E message from its bridge. The delay +; period is configured as one half the T305 timer length. If the channel +; is not bridged the hangup will occur immediatly without delay. +; +;aoce_delayhangup=yes + +; pritimer cannot be changed on a reload. +; +; Signalling method. The default is "auto". Valid values: +; auto: Use the current value from DAHDI. +; em: E & M +; em_e1: E & M E1 +; em_w: E & M Wink +; featd: Feature Group D (The fake, Adtran style, DTMF) +; featdmf: Feature Group D (The real thing, MF (domestic, US)) +; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through +; a Tandem Access point +; featb: Feature Group B (MF (domestic, US)) +; fgccama: Feature Group C-CAMA (DP DNIS, MF ANI) +; fgccamamf: Feature Group C-CAMA MF (MF DNIS, MF ANI) +; fxs_ls: FXS (Loop Start) +; fxs_gs: FXS (Ground Start) +; fxs_ks: FXS (Kewl Start) +; fxo_ls: FXO (Loop Start) +; fxo_gs: FXO (Ground Start) +; fxo_ks: FXO (Kewl Start) +; pri_cpe: PRI signalling, CPE side +; pri_net: PRI signalling, Network side +; bri_cpe: BRI PTP signalling, CPE side +; bri_net: BRI PTP signalling, Network side +; bri_cpe_ptmp: BRI PTMP signalling, CPE side +; bri_net_ptmp: BRI PTMP signalling, Network side +; sf: SF (Inband Tone) Signalling +; sf_w: SF Wink +; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF) +; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US)) +; sf_featb: SF Feature Group B (MF (domestic, US)) +; e911: E911 (MF) style signalling +; ss7: Signalling System 7 +; mfcr2: MFC/R2 Signalling. To specify the country variant see 'mfcr2_variant' +; +; The following are used for Radio interfaces: +; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the +; channel bank) +; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the +; channel bank) +; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the +; channel bank) +; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at +; the channel bank) +; em_rx: Receive audio/COR on an E&M interface (1-way) +; em_tx: Transmit audio/PTT on an E&M interface (1-way) +; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface +; (2-way) +; em_rxtx: Same as em_txrx (for our dyslexic friends) +; sf_rx: Receive audio/COR on an SF interface (1-way) +; sf_tx: Transmit audio/PTT on an SF interface (1-way) +; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface +; (2-way) +; sf_rxtx: Same as sf_txrx (for our dyslexic friends) +; ss7: Signalling System 7 +; +; signalling of a channel can not be changed on a reload. +; +;signalling=fxo_ls +; +; If you have an outbound signalling format that is different from format +; specified above (but compatible), you can specify outbound signalling format, +; (see below). The 'signalling' format specified will be the inbound signalling +; format. If you only specify 'signalling', then it will be the format for +; both inbound and outbound. +; +; outsignalling can only be one of: +; em, em_e1, em_w, sf, sf_w, sf_featd, sf_featdmf, sf_featb, featd, +; featdmf, featdmf_ta, e911, fgccama, fgccamamf +; +; outsignalling cannot be changed on a reload. +; +;signalling=featdmf +; +;outsignalling=featb +; +; For Feature Group D Tandem access, to set the default CIC and OZZ use these +; parameters (Will not be updated on reload): +; +;defaultozz=0000 +;defaultcic=303 +; +; A variety of timing parameters can be specified as well +; The default values for those are "-1", which is to use the +; compile-time defaults of the DAHDI kernel modules. The timing +; parameters, (with the standard default from DAHDI): +; +; prewink: Pre-wink time (default 50ms) +; preflash: Pre-flash time (default 50ms) +; wink: Wink time (default 150ms) +; flash: Flash time (default 750ms) +; start: Start time (default 1500ms) +; rxwink: Receiver wink time (default 300ms) +; rxflash: Receiver flashtime (default 1250ms) +; debounce: Debounce timing (default 600ms) +; +; None of them will update on a reload. +; +; How long generated tones (DTMF and MF) will be played on the channel +; (in milliseconds). +; +; This is a global, rather than a per-channel setting. It will not be +; updated on a reload. +; +;toneduration=100 +; +; Whether or not to do distinctive ring detection on FXO lines: +; +;usedistinctiveringdetection=yes +; +; enable dring detection after caller ID for those countries like Australia +; where the ring cadence is changed *after* the caller ID spill: +; +;distinctiveringaftercid=yes +; +; Whether or not to use caller ID: +; +usecallerid=yes +; +; Type of caller ID signalling in use +; bell = bell202 as used in US (default) +; v23 = v23 as used in the UK +; v23_jp = v23 as used in Japan +; dtmf = DTMF as used in Denmark, Sweden and Netherlands +; smdi = Use SMDI for caller ID. Requires SMDI to be enabled (usesmdi). +; +;cidsignalling=v23 +; +; What signals the start of caller ID +; ring = a ring signals the start (default) +; polarity = polarity reversal signals the start +; polarity_IN = polarity reversal signals the start, for India, +; for dtmf dialtone detection; using DTMF. +; (see doc/India-CID.txt) +; dtmf = causes monitor loop to look for dtmf energy on the +; incoming channel to initate cid acquisition +; +;cidstart=polarity +; +; When cidstart=dtmf, the energy level on the line used to trigger dtmf cid +; acquisition. This number is compared to the average over a packet of audio +; of the absolute values of 16 bit signed linear samples. The default is set +; to 256. The choice of 256 is arbitrary. The value you should select should +; be high enough to prevent false detections while low enough to insure that +; no dtmf spills are missed. +; +;dtmfcidlevel=256 +; +; Whether or not to hide outgoing caller ID (Override with *67 or *82) +; (If your dialplan doesn't catch it) +; +;hidecallerid=yes +; +; Enable if you need to hide just the name and not the number for legacy PBX use. +; Only applies to PRI channels. +;hidecalleridname=yes +; +; On UK analog lines, the caller hanging up determines the end of calls. So +; Asterisk hanging up the line may or may not end a call (DAHDI could just as +; easily be re-attaching to a prior incoming call that was not yet hung up). +; This option changes the hangup to wait for a dialtone on the line, before +; marking the line as once again available for use with outgoing calls. +;waitfordialtone=yes +; +; The following option enables receiving MWI on FXO lines. The default +; value is no. +; The mwimonitor can take the following values +; no - No mwimonitoring occurs. (default) +; yes - The same as specifying fsk +; fsk - the FXO line is monitored for MWI FSK spills +; fsk,rpas - the FXO line is monitored for MWI FSK spills preceded +; by a ring pulse alert signal. +; neon - The fxo line is monitored for the presence of NEON pulses +; indicating MWI. +; When detected, an internal Asterisk MWI event is generated so that any other +; part of Asterisk that cares about MWI state changes is notified, just as if +; the state change came from app_voicemail. +; For FSK MWI Spills, the energy level that must be seen before starting the +; MWI detection process can be set with 'mwilevel'. +; +;mwimonitor=no +;mwilevel=512 +; +; This option is used in conjunction with mwimonitor. This will get executed +; when incoming MWI state changes. The script is passed 2 arguments. The +; first is the corresponding mailbox, and the second is 1 or 0, indicating if +; there are messages waiting or not. +; +;mwimonitornotify=/usr/local/bin/dahdinotify.sh +; +; The following keyword 'mwisendtype' enables various VMWI methods on FXS lines (if supported). +; The default is to send FSK only. +; The following options are available; +; 'rpas' Ring Pulse Alert Signal, alerts intelligent phones that a FSK message is about to be sent. +; 'lrev' Line reversed to indicate messages waiting. +; 'hvdc' 90Vdc OnHook DC voltage to indicate messages waiting. +; 'hvac' or 'neon' 90Vac OnHook AC voltage to light Neon bulb. +; 'nofsk' Disables FSK MWI spills from being sent out. +; It is feasible that multiple options can be enabled. +;mwisendtype=rpas,lrev +; +; Whether or not to enable call waiting on internal extensions +; With this set to 'yes', busy extensions will hear the call-waiting +; tone, and can use hook-flash to switch between callers. The Dial() +; app will not return the "BUSY" result for extensions. +; +callwaiting=yes +; +; Configure the number of outstanding call waiting calls for internal ISDN +; endpoints before bouncing the calls as busy. This option is equivalent to +; the callwaiting option for analog ports. +; A call waiting call is a SETUP message with no B channel selected. +; The default is zero to disable call waiting for ISDN endpoints. +;max_call_waiting_calls=0 +; +; Allow incoming ISDN call waiting calls. +; A call waiting call is a SETUP message with no B channel selected. +;allow_call_waiting_calls=no +; +; Configure the ISDN span to indicate MWI for the list of mailboxes. +; You can give a comma separated list of up to 8 mailboxes per span. +; An empty list disables MWI. +; The default is an empty list. +;mwi_mailboxes=mailbox_number[@context]{,mailbox_number[@context]} +; +; Whether or not restrict outgoing caller ID (will be sent as ANI only, not +; available for the user) +; Mostly use with FXS ports +; Does nothing. Use hidecallerid instead. +; +;restrictcid=no +; +; Whether or not to use the caller ID presentation from the Asterisk channel +; for outgoing calls. +; See dialplan function CALLERID(pres) for more information. +; Only applies to PRI and SS7 channels. +; +usecallingpres=yes +; +; Some countries (UK) have ring tones with different ring tones (ring-ring), +; which means the caller ID needs to be set later on, and not just after +; the first ring, as per the default (1). +; +;sendcalleridafter = 2 +; +; +; Support caller ID on Call Waiting +; +callwaitingcallerid=yes +; +; Support three-way calling +; +threewaycalling=yes +; +; For FXS ports (either direct analog or over T1/E1): +; Support flash-hook call transfer (requires three way calling) +; Also enables call parking (overrides the 'canpark' parameter) +; +; For digital ports using ISDN PRI protocols: +; Support switch-side transfer (called 2BCT, RLT or other names) +; This setting must be enabled on both ports involved, and the +; 'facilityenable' setting must also be enabled to allow sending +; the transfer to the ISDN switch, since it sent in a FACILITY +; message. +; NOTE: This should be disabled for NT PTMP mode. Phones cannot +; have tromboned calls pushed down to them. +; +transfer=yes +; +; Allow call parking +; ('canpark=no' is overridden by 'transfer=yes') +; +canpark=yes +; +; Support call forward variable +; +cancallforward=yes +; +; Whether or not to support Call Return (*69, if your dialplan doesn't +; catch this first) +; +callreturn=yes +; +; Stutter dialtone support: If a mailbox is specified without a voicemail +; context, then when voicemail is received in a mailbox in the default +; voicemail context in voicemail.conf, taking the phone off hook will cause a +; stutter dialtone instead of a normal one. +; +; If a mailbox is specified *with* a voicemail context, the same will result +; if voicemail received in mailbox in the specified voicemail context. +; +; for default voicemail context, the example below is fine: +; +;mailbox=1234 +; +; for any other voicemail context, the following will produce the stutter tone: +; +;mailbox=1234@context +; +; Enable echo cancellation +; Use either "yes", "no", or a power of two from 32 to 256 if you wish to +; actually set the number of taps of cancellation. +; +; Note that when setting the number of taps, the number 256 does not translate +; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms. +; +; Note that if any of your DAHDI cards have hardware echo cancellers, +; then this setting only turns them on and off; numeric settings will +; be treated as "yes". There are no special settings required for +; hardware echo cancellers; when present and enabled in their kernel +; modules, they take precedence over the software echo canceller compiled +; into DAHDI automatically. +; +; +echocancel=yes +; +; Some DAHDI echo cancellers (software and hardware) support adjustable +; parameters; these parameters can be supplied as additional options to +; the 'echocancel' setting. Note that Asterisk does not attempt to +; validate the parameters or their values, so if you supply an invalid +; parameter you will not know the specific reason it failed without +; checking the kernel message log for the error(s) put there by DAHDI. +; +;echocancel=128,param1=32,param2=0,param3=14 +; +; Generally, it is not necessary (and in fact undesirable) to echo cancel when +; the circuit path is entirely TDM. You may, however, change this behavior +; by enabling the echo canceller during pure TDM bridging below. +; +echocancelwhenbridged=yes +; +; In some cases, the echo canceller doesn't train quickly enough and there +; is echo at the beginning of the call. Enabling echo training will cause +; DAHDI to briefly mute the channel, send an impulse, and use the impulse +; response to pre-train the echo canceller so it can start out with a much +; closer idea of the actual echo. Value may be "yes", "no", or a number of +; milliseconds to delay before training (default = 400) +; +; WARNING: In some cases this option can make echo worse! If you are +; trying to debug an echo problem, it is worth checking to see if your echo +; is better with the option set to yes or no. Use whatever setting gives +; the best results. +; +; Note that these parameters do not apply to hardware echo cancellers. +; +;echotraining=yes +;echotraining=800 +; +; If you are having trouble with DTMF detection, you can relax the DTMF +; detection parameters. Relaxing them may make the DTMF detector more likely +; to have "talkoff" where DTMF is detected when it shouldn't be. +; +;relaxdtmf=yes +; +; You may also set the default receive and transmit gains (in dB) +; +; Gain Settings: increasing / decreasing the volume level on a channel. +; The values are in db (decibells). A positive number +; increases the volume level on a channel, and a +; negavive value decreases volume level. +; +; Dynamic Range Compression: you can also enable dynamic range compression +; on a channel. This will amplify quiet sounds while leaving +; louder sounds untouched. This is useful in situations where +; a linear gain setting would cause clipping. Acceptable values +; are in the range of 0.0 to around 6.0 with higher values +; causing more compression to be done. +; +; There are several independent gain settings: +; rxgain: gain for the rx (receive - into Asterisk) channel. Default: 0.0 +; txgain: gain for the tx (transmit - out of Asterisk Asterisk) channel. +; Default: 0.0 +; cid_rxgain: set the gain just for the caller ID sounds Asterisk +; emits. Default: 5.0 . +; rxdrc: dynamic range compression for the rx channel. Default: 0.0 +; txdrc: dynamic range compression for the tx channel. Default: 0.0 + +;rxgain=2.0 +;txgain=3.0 +; +;rxdrc=1.0 +;txdrc=4.0 +; +; Logical groups can be assigned to allow outgoing roll-over. Groups range +; from 0 to 63, and multiple groups can be specified. By default the +; channel is not a member of any group. +; +; Note that an explicit empty value for 'group' is invalid, and will not +; override a previous non-empty one. The same applies to callgroup and +; pickupgroup as well. +; +group=1 +; +; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing +; and it is a member of a group which is one of your pickup groups, then +; you can answer it by picking up and dialing *8#. For simple offices, just +; make these both the same. Groups range from 0 to 63. +; +callgroup=1 +pickupgroup=1 + +; Channel variable to be set for all calls from this channel +;setvar=CHANNEL=42 +;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will + ; cause the given audio file to + ; be played upon completion of + ; an attended transfer. + +; +; Specify whether the channel should be answered immediately or if the simple +; switch should provide dialtone, read digits, etc. +; Note: If immediate=yes the dialplan execution will always start at extension +; 's' priority 1 regardless of the dialed number! +; +;immediate=yes +; +; Specify whether flash-hook transfers to 'busy' channels should complete or +; return to the caller performing the transfer (default is yes). +; +;transfertobusy=no + +; Calls will have the party id user tag set to this string value. +; +;cid_tag= + +; With this set, you can automatically append the MSN of a party +; to the cid_tag. An '_' is used to separate the tag from the MSN. +; Applies to ISDN spans. +; Default is no. +; +; Table of what number is appended: +; outgoing incoming +; net dialed caller +; cpe caller dialed +; +;append_msn_to_cid_tag=no + +; caller ID can be set to "asreceived" or a specific number if you want to +; override it. Note that "asreceived" only applies to trunk interfaces. +; fullname sets just the +; +; fullname: sets just the name part. +; cid_number: sets just the number part: +; +;callerid = 123456 +; +;callerid = My Name <2564286000> +; Which can also be written as: +;cid_number = 2564286000 +;fullname = My Name +; +;callerid = asreceived +; +; should we use the caller ID from incoming call on DAHDI transfer? +; +;useincomingcalleridondahditransfer = yes +; +; AMA flags affects the recording of Call Detail Records. If specified +; it may be 'default', 'omit', 'billing', or 'documentation'. +; +;amaflags=default +; +; Channels may be associated with an account code to ease +; billing +; +;accountcode=lss0101 +; +; ADSI (Analog Display Services Interface) can be enabled on a per-channel +; basis if you have (or may have) ADSI compatible CPE equipment +; +;adsi=yes +; +; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel +; basis if you would like that channel to behave like an SMDI message desk. +; The SMDI port specified should have already been defined in smdi.conf. The +; default port is /dev/ttyS0. +; +;usesmdi=yes +;smdiport=/dev/ttyS0 +; +; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D +; etc, it can be useful to perform busy detection either in an effort to +; detect hangup or for detecting busies. This enables listening for +; the beep-beep busy pattern. +; +;busydetect=yes +; +; If busydetect is enabled, it is also possible to specify how many busy tones +; to wait for before hanging up. The default is 3, but it might be +; safer to set to 6 or even 8. Mind that the higher the number, the more +; time that will be needed to hangup a channel, but lowers the probability +; that you will get random hangups. +; +;busycount=6 +; +; If busydetect is enabled, it is also possible to specify the cadence of your +; busy signal. In many countries, it is 500msec on, 500msec off. Without +; busypattern specified, we'll accept any regular sound-silence pattern that +; repeats <busycount> times as a busy signal. If you specify busypattern, +; then we'll further check the length of the sound (tone) and silence, which +; will further reduce the chance of a false positive. +; +;busypattern=500,500 +; +; NOTE: In make menuselect, you'll find further options to tweak the busy +; detector. If your country has a busy tone with the same length tone and +; silence (as many countries do), consider enabling the +; BUSYDETECT_COMPARE_TONE_AND_SILENCE option. +; +; To further detect which hangup tone your telco provider is sending, it is +; useful to use the ztmonitor utility to record the audio that main/dsp.c +; is receiving after the caller hangs up. +; +; For FXS (FXO signalled) ports +; switch the line polarity to signal the connected PBX that an outgoing +; call was answered by the remote party. +; For FXO (FXS signalled) ports +; watch for a polarity reversal to mark when a outgoing call is +; answered by the remote party. +; +;answeronpolarityswitch=yes +; +; For FXS (FXO signalled) ports +; switch the line polarity to signal the connected PBX that the current +; call was "hung up" by the remote party +; For FXO (FXS signalled) ports +; In some countries, a polarity reversal is used to signal the disconnect of a +; phone line. If the hanguponpolarityswitch option is selected, the call will +; be considered "hung up" on a polarity reversal. +; +;hanguponpolarityswitch=yes +; +; polarityonanswerdelay: minimal time period (ms) between the answer +; polarity switch and hangup polarity switch. +; (default: 600ms) +; +; On trunk interfaces (FXS) it can be useful to attempt to follow the progress +; of a call through RINGING, BUSY, and ANSWERING. If turned on, call +; progress attempts to determine answer, busy, and ringing on phone lines. +; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers, +; so don't count on it being very accurate. +; +; Few zones are supported at the time of this writing, but may be selected +; with "progzone". +; +; progzone also affects the pattern used for buzydetect (unless +; busypattern is set explicitly). The possible values are: +; us (default) +; ca (alias for 'us') +; cr (Costa Rica) +; br (Brazil, alias for 'cr') +; uk +; +; This feature can also easily detect false hangups. The symptoms of this is +; being disconnected in the middle of a call for no reason. +; +;callprogress=yes +;progzone=uk +; +; Set the tonezone. Equivalent of the defaultzone settings in +; /etc/dahdi/system.conf. This sets the tone zone by number. +; Note that you'd still need to load tonezones (loadzone in +; /etc/dahdi/system.conf). +; The default is -1: not to set anything. +;tonezone = 0 ; 0 is US +; +; FXO (FXS signalled) devices must have a timeout to determine if there was a +; hangup before the line was answered. This value can be tweaked to shorten +; how long it takes before DAHDI considers a non-ringing line to have hungup. +; +; ringtimeout will not update on a reload. +; +;ringtimeout=8000 +; +; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF +; Pulse digits from phones (FXS devices, FXO signalling) are always +; detected. +; +;pulsedial=yes +; +; For fax detection, uncomment one of the following lines. The default is *OFF* +; +;faxdetect=both +;faxdetect=incoming +;faxdetect=outgoing +;faxdetect=no +; +; When 'faxdetect' is used, one could use 'faxbuffers' to configure the DAHDI +; transmit buffer policy. The default is *OFF*. When this configuration +; option is used, the faxbuffer policy will be used for the life of the call +; after a fax tone is detected. The faxbuffer policy is reverted after the +; call is torn down. The sample below will result in 6 buffers and a full +; buffer policy. +; +;faxbuffers=>6,full +; +; This option specifies a preference for which music on hold class this channel +; should listen to when put on hold if the music class has not been set on the +; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer +; channel putting this one on hold did not suggest a music class. +; +; If this option is set to "passthrough", then the hold message will always be +; passed through as signalling instead of generating hold music locally. This +; setting is only valid when used on a channel that uses digital signalling. +; +; This option may be set globally or on a per-channel basis. +; +;mohinterpret=default +; +; This option specifies which music on hold class to suggest to the peer channel +; when this channel places the peer on hold. This option may be set globally, +; or on a per-channel basis. +; +;mohsuggest=default +; +; PRI channels can have an idle extension and a minunused number. So long as +; at least "minunused" channels are idle, chan_dahdi will try to call "idledial" +; on them, and then dump them into the PBX in the "idleext" extension (which +; is of the form exten@context). When channels are needed the "idle" calls +; are disconnected (so long as there are at least "minidle" calls still +; running, of course) to make more channels available. The primary use of +; this is to create a dynamic service, where idle channels are bundled through +; multilink PPP, thus more efficiently utilizing combined voice/data services +; than conventional fixed mappings/muxings. +; +; Those settings cannot be changed on reload. +; +;idledial=6999 +;idleext=6999@dialout +;minunused=2 +;minidle=1 +; +; +; ignore_failed_channels: Continue even if some channels failed to configure. +; False by default, as if even a single channel failed to configure, it might +; mean other channels are misplaced and having them work may not be a good +; idea. If enabled (set to true), chan_dahdi will nevertheless attempt to +; configure other channels rather than giving up. This normally makes sense +; only if you use names (<subdir>!<number>) for DAHDI channels. +;ignore_failed_channels = true +; +; Configure jitter buffers in DAHDI (each one is 20ms, default is 4) +; This is set globally, rather than per-channel. +; +;jitterbuffers=4 +; +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The DAHDI channel can't accept jitter, + ; thus an enabled jitterbuffer on the receive DAHDI side will always + ; be used if the sending side can create jitter. + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; 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". +;----------------------------------------------------------------------------------- +; +; You can define your own custom ring cadences here. You can define up to 8 +; pairs. If the silence is negative, it indicates where the caller ID spill is +; to be placed. Also, if you define any custom cadences, the default cadences +; will be turned off. +; +; This setting is global, rather than per-channel. It will not update on +; a reload. +; +; Syntax is: cadence=ring,silence[,ring,silence[...]] +; +; These are the default cadences: +; +;cadence=125,125,2000,-4000 +;cadence=250,250,500,1000,250,250,500,-4000 +;cadence=125,125,125,125,125,-4000 +;cadence=1000,500,2500,-5000 +; +; Each channel consists of the channel number or range. It inherits the +; parameters that were specified above its declaration. +; +; +;callerid="Green Phone"<(256) 428-6121> +;channel => 1 +;callerid="Black Phone"<(256) 428-6122> +;channel => 2 +;callerid="CallerID Phone" <(630) 372-1564> +;channel => 3 +;callerid="Pac Tel Phone" <(256) 428-6124> +;channel => 4 +;callerid="Uniden Dead" <(256) 428-6125> +;channel => 5 +;callerid="Cortelco 2500" <(256) 428-6126> +;channel => 6 +;callerid="Main TA 750" <(256) 428-6127> +;channel => 44 +; +; For example, maybe we have some other channels which start out in a +; different context and use E & M signalling instead. +; +;context=remote +;signaling=em +;channel => 15 +;channel => 16 + +;signalling=em_w +; +; All those in group 0 I'll use for outgoing calls +; +; Strip most significant digit (9) before sending +; +;stripmsd=1 +;callerid=asreceived +;group=0 +;signalling=fxs_ls +;channel => 45 + +;signalling=fxo_ls +;group=1 +;callerid="Joe Schmoe" <(256) 428-6131> +;channel => 25 +;callerid="Megan May" <(256) 428-6132> +;channel => 26 +;callerid="Suzy Queue" <(256) 428-6233> +;channel => 27 +;callerid="Larry Moe" <(256) 428-6234> +;channel => 28 +; +; Sample PRI (CPE) config: Specify the switchtype, the signalling as either +; pri_cpe or pri_net for CPE or Network termination, and generally you will +; want to create a single "group" for all channels of the PRI. +; +; switchtype cannot be changed on a reload. +; +; switchtype = national +; signalling = pri_cpe +; group = 2 +; channel => 1-23 +; +; Alternatively, the number of the channel may be replaced with a relative +; path to a device file under /dev/dahdi . The final element of that file +; must be a number, though. The directory separator is '!', as we can't +; use '/' in a dial string. So if we have +; +; /dev/dahdi/span-name/pstn/00/1 +; /dev/dahdi/span-name/pstn/00/2 +; /dev/dahdi/span-name/pstn/00/3 +; /dev/dahdi/span-name/pstn/00/4 +; +; we could use: +;channel => span-name!pstn!00!1-4 +; +; or: +;channel => span-name!pstn!00!1,2,3,4 +; +; See also ignore_failed_channels above. + +; Used for distinctive ring support for x100p. +; You can see the dringX patterns is to set any one of the dringXcontext fields +; and they will be printed on the console when an inbound call comes in. +; +; dringXrange is used to change the acceptable ranges for "tone offsets". Defaults to 10. +; Note: a range of 0 is NOT what you might expect - it instead forces it to the default. +; A range of -1 will force it to always match. +; Anything lower than -1 would presumably cause it to never match. +; +;dring1=95,0,0 +;dring1context=internal1 +;dring1range=10 +;dring2=325,95,0 +;dring2context=internal2 +;dring2range=10 +; If no pattern is matched here is where we go. +;context=default +;channel => 1 + +; AMI alarm event reporting +;reportalarms=channels +;Possible values are: +;channels - report each channel alarms (current behavior, default for backward compatibility) +;spans - report an "SpanAlarm" event when the span of any configured channel is alarmed +;all - report channel and span alarms (aggregated behavior) +;none - do not report any alarms. + +; ---------------- Options for use with signalling=ss7 ----------------- +; None of them can be changed by a reload. +; +; Variant of SS7 signalling: +; Options are itu and ansi +;ss7type = itu + +; SS7 Called Nature of Address Indicator +; +; unknown: Unknown +; subscriber: Subscriber +; national: National +; international: International +; dynamic: Dynamically selects the appropriate dialplan +; +;ss7_called_nai=dynamic +; +; SS7 Calling Nature of Address Indicator +; +; unknown: Unknown +; subscriber: Subscriber +; national: National +; international: International +; dynamic: Dynamically selects the appropriate dialplan +; +;ss7_calling_nai=dynamic +; +; +; sample 1 for Germany +;ss7_internationalprefix = 00 +;ss7_nationalprefix = 0 +;ss7_subscriberprefix = +;ss7_unknownprefix = +; + +; This option is used to disable automatic sending of ACM when the call is started +; in the dialplan. If you do use this option, you will need to use the Proceeding() +; application in the dialplan to send ACM. +;ss7_explictacm=yes + +; All settings apply to linkset 1 +;linkset = 1 + +; Point code of the linkset. For ITU, this is the decimal number +; format of the point code. For ANSI, this can either be in decimal +; number format or in the xxx-xxx-xxx format +;pointcode = 1 + +; Point code of node adjacent to this signalling link (Possibly the STP between you and +; your destination). Point code format follows the same rules as above. +;adjpointcode = 2 + +; Default point code that you would like to assign to outgoing messages (in case of +; routing through STPs, or using A links). Point code format follows the same rules +; as above. +;defaultdpc = 3 + +; Begin CIC (Circuit indication codes) count with this number +;cicbeginswith = 1 + +; What the MTP3 network indicator bits should be set to. Choices are +; national, national_spare, international, international_spare +;networkindicator=international + +; First signalling channel +;sigchan = 48 + +; Additional signalling channel for this linkset (So you can have a linkset +; with two signalling links in it). It seems like a silly way to do it, but +; for linksets with multiple signalling links, you add an additional sigchan +; line for every additional signalling link on the linkset. +;sigchan = 96 + +; Channels to associate with CICs on this linkset +;channel = 25-47 +; +; For more information on setting up SS7, see the README file in libss7 or +; the doc/ss7.txt file in the Asterisk source tree. +; ----------------- SS7 Options ---------------------------------------- + +; ---------------- Options for use with signalling=mfcr2 -------------- + +; MFC-R2 signaling has lots of variants from country to country and even sometimes +; minor variants inside the same country. The only mandatory parameters here are: +; mfcr2_variant, mfcr2_max_ani and mfcr2_max_dnis. +; IT IS RECOMMENDED that you leave the default values (leaving it commented) for the +; other parameters unless you have problems or you have been instructed to change some +; parameter. OpenR2 library uses the mfcr2_variant parameter to try to determine the +; best defaults for your country, also refer to the OpenR2 package directory +; doc/asterisk/ where you can find sample configurations for some countries. If you +; want to contribute your configs for a particular country send them to the e-mail +; of the primary OpenR2 developer that you can find in the AUTHORS file of the OpenR2 package + +; MFC/R2 variant. This depends on the OpenR2 supported variants +; A list of values can be found by executing the openr2 command r2test -l +; some valid values are: +; ar (Argentina) +; br (Brazil) +; mx (Mexico) +; ph (Philippines) +; itu (per ITU spec) +; mfcr2_variant=mx + +; Max amount of ANI to ask for +; mfcr2_max_ani=10 + +; Max amount of DNIS to ask for +; mfcr2_max_dnis=4 + +; whether or not to get the ANI before getting DNIS. +; some telcos require ANI first some others do not care +; if this go wrong, change this value +; mfcr2_get_ani_first=no + +; Caller Category to send +; national_subscriber +; national_priority_subscriber +; international_subscriber +; international_priority_subscriber +; collect_call +; usually national_subscriber works just fine +; you can change this setting from the dialplan +; by setting the variable MFCR2_CATEGORY +; (remember to set _MFCR2_CATEGORY from originating channels) +; MFCR2_CATEGORY will also be a variable available in your context +; on incoming calls set to the value received from the far end +; mfcr2_category=national_subscriber + +; Call logging is stored at the Asterisk +; logging directory specified in asterisk.conf +; plus mfcr2/<whatever you put here> +; if you specify 'span1' here and asterisk.conf has +; as logging directory /var/log/asterisk then the full +; path to your MFC/R2 call logs will be /var/log/asterisk/mfcr2/span1 +; (the directory will be automatically created if not present already) +; remember to set mfcr2_call_files=yes +; mfcr2_logdir=span1 + +; whether or not to drop call files into mfcr2_logdir +; mfcr2_call_files=yes|no + +; MFC/R2 valid logging values are: all,error,warning,debug,notice,cas,mf,stack,nothing +; error,warning,debug and notice are self-descriptive +; 'cas' is for logging ABCD CAS tx and rx +; 'mf' is for logging of the Multi Frequency tones +; 'stack' is for very verbose output of the channel and context call stack, only useful +; if you are debugging a crash or want to learn how the library works. The stack logging +; will be only enabled if the openr2 library was compiled with -DOR2_TRACE_STACKS +; You can mix up values, like: loglevel=error,debug,mf to log just error, debug and +; multi frequency messages +; 'all' is a special value to log all the activity +; 'nothing' is a clean-up value, in case you want to not log any activity for +; a channel or group of channels +; BE AWARE that the level of output logged will ALSO depend on +; the value you have in logger.conf, if you disable output in logger.conf +; then it does not matter you specify 'all' here, nothing will be logged +; so logger.conf has the last word on what is going to be logged +; mfcr2_logging=all + +; MFC/R2 value in milliseconds for the MF timeout. Any negative value +; means 'default', smaller values than 500ms are not recommended +; and can cause malfunctioning. If you experience protocol error +; due to MF timeout try incrementing this value in 500ms steps +; mfcr2_mfback_timeout=-1 + +; MFC/R2 value in milliseconds for the metering pulse timeout. +; Metering pulses are sent by some telcos for some R2 variants +; during a call presumably for billing purposes to indicate costs, +; however this pulses use the same signal that is used to indicate +; call hangup, therefore a timeout is sometimes required to distinguish +; between a *real* hangup and a billing pulse that should not +; last more than 500ms, If you experience call drops after some +; minutes of being stablished try setting a value of some ms here, +; values greater than 500ms are not recommended. +; BE AWARE that choosing the proper protocol mfcr2_variant parameter +; implicitly sets a good recommended value for this timer, use this +; parameter only when you *really* want to override the default, otherwise +; just comment out this value or put a -1 +; Any negative value means 'default'. +; mfcr2_metering_pulse_timeout=-1 + +; Brazil uses a special calling party category for collect calls (llamadas por cobrar) +; instead of using the operator (as in Mexico). The R2 spec in Brazil says a special GB tone +; should be used to reject collect calls. If you want to ALLOW collect calls specify 'yes', +; if you want to BLOCK collect calls then say 'no'. Default is to block collect calls. +; (see also 'mfcr2_double_answer') +; mfcr2_allow_collect_calls=no + +; This feature is related but independent of mfcr2_allow_collect_calls +; Some PBX's require a double-answer process to block collect calls, if +; you ever have problems blocking collect calls using Group B signals (mfcr2_allow_collect_calls=no) +; then you may want to try with mfcr2_double_answer=yes, this will cause that every answer signal +; is changed by answer->clear back->answer (sort of a flash) +; (see also 'mfcr2_allow_collect_calls') +; mfcr2_double_answer=no + +; This feature allows to skip the use of Group B/II signals and go directly +; to the accepted state for incoming calls +; mfcr2_immediate_accept=no + +; You most likely dont need this feature. Default is yes. +; When this is set to yes, all calls that are offered (incoming calls) which +; DNIS is valid (exists in extensions.conf) and pass collect call validation +; will be accepted with a Group B tone (either call with charge or not, depending on mfcr2_charge_calls) +; with this set to 'no' then the call will NOT be accepted on offered, and the call will start its +; execution in extensions.conf without being accepted until the channel is answered (either with Answer() or +; any other application resulting in the channel being answered). +; This can be set to 'no' if your telco or PBX needs the hangup cause to be set accurately +; when this option is set to no you must explicitly accept the call with DAHDIAcceptR2Call +; or implicitly through the Answer() application. +; mfcr2_accept_on_offer=yes + +; Skip request of calling party category and ANI +; you need openr2 >= 1.2.0 to use this feature +; mfcr2_skip_category=no + +; WARNING: advanced users only! I really mean it +; this parameter is commented by default because +; YOU DON'T NEED IT UNLESS YOU REALLY GROK MFC/R2 +; READ COMMENTS on doc/r2proto.conf in openr2 package +; for more info +; mfcr2_advanced_protocol_file=/path/to/r2proto.conf + +; Brazil use a special signal to force the release of the line (hangup) from the +; backward perspective. When mfcr2_forced_release=no, the normal clear back signal +; will be sent on hangup, which is OK for all mfcr2 variants I know of, except for +; Brazilian variant, where the central will leave the line up for several seconds (30, 60) +; which sometimes is not what people really want. When mfcr2_forced_release=yes, a different +; signal will be sent to hangup the call indicating that the line should be released immediately +; mfcr2_forced_release=no + +; Whether or not report to the other end 'accept call with charge' +; This setting has no effect with most telecos, usually is safe +; leave the default (yes), but once in a while when interconnecting with +; old PBXs this may be useful. +; Concretely this affects the Group B signal used to accept calls +; The application DAHDIAcceptR2Call can also be used to decide this +; in the dial plan in a per-call basis instead of doing it here for all calls +; mfcr2_charge_calls=yes + +; ---------------- END of options to be used with signalling=mfcr2 + +; Configuration Sections +; ~~~~~~~~~~~~~~~~~~~~~~ +; You can also configure channels in a separate chan_dahdi.conf section. In +; this case the keyword 'channel' is not used. Instead the keyword +; 'dahdichan' is used (as in users.conf) - configuration is only processed +; in a section where the keyword dahdichan is used. It will only be +; processed in the end of the section. Thus the following section: +; +;[phones] +;echocancel = 64 +;dahdichan = 1-8 +;group = 1 +; +; Is somewhat equivalent to the following snippet in the section +; [channels]: +; +;echocancel = 64 +;group = 1 +;channel => 1-8 +; +; When starting a new section almost all of the configuration values are +; copied from their values at the end of the section [channels] in +; chan_dahdi.conf and [general] in users.conf - one section's configuration +; does not affect another one's. +; +; Instead of letting common configuration values "slide through" you can +; use configuration templates to easily keep the common part in one +; place and override where needed. +; +;[phones](!) +;echocancel = yes +;group = 0,4 +;callgroup = 3 +;pickupgroup = 3 +;threewaycalling = yes +;transfer = yes +;context = phones +;faxdetect = incoming +; +;[phone-1](phones) +;dahdichan = 1 +;callerid = My Name <501> +;mailbox = 501@mailboxes +; +; +;[fax](phones) +;dahdichan = 2 +;faxdetect = no +;context = fax +; +;[phone-3](phones) +;dahdichan = 3 +;pickupgroup = 3,4 + +;signalling = bri_net_ptmp +;switchtype = euroisdn +;channel => 2-3 +;;signalling = bri_net +;;channel => 4,5 +;signalling = bri_cpe +;switchtype = euroisdn +;channel => 7-8 +; + +signalling=fxo_ks +callerid="Analog Phone" <1> +mailbox=101 +;txgain=-30.0 +group=11 +context=from-pstn +channel => 1 +; +signalling=fxs_ks +callerid=asreceived +group=12 +context=from-pstn +channel => 2 + +signalling=bri_net_ptmp +;signalling=bri_cpe_ptmp +switchtype=euroisdn +callerid="ISDN Phone" <2> +context=from-isdn +group=21 +channel => 3-4 + +signalling=bri_net_ptmp +;signalling=bri_cpe_ptmp +switchtype=euroisdn +callerid="Jean" <202> +context=from-isdn +group=22 +channel => 6-7 + +signalling=bri_net_ptmp +;signalling=bri_cpe_ptmp +context=from-isdn +switchtype=euroisdn +group=23 +channel => 9-10 + +signalling=bri_net_ptmp +;signalling=bri_cpe_ptmp +context=from-isdn +switchtype=euroisdn +group=24 +channel => 12-13 diff --git a/factory/full_IO/chan_dahdi.conf.te b/factory/full_IO/chan_dahdi.conf.te new file mode 100644 index 0000000..7c6df32 --- /dev/null +++ b/factory/full_IO/chan_dahdi.conf.te @@ -0,0 +1,1457 @@ +; +; DAHDI Telephony Configuration file +; +; You need to restart Asterisk to re-configure the DAHDI channel +; CLI> module reload chan_dahdi.so +; will reload the configuration file, but not all configuration options +; are re-configured during a reload (signalling, as well as PRI and +; SS7-related settings cannot be changed on a reload). +; +; This file documents many configuration variables. Normally unless you know +; what a variable means or that it should be changed, there's no reason to +; un-comment those lines. +; +; Examples below that are commented out (those lines that begin with a ';' but +; no space afterwards) typically show a value that is not the default value, +; but would make sense under certain circumstances. The default values are +; usually sane. Thus you should typically not touch them unless you know what +; they mean or you know you should change them. + +[trunkgroups] +; +; Trunk groups are used for NFAS connections. +; +; Group: Defines a trunk group. +; trunkgroup => <trunkgroup>,<dchannel>[,<backup1>...] +; +; trunkgroup is the numerical trunk group to create +; dchannel is the DAHDI channel which will have the +; d-channel for the trunk. +; backup1 is an optional list of backup d-channels. +; +;trunkgroup => 1,24,48 +;trunkgroup => 1,24 +; +; Spanmap: Associates a span with a trunk group +; spanmap => <dahdispan>,<trunkgroup>[,<logicalspan>] +; +; dahdispan is the DAHDI span number to associate +; trunkgroup is the trunkgroup (specified above) for the mapping +; logicalspan is the logical span number within the trunk group to use. +; if unspecified, no logical span number is used. +; +;spanmap => 1,1,1 +;spanmap => 2,1,2 +;spanmap => 3,1,3 +;spanmap => 4,1,4 + +[channels] +; +; Default language +; +;language=en +; +; Context for calls. Defaults to 'default' +; +;context=incoming +; +; Switchtype: Only used for PRI. +; +; national: National ISDN 2 (default) +; dms100: Nortel DMS100 +; 4ess: AT&T 4ESS +; 5ess: Lucent 5ESS +; euroisdn: EuroISDN (common in Europe) +; ni1: Old National ISDN 1 +; qsig: Q.SIG +; +;switchtype=euroisdn +; +; MSNs for ISDN spans. Asterisk will listen for the listed numbers on +; incoming calls and ignore any calls not listed. +; Here you can give a comma separated list of numbers or dialplan extension +; patterns. An empty list disables MSN matching to allow any incoming call. +; Only set on PTMP CPE side of ISDN span if needed. +; The default is an empty list. +;msn= +; +; Some switches (AT&T especially) require network specific facility IE. +; Supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet' +; +; nsf cannot be changed on a reload. +; +;nsf=none +; +;service_message_support=yes +; Enable service message support for channel. Must be set after switchtype. +; +; Dialing options for ISDN (i.e., Dial(DAHDI/g1/exten/options)): +; R Reverse Charge Indication +; Indicate to the called party that the call will be reverse charged. +; K(n) Keypad digits n +; Send out the specified digits as keypad digits. +; +; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for +; the dialed number. For most installations, leaving this as 'unknown' (the +; default) works in the most cases. In some very unusual circumstances, you +; may need to set this to 'dynamic' or 'redundant'. Note that if you set one +; of the others, you will be unable to dial another class of numbers. For +; example, if you set 'national', you will be unable to dial local or +; international numbers. +; +; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's +; numbering plan). In North America, the typical use is sending the 10 digit +; callerID number and setting the prilocaldialplan to 'national' (the default). +; Only VERY rarely will you need to change this. +; +; Neither pridialplan nor prilocaldialplan can be changed on reload. +; +; unknown: Unknown +; private: Private ISDN +; local: Local ISDN +; national: National ISDN +; international: International ISDN +; dynamic: Dynamically selects the appropriate dialplan +; redundant: Same as dynamic, except that the underlying number is not +; changed (not common) +; +;pridialplan=unknown +;prilocaldialplan=national +; +; pridialplan may be also set at dialtime, by prefixing the dialled number with +; one of the following letters: +; U - Unknown +; I - International +; N - National +; L - Local (Net Specific) +; S - Subscriber +; V - Abbreviated +; R - Reserved (should probably never be used but is included for completeness) +; +; Additionally, you may also set the following NPI bits (also by prefixing the +; dialled string with one of the following letters): +; u - Unknown +; e - E.163/E.164 (ISDN/telephony) +; x - X.121 (Data) +; f - F.69 (Telex) +; n - National +; p - Private +; r - Reserved (should probably never be used but is included for completeness) +; +; You may also set the prilocaldialplan in the same way, but by prefixing the +; Caller*ID Number, rather than the dialled number. Please note that telcos +; which require this kind of additional manipulation of the TON/NPI are *rare*. +; Most telco PRIs will work fine simply by setting pridialplan to unknown or +; dynamic. +; +; +; PRI caller ID prefixes based on the given TON/NPI (dialplan) +; This is especially needed for EuroISDN E1-PRIs +; +; None of the prefix settings can be changed on reload. +; +; sample 1 for Germany +;internationalprefix = 00 +;nationalprefix = 0 +;localprefix = 0711 +;privateprefix = 07115678 +;unknownprefix = +; +; sample 2 for Germany +;internationalprefix = + +;nationalprefix = +49 +;localprefix = +49711 +;privateprefix = +497115678 +;unknownprefix = +; +; PRI resetinterval: sets the time in seconds between restart of unused +; B channels; defaults to 'never'. +; +;resetinterval = 3600 +; +; Overlap dialing mode (sending overlap digits) +; Cannot be changed on a reload. +; +; incoming: incoming direction only +; outgoing: outgoing direction only +; no: neither direction +; yes or both: both directions +; +;overlapdial=yes +; +; Allow inband audio (progress) when a call is DISCONNECTed by the far end of a PRI +; +;inbanddisconnect=yes +; +; Allow a held call to be transferred to the active call on disconnect. +; This is useful on BRI PTMP NT lines where an ISDN phone can simulate the +; transfer feature of an analog phone. +; The default is no. +;hold_disconnect_transfer=yes +; +; PRI Out of band indications. +; Enable this to report Busy and Congestion on a PRI using out-of-band +; notification. Inband indication, as used by Asterisk doesn't seem to work +; with all telcos. +; +; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT +; inband: Signal Busy/Congestion using in-band tones (default) +; +; priindication cannot be changed on a reload. +; +;priindication = outofband +; +; If you need to override the existing channels selection routine and force all +; PRI channels to be marked as exclusively selected, set this to yes. +; +; priexclusive cannot be changed on a reload. +; +;priexclusive = yes +; +; +; If you need to use the logical channel mapping with your Q.SIG PRI instead +; of the physical mapping you must use the qsigchannelmapping option. +; +; logical: Use the logical channel mapping +; physical: Use physical channel mapping (default) +; +;qsigchannelmapping=logical +; +; If you wish to ignore remote hold indications (and use MOH that is supplied over +; the B channel) enable this option. +; +;discardremoteholdretrieval=yes +; +; ISDN Timers +; All of the ISDN timers and counters that are used are configurable. Specify +; the timer name, and its value (in ms for timers). +; K: Layer 2 max number of outstanding unacknowledged I frames (default 7) +; N200: Layer 2 max number of retransmissions of a frame (default 3) +; T200: Layer 2 max time before retransmission of a frame (default 1000 ms) +; T203: Layer 2 max time without frames being exchanged (default 10000 ms) +; T305: Wait for DISCONNECT acknowledge (default 30000 ms) +; T308: Wait for RELEASE acknowledge (default 4000 ms) +; T309: Maintain active calls on Layer 2 disconnection (default -1, +; Asterisk clears calls) +; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s +; May vary in other ISDN standards (Q.931 1993 : 90000 ms) +; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms) +; +; T-RESPONSE: Maximum time to wait for a typical APDU response. (default 4000 ms) +; This is an implementation timer when the standard does not specify one. +; T-ACTIVATE: Request supervision timeout. (default 10000 ms) +; T-RETENTION: Maximum time to wait for user A to activate call-completion. (default 30000 ms) +; Used by ETSI PTP, ETSI PTMP, and Q.SIG as the cc_offer_timer. +; T-CCBS1: T-STATUS timer equivalent for CC user A status. (default 4000 ms) +; T-CCBS2: Maximum time the CCBS service will be active (default 45 min in ms) +; T-CCBS3: Maximum time to wait for user A to respond to user B availability. (default 20000 ms) +; T-CCBS5: Network B CCBS supervision timeout. (default 60 min in ms) +; T-CCBS6: Network A CCBS supervision timeout. (default 60 min in ms) +; T-CCNR2: Maximum time the CCNR service will be active (default 180 min in ms) +; T-CCNR5: Network B CCNR supervision timeout. (default 195 min in ms) +; T-CCNR6: Network A CCNR supervision timeout. (default 195 min in ms) +; CC-T1: Q.SIG CC request supervision timeout. (default 30000 ms) +; CCBS-T2: Q.SIG CCBS supervision timeout. (default 60 min in ms) +; CCNR-T2: Q.SIG CCNR supervision timeout. (default 195 min in ms) +; CC-T3: Q.SIG CC Maximum time to wait for user A to respond to user B availability. (default 30000 ms) +; +;pritimer => t200,1000 +;pritimer => t313,4000 +; +; CC PTMP recall mode: +; specific - Only the CC original party A can participate in the CC callback +; global - Other compatible endpoints on the PTMP line can be party A in the CC callback +; +; cc_ptmp_recall_mode cannot be changed on a reload. +; +;cc_ptmp_recall_mode = specific +; +; CC Q.SIG Party A (requester) retain signaling link option +; retain Require that the signaling link be retained. +; release Request that the signaling link be released. +; do_not_care The responder is free to choose if the signaling link will be retained. +; +;cc_qsig_signaling_link_req = retain +; +; CC Q.SIG Party B (responder) retain signaling link option +; retain Prefer that the signaling link be retained. +; release Prefer that the signaling link be released. +; +;cc_qsig_signaling_link_rsp = retain +; +; See ccss.conf.sample for more options. The timers described by ccss.conf.sample +; are not used by ISDN for the native protocol since they are defined by the +; standards and set by pritimer above. +; +; To enable transmission of facility-based ISDN supplementary services (such +; as caller name from CPE over facility), enable this option. +; Cannot be changed on a reload. +; +;facilityenable = yes +; + +; This option enables Advice of Charge pass-through between the ISDN PRI and +; Asterisk. This option can be set to any combination of 's', 'd', and 'e' which +; represent the different variants of Advice of Charge, AOC-S, AOC-D, and AOC-E. +; Advice of Charge pass-through is currently only supported for ETSI. Since most +; AOC messages are sent on facility messages, the 'facilityenable' option must +; also be enabled to fully support AOC pass-through. +; +;aoc_enable=s,d,e +; +; When this option is enabled, a hangup initiated by the ISDN PRI side of the +; asterisk channel will result in the channel delaying its hangup in an +; attempt to receive the final AOC-E message from its bridge. The delay +; period is configured as one half the T305 timer length. If the channel +; is not bridged the hangup will occur immediatly without delay. +; +;aoce_delayhangup=yes + +; pritimer cannot be changed on a reload. +; +; Signalling method. The default is "auto". Valid values: +; auto: Use the current value from DAHDI. +; em: E & M +; em_e1: E & M E1 +; em_w: E & M Wink +; featd: Feature Group D (The fake, Adtran style, DTMF) +; featdmf: Feature Group D (The real thing, MF (domestic, US)) +; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through +; a Tandem Access point +; featb: Feature Group B (MF (domestic, US)) +; fgccama: Feature Group C-CAMA (DP DNIS, MF ANI) +; fgccamamf: Feature Group C-CAMA MF (MF DNIS, MF ANI) +; fxs_ls: FXS (Loop Start) +; fxs_gs: FXS (Ground Start) +; fxs_ks: FXS (Kewl Start) +; fxo_ls: FXO (Loop Start) +; fxo_gs: FXO (Ground Start) +; fxo_ks: FXO (Kewl Start) +; pri_cpe: PRI signalling, CPE side +; pri_net: PRI signalling, Network side +; bri_cpe: BRI PTP signalling, CPE side +; bri_net: BRI PTP signalling, Network side +; bri_cpe_ptmp: BRI PTMP signalling, CPE side +; bri_net_ptmp: BRI PTMP signalling, Network side +; sf: SF (Inband Tone) Signalling +; sf_w: SF Wink +; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF) +; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US)) +; sf_featb: SF Feature Group B (MF (domestic, US)) +; e911: E911 (MF) style signalling +; ss7: Signalling System 7 +; mfcr2: MFC/R2 Signalling. To specify the country variant see 'mfcr2_variant' +; +; The following are used for Radio interfaces: +; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the +; channel bank) +; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the +; channel bank) +; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the +; channel bank) +; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at +; the channel bank) +; em_rx: Receive audio/COR on an E&M interface (1-way) +; em_tx: Transmit audio/PTT on an E&M interface (1-way) +; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface +; (2-way) +; em_rxtx: Same as em_txrx (for our dyslexic friends) +; sf_rx: Receive audio/COR on an SF interface (1-way) +; sf_tx: Transmit audio/PTT on an SF interface (1-way) +; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface +; (2-way) +; sf_rxtx: Same as sf_txrx (for our dyslexic friends) +; ss7: Signalling System 7 +; +; signalling of a channel can not be changed on a reload. +; +;signalling=fxo_ls +; +; If you have an outbound signalling format that is different from format +; specified above (but compatible), you can specify outbound signalling format, +; (see below). The 'signalling' format specified will be the inbound signalling +; format. If you only specify 'signalling', then it will be the format for +; both inbound and outbound. +; +; outsignalling can only be one of: +; em, em_e1, em_w, sf, sf_w, sf_featd, sf_featdmf, sf_featb, featd, +; featdmf, featdmf_ta, e911, fgccama, fgccamamf +; +; outsignalling cannot be changed on a reload. +; +;signalling=featdmf +; +;outsignalling=featb +; +; For Feature Group D Tandem access, to set the default CIC and OZZ use these +; parameters (Will not be updated on reload): +; +;defaultozz=0000 +;defaultcic=303 +; +; A variety of timing parameters can be specified as well +; The default values for those are "-1", which is to use the +; compile-time defaults of the DAHDI kernel modules. The timing +; parameters, (with the standard default from DAHDI): +; +; prewink: Pre-wink time (default 50ms) +; preflash: Pre-flash time (default 50ms) +; wink: Wink time (default 150ms) +; flash: Flash time (default 750ms) +; start: Start time (default 1500ms) +; rxwink: Receiver wink time (default 300ms) +; rxflash: Receiver flashtime (default 1250ms) +; debounce: Debounce timing (default 600ms) +; +; None of them will update on a reload. +; +; How long generated tones (DTMF and MF) will be played on the channel +; (in milliseconds). +; +; This is a global, rather than a per-channel setting. It will not be +; updated on a reload. +; +;toneduration=100 +; +; Whether or not to do distinctive ring detection on FXO lines: +; +;usedistinctiveringdetection=yes +; +; enable dring detection after caller ID for those countries like Australia +; where the ring cadence is changed *after* the caller ID spill: +; +;distinctiveringaftercid=yes +; +; Whether or not to use caller ID: +; +usecallerid=yes +; +; Type of caller ID signalling in use +; bell = bell202 as used in US (default) +; v23 = v23 as used in the UK +; v23_jp = v23 as used in Japan +; dtmf = DTMF as used in Denmark, Sweden and Netherlands +; smdi = Use SMDI for caller ID. Requires SMDI to be enabled (usesmdi). +; +;cidsignalling=v23 +; +; What signals the start of caller ID +; ring = a ring signals the start (default) +; polarity = polarity reversal signals the start +; polarity_IN = polarity reversal signals the start, for India, +; for dtmf dialtone detection; using DTMF. +; (see doc/India-CID.txt) +; dtmf = causes monitor loop to look for dtmf energy on the +; incoming channel to initate cid acquisition +; +;cidstart=polarity +; +; When cidstart=dtmf, the energy level on the line used to trigger dtmf cid +; acquisition. This number is compared to the average over a packet of audio +; of the absolute values of 16 bit signed linear samples. The default is set +; to 256. The choice of 256 is arbitrary. The value you should select should +; be high enough to prevent false detections while low enough to insure that +; no dtmf spills are missed. +; +;dtmfcidlevel=256 +; +; Whether or not to hide outgoing caller ID (Override with *67 or *82) +; (If your dialplan doesn't catch it) +; +;hidecallerid=yes +; +; Enable if you need to hide just the name and not the number for legacy PBX use. +; Only applies to PRI channels. +;hidecalleridname=yes +; +; On UK analog lines, the caller hanging up determines the end of calls. So +; Asterisk hanging up the line may or may not end a call (DAHDI could just as +; easily be re-attaching to a prior incoming call that was not yet hung up). +; This option changes the hangup to wait for a dialtone on the line, before +; marking the line as once again available for use with outgoing calls. +;waitfordialtone=yes +; +; The following option enables receiving MWI on FXO lines. The default +; value is no. +; The mwimonitor can take the following values +; no - No mwimonitoring occurs. (default) +; yes - The same as specifying fsk +; fsk - the FXO line is monitored for MWI FSK spills +; fsk,rpas - the FXO line is monitored for MWI FSK spills preceded +; by a ring pulse alert signal. +; neon - The fxo line is monitored for the presence of NEON pulses +; indicating MWI. +; When detected, an internal Asterisk MWI event is generated so that any other +; part of Asterisk that cares about MWI state changes is notified, just as if +; the state change came from app_voicemail. +; For FSK MWI Spills, the energy level that must be seen before starting the +; MWI detection process can be set with 'mwilevel'. +; +;mwimonitor=no +;mwilevel=512 +; +; This option is used in conjunction with mwimonitor. This will get executed +; when incoming MWI state changes. The script is passed 2 arguments. The +; first is the corresponding mailbox, and the second is 1 or 0, indicating if +; there are messages waiting or not. +; +;mwimonitornotify=/usr/local/bin/dahdinotify.sh +; +; The following keyword 'mwisendtype' enables various VMWI methods on FXS lines (if supported). +; The default is to send FSK only. +; The following options are available; +; 'rpas' Ring Pulse Alert Signal, alerts intelligent phones that a FSK message is about to be sent. +; 'lrev' Line reversed to indicate messages waiting. +; 'hvdc' 90Vdc OnHook DC voltage to indicate messages waiting. +; 'hvac' or 'neon' 90Vac OnHook AC voltage to light Neon bulb. +; 'nofsk' Disables FSK MWI spills from being sent out. +; It is feasible that multiple options can be enabled. +;mwisendtype=rpas,lrev +; +; Whether or not to enable call waiting on internal extensions +; With this set to 'yes', busy extensions will hear the call-waiting +; tone, and can use hook-flash to switch between callers. The Dial() +; app will not return the "BUSY" result for extensions. +; +callwaiting=yes +; +; Configure the number of outstanding call waiting calls for internal ISDN +; endpoints before bouncing the calls as busy. This option is equivalent to +; the callwaiting option for analog ports. +; A call waiting call is a SETUP message with no B channel selected. +; The default is zero to disable call waiting for ISDN endpoints. +;max_call_waiting_calls=0 +; +; Allow incoming ISDN call waiting calls. +; A call waiting call is a SETUP message with no B channel selected. +;allow_call_waiting_calls=no +; +; Configure the ISDN span to indicate MWI for the list of mailboxes. +; You can give a comma separated list of up to 8 mailboxes per span. +; An empty list disables MWI. +; The default is an empty list. +;mwi_mailboxes=mailbox_number[@context]{,mailbox_number[@context]} +; +; Whether or not restrict outgoing caller ID (will be sent as ANI only, not +; available for the user) +; Mostly use with FXS ports +; Does nothing. Use hidecallerid instead. +; +;restrictcid=no +; +; Whether or not to use the caller ID presentation from the Asterisk channel +; for outgoing calls. +; See dialplan function CALLERID(pres) for more information. +; Only applies to PRI and SS7 channels. +; +usecallingpres=yes +; +; Some countries (UK) have ring tones with different ring tones (ring-ring), +; which means the caller ID needs to be set later on, and not just after +; the first ring, as per the default (1). +; +;sendcalleridafter = 2 +; +; +; Support caller ID on Call Waiting +; +callwaitingcallerid=yes +; +; Support three-way calling +; +threewaycalling=yes +; +; For FXS ports (either direct analog or over T1/E1): +; Support flash-hook call transfer (requires three way calling) +; Also enables call parking (overrides the 'canpark' parameter) +; +; For digital ports using ISDN PRI protocols: +; Support switch-side transfer (called 2BCT, RLT or other names) +; This setting must be enabled on both ports involved, and the +; 'facilityenable' setting must also be enabled to allow sending +; the transfer to the ISDN switch, since it sent in a FACILITY +; message. +; NOTE: This should be disabled for NT PTMP mode. Phones cannot +; have tromboned calls pushed down to them. +; +transfer=yes +; +; Allow call parking +; ('canpark=no' is overridden by 'transfer=yes') +; +canpark=yes +; +; Support call forward variable +; +cancallforward=yes +; +; Whether or not to support Call Return (*69, if your dialplan doesn't +; catch this first) +; +callreturn=yes +; +; Stutter dialtone support: If a mailbox is specified without a voicemail +; context, then when voicemail is received in a mailbox in the default +; voicemail context in voicemail.conf, taking the phone off hook will cause a +; stutter dialtone instead of a normal one. +; +; If a mailbox is specified *with* a voicemail context, the same will result +; if voicemail received in mailbox in the specified voicemail context. +; +; for default voicemail context, the example below is fine: +; +;mailbox=1234 +; +; for any other voicemail context, the following will produce the stutter tone: +; +;mailbox=1234@context +; +; Enable echo cancellation +; Use either "yes", "no", or a power of two from 32 to 256 if you wish to +; actually set the number of taps of cancellation. +; +; Note that when setting the number of taps, the number 256 does not translate +; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms. +; +; Note that if any of your DAHDI cards have hardware echo cancellers, +; then this setting only turns them on and off; numeric settings will +; be treated as "yes". There are no special settings required for +; hardware echo cancellers; when present and enabled in their kernel +; modules, they take precedence over the software echo canceller compiled +; into DAHDI automatically. +; +; +echocancel=yes +; +; Some DAHDI echo cancellers (software and hardware) support adjustable +; parameters; these parameters can be supplied as additional options to +; the 'echocancel' setting. Note that Asterisk does not attempt to +; validate the parameters or their values, so if you supply an invalid +; parameter you will not know the specific reason it failed without +; checking the kernel message log for the error(s) put there by DAHDI. +; +;echocancel=128,param1=32,param2=0,param3=14 +; +; Generally, it is not necessary (and in fact undesirable) to echo cancel when +; the circuit path is entirely TDM. You may, however, change this behavior +; by enabling the echo canceller during pure TDM bridging below. +; +echocancelwhenbridged=yes +; +; In some cases, the echo canceller doesn't train quickly enough and there +; is echo at the beginning of the call. Enabling echo training will cause +; DAHDI to briefly mute the channel, send an impulse, and use the impulse +; response to pre-train the echo canceller so it can start out with a much +; closer idea of the actual echo. Value may be "yes", "no", or a number of +; milliseconds to delay before training (default = 400) +; +; WARNING: In some cases this option can make echo worse! If you are +; trying to debug an echo problem, it is worth checking to see if your echo +; is better with the option set to yes or no. Use whatever setting gives +; the best results. +; +; Note that these parameters do not apply to hardware echo cancellers. +; +;echotraining=yes +;echotraining=800 +; +; If you are having trouble with DTMF detection, you can relax the DTMF +; detection parameters. Relaxing them may make the DTMF detector more likely +; to have "talkoff" where DTMF is detected when it shouldn't be. +; +;relaxdtmf=yes +; +; You may also set the default receive and transmit gains (in dB) +; +; Gain Settings: increasing / decreasing the volume level on a channel. +; The values are in db (decibells). A positive number +; increases the volume level on a channel, and a +; negavive value decreases volume level. +; +; Dynamic Range Compression: you can also enable dynamic range compression +; on a channel. This will amplify quiet sounds while leaving +; louder sounds untouched. This is useful in situations where +; a linear gain setting would cause clipping. Acceptable values +; are in the range of 0.0 to around 6.0 with higher values +; causing more compression to be done. +; +; There are several independent gain settings: +; rxgain: gain for the rx (receive - into Asterisk) channel. Default: 0.0 +; txgain: gain for the tx (transmit - out of Asterisk Asterisk) channel. +; Default: 0.0 +; cid_rxgain: set the gain just for the caller ID sounds Asterisk +; emits. Default: 5.0 . +; rxdrc: dynamic range compression for the rx channel. Default: 0.0 +; txdrc: dynamic range compression for the tx channel. Default: 0.0 + +;rxgain=2.0 +;txgain=3.0 +; +;rxdrc=1.0 +;txdrc=4.0 +; +; Logical groups can be assigned to allow outgoing roll-over. Groups range +; from 0 to 63, and multiple groups can be specified. By default the +; channel is not a member of any group. +; +; Note that an explicit empty value for 'group' is invalid, and will not +; override a previous non-empty one. The same applies to callgroup and +; pickupgroup as well. +; +group=1 +; +; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing +; and it is a member of a group which is one of your pickup groups, then +; you can answer it by picking up and dialing *8#. For simple offices, just +; make these both the same. Groups range from 0 to 63. +; +callgroup=1 +pickupgroup=1 + +; Channel variable to be set for all calls from this channel +;setvar=CHANNEL=42 +;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will + ; cause the given audio file to + ; be played upon completion of + ; an attended transfer. + +; +; Specify whether the channel should be answered immediately or if the simple +; switch should provide dialtone, read digits, etc. +; Note: If immediate=yes the dialplan execution will always start at extension +; 's' priority 1 regardless of the dialed number! +; +;immediate=yes +; +; Specify whether flash-hook transfers to 'busy' channels should complete or +; return to the caller performing the transfer (default is yes). +; +;transfertobusy=no + +; Calls will have the party id user tag set to this string value. +; +;cid_tag= + +; With this set, you can automatically append the MSN of a party +; to the cid_tag. An '_' is used to separate the tag from the MSN. +; Applies to ISDN spans. +; Default is no. +; +; Table of what number is appended: +; outgoing incoming +; net dialed caller +; cpe caller dialed +; +;append_msn_to_cid_tag=no + +; caller ID can be set to "asreceived" or a specific number if you want to +; override it. Note that "asreceived" only applies to trunk interfaces. +; fullname sets just the +; +; fullname: sets just the name part. +; cid_number: sets just the number part: +; +;callerid = 123456 +; +;callerid = My Name <2564286000> +; Which can also be written as: +;cid_number = 2564286000 +;fullname = My Name +; +;callerid = asreceived +; +; should we use the caller ID from incoming call on DAHDI transfer? +; +;useincomingcalleridondahditransfer = yes +; +; AMA flags affects the recording of Call Detail Records. If specified +; it may be 'default', 'omit', 'billing', or 'documentation'. +; +;amaflags=default +; +; Channels may be associated with an account code to ease +; billing +; +;accountcode=lss0101 +; +; ADSI (Analog Display Services Interface) can be enabled on a per-channel +; basis if you have (or may have) ADSI compatible CPE equipment +; +;adsi=yes +; +; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel +; basis if you would like that channel to behave like an SMDI message desk. +; The SMDI port specified should have already been defined in smdi.conf. The +; default port is /dev/ttyS0. +; +;usesmdi=yes +;smdiport=/dev/ttyS0 +; +; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D +; etc, it can be useful to perform busy detection either in an effort to +; detect hangup or for detecting busies. This enables listening for +; the beep-beep busy pattern. +; +;busydetect=yes +; +; If busydetect is enabled, it is also possible to specify how many busy tones +; to wait for before hanging up. The default is 3, but it might be +; safer to set to 6 or even 8. Mind that the higher the number, the more +; time that will be needed to hangup a channel, but lowers the probability +; that you will get random hangups. +; +;busycount=6 +; +; If busydetect is enabled, it is also possible to specify the cadence of your +; busy signal. In many countries, it is 500msec on, 500msec off. Without +; busypattern specified, we'll accept any regular sound-silence pattern that +; repeats <busycount> times as a busy signal. If you specify busypattern, +; then we'll further check the length of the sound (tone) and silence, which +; will further reduce the chance of a false positive. +; +;busypattern=500,500 +; +; NOTE: In make menuselect, you'll find further options to tweak the busy +; detector. If your country has a busy tone with the same length tone and +; silence (as many countries do), consider enabling the +; BUSYDETECT_COMPARE_TONE_AND_SILENCE option. +; +; To further detect which hangup tone your telco provider is sending, it is +; useful to use the ztmonitor utility to record the audio that main/dsp.c +; is receiving after the caller hangs up. +; +; For FXS (FXO signalled) ports +; switch the line polarity to signal the connected PBX that an outgoing +; call was answered by the remote party. +; For FXO (FXS signalled) ports +; watch for a polarity reversal to mark when a outgoing call is +; answered by the remote party. +; +;answeronpolarityswitch=yes +; +; For FXS (FXO signalled) ports +; switch the line polarity to signal the connected PBX that the current +; call was "hung up" by the remote party +; For FXO (FXS signalled) ports +; In some countries, a polarity reversal is used to signal the disconnect of a +; phone line. If the hanguponpolarityswitch option is selected, the call will +; be considered "hung up" on a polarity reversal. +; +;hanguponpolarityswitch=yes +; +; polarityonanswerdelay: minimal time period (ms) between the answer +; polarity switch and hangup polarity switch. +; (default: 600ms) +; +; On trunk interfaces (FXS) it can be useful to attempt to follow the progress +; of a call through RINGING, BUSY, and ANSWERING. If turned on, call +; progress attempts to determine answer, busy, and ringing on phone lines. +; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers, +; so don't count on it being very accurate. +; +; Few zones are supported at the time of this writing, but may be selected +; with "progzone". +; +; progzone also affects the pattern used for buzydetect (unless +; busypattern is set explicitly). The possible values are: +; us (default) +; ca (alias for 'us') +; cr (Costa Rica) +; br (Brazil, alias for 'cr') +; uk +; +; This feature can also easily detect false hangups. The symptoms of this is +; being disconnected in the middle of a call for no reason. +; +;callprogress=yes +;progzone=uk +; +; Set the tonezone. Equivalent of the defaultzone settings in +; /etc/dahdi/system.conf. This sets the tone zone by number. +; Note that you'd still need to load tonezones (loadzone in +; /etc/dahdi/system.conf). +; The default is -1: not to set anything. +;tonezone = 0 ; 0 is US +; +; FXO (FXS signalled) devices must have a timeout to determine if there was a +; hangup before the line was answered. This value can be tweaked to shorten +; how long it takes before DAHDI considers a non-ringing line to have hungup. +; +; ringtimeout will not update on a reload. +; +;ringtimeout=8000 +; +; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF +; Pulse digits from phones (FXS devices, FXO signalling) are always +; detected. +; +;pulsedial=yes +; +; For fax detection, uncomment one of the following lines. The default is *OFF* +; +;faxdetect=both +;faxdetect=incoming +;faxdetect=outgoing +;faxdetect=no +; +; When 'faxdetect' is used, one could use 'faxbuffers' to configure the DAHDI +; transmit buffer policy. The default is *OFF*. When this configuration +; option is used, the faxbuffer policy will be used for the life of the call +; after a fax tone is detected. The faxbuffer policy is reverted after the +; call is torn down. The sample below will result in 6 buffers and a full +; buffer policy. +; +;faxbuffers=>6,full +; +; This option specifies a preference for which music on hold class this channel +; should listen to when put on hold if the music class has not been set on the +; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer +; channel putting this one on hold did not suggest a music class. +; +; If this option is set to "passthrough", then the hold message will always be +; passed through as signalling instead of generating hold music locally. This +; setting is only valid when used on a channel that uses digital signalling. +; +; This option may be set globally or on a per-channel basis. +; +;mohinterpret=default +; +; This option specifies which music on hold class to suggest to the peer channel +; when this channel places the peer on hold. This option may be set globally, +; or on a per-channel basis. +; +;mohsuggest=default +; +; PRI channels can have an idle extension and a minunused number. So long as +; at least "minunused" channels are idle, chan_dahdi will try to call "idledial" +; on them, and then dump them into the PBX in the "idleext" extension (which +; is of the form exten@context). When channels are needed the "idle" calls +; are disconnected (so long as there are at least "minidle" calls still +; running, of course) to make more channels available. The primary use of +; this is to create a dynamic service, where idle channels are bundled through +; multilink PPP, thus more efficiently utilizing combined voice/data services +; than conventional fixed mappings/muxings. +; +; Those settings cannot be changed on reload. +; +;idledial=6999 +;idleext=6999@dialout +;minunused=2 +;minidle=1 +; +; +; ignore_failed_channels: Continue even if some channels failed to configure. +; False by default, as if even a single channel failed to configure, it might +; mean other channels are misplaced and having them work may not be a good +; idea. If enabled (set to true), chan_dahdi will nevertheless attempt to +; configure other channels rather than giving up. This normally makes sense +; only if you use names (<subdir>!<number>) for DAHDI channels. +;ignore_failed_channels = true +; +; Configure jitter buffers in DAHDI (each one is 20ms, default is 4) +; This is set globally, rather than per-channel. +; +;jitterbuffers=4 +; +;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- +; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a + ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will + ; be used only if the sending side can create and the receiving + ; side can not accept jitter. The DAHDI channel can't accept jitter, + ; thus an enabled jitterbuffer on the receive DAHDI side will always + ; be used if the sending side can create jitter. + +; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. + +; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is + ; resynchronized. Useful to improve the quality of the voice, with + ; big jumps in/broken timestamps, usually sent from exotic devices + ; and programs. Defaults to 1000. + +; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI + ; channel. Two implementations are currently available - "fixed" + ; (with size always equals to jbmax-size) and "adaptive" (with + ; variable size, actually the new jb of IAX2). Defaults to fixed. + +; 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". +;----------------------------------------------------------------------------------- +; +; You can define your own custom ring cadences here. You can define up to 8 +; pairs. If the silence is negative, it indicates where the caller ID spill is +; to be placed. Also, if you define any custom cadences, the default cadences +; will be turned off. +; +; This setting is global, rather than per-channel. It will not update on +; a reload. +; +; Syntax is: cadence=ring,silence[,ring,silence[...]] +; +; These are the default cadences: +; +;cadence=125,125,2000,-4000 +;cadence=250,250,500,1000,250,250,500,-4000 +;cadence=125,125,125,125,125,-4000 +;cadence=1000,500,2500,-5000 +; +; Each channel consists of the channel number or range. It inherits the +; parameters that were specified above its declaration. +; +; +;callerid="Green Phone"<(256) 428-6121> +;channel => 1 +;callerid="Black Phone"<(256) 428-6122> +;channel => 2 +;callerid="CallerID Phone" <(630) 372-1564> +;channel => 3 +;callerid="Pac Tel Phone" <(256) 428-6124> +;channel => 4 +;callerid="Uniden Dead" <(256) 428-6125> +;channel => 5 +;callerid="Cortelco 2500" <(256) 428-6126> +;channel => 6 +;callerid="Main TA 750" <(256) 428-6127> +;channel => 44 +; +; For example, maybe we have some other channels which start out in a +; different context and use E & M signalling instead. +; +;context=remote +;signaling=em +;channel => 15 +;channel => 16 + +;signalling=em_w +; +; All those in group 0 I'll use for outgoing calls +; +; Strip most significant digit (9) before sending +; +;stripmsd=1 +;callerid=asreceived +;group=0 +;signalling=fxs_ls +;channel => 45 + +;signalling=fxo_ls +;group=1 +;callerid="Joe Schmoe" <(256) 428-6131> +;channel => 25 +;callerid="Megan May" <(256) 428-6132> +;channel => 26 +;callerid="Suzy Queue" <(256) 428-6233> +;channel => 27 +;callerid="Larry Moe" <(256) 428-6234> +;channel => 28 +; +; Sample PRI (CPE) config: Specify the switchtype, the signalling as either +; pri_cpe or pri_net for CPE or Network termination, and generally you will +; want to create a single "group" for all channels of the PRI. +; +; switchtype cannot be changed on a reload. +; +; switchtype = national +; signalling = pri_cpe +; group = 2 +; channel => 1-23 +; +; Alternatively, the number of the channel may be replaced with a relative +; path to a device file under /dev/dahdi . The final element of that file +; must be a number, though. The directory separator is '!', as we can't +; use '/' in a dial string. So if we have +; +; /dev/dahdi/span-name/pstn/00/1 +; /dev/dahdi/span-name/pstn/00/2 +; /dev/dahdi/span-name/pstn/00/3 +; /dev/dahdi/span-name/pstn/00/4 +; +; we could use: +;channel => span-name!pstn!00!1-4 +; +; or: +;channel => span-name!pstn!00!1,2,3,4 +; +; See also ignore_failed_channels above. + +; Used for distinctive ring support for x100p. +; You can see the dringX patterns is to set any one of the dringXcontext fields +; and they will be printed on the console when an inbound call comes in. +; +; dringXrange is used to change the acceptable ranges for "tone offsets". Defaults to 10. +; Note: a range of 0 is NOT what you might expect - it instead forces it to the default. +; A range of -1 will force it to always match. +; Anything lower than -1 would presumably cause it to never match. +; +;dring1=95,0,0 +;dring1context=internal1 +;dring1range=10 +;dring2=325,95,0 +;dring2context=internal2 +;dring2range=10 +; If no pattern is matched here is where we go. +;context=default +;channel => 1 + +; AMI alarm event reporting +;reportalarms=channels +;Possible values are: +;channels - report each channel alarms (current behavior, default for backward compatibility) +;spans - report an "SpanAlarm" event when the span of any configured channel is alarmed +;all - report channel and span alarms (aggregated behavior) +;none - do not report any alarms. + +; ---------------- Options for use with signalling=ss7 ----------------- +; None of them can be changed by a reload. +; +; Variant of SS7 signalling: +; Options are itu and ansi +;ss7type = itu + +; SS7 Called Nature of Address Indicator +; +; unknown: Unknown +; subscriber: Subscriber +; national: National +; international: International +; dynamic: Dynamically selects the appropriate dialplan +; +;ss7_called_nai=dynamic +; +; SS7 Calling Nature of Address Indicator +; +; unknown: Unknown +; subscriber: Subscriber +; national: National +; international: International +; dynamic: Dynamically selects the appropriate dialplan +; +;ss7_calling_nai=dynamic +; +; +; sample 1 for Germany +;ss7_internationalprefix = 00 +;ss7_nationalprefix = 0 +;ss7_subscriberprefix = +;ss7_unknownprefix = +; + +; This option is used to disable automatic sending of ACM when the call is started +; in the dialplan. If you do use this option, you will need to use the Proceeding() +; application in the dialplan to send ACM. +;ss7_explictacm=yes + +; All settings apply to linkset 1 +;linkset = 1 + +; Point code of the linkset. For ITU, this is the decimal number +; format of the point code. For ANSI, this can either be in decimal +; number format or in the xxx-xxx-xxx format +;pointcode = 1 + +; Point code of node adjacent to this signalling link (Possibly the STP between you and +; your destination). Point code format follows the same rules as above. +;adjpointcode = 2 + +; Default point code that you would like to assign to outgoing messages (in case of +; routing through STPs, or using A links). Point code format follows the same rules +; as above. +;defaultdpc = 3 + +; Begin CIC (Circuit indication codes) count with this number +;cicbeginswith = 1 + +; What the MTP3 network indicator bits should be set to. Choices are +; national, national_spare, international, international_spare +;networkindicator=international + +; First signalling channel +;sigchan = 48 + +; Additional signalling channel for this linkset (So you can have a linkset +; with two signalling links in it). It seems like a silly way to do it, but +; for linksets with multiple signalling links, you add an additional sigchan +; line for every additional signalling link on the linkset. +;sigchan = 96 + +; Channels to associate with CICs on this linkset +;channel = 25-47 +; +; For more information on setting up SS7, see the README file in libss7 or +; the doc/ss7.txt file in the Asterisk source tree. +; ----------------- SS7 Options ---------------------------------------- + +; ---------------- Options for use with signalling=mfcr2 -------------- + +; MFC-R2 signaling has lots of variants from country to country and even sometimes +; minor variants inside the same country. The only mandatory parameters here are: +; mfcr2_variant, mfcr2_max_ani and mfcr2_max_dnis. +; IT IS RECOMMENDED that you leave the default values (leaving it commented) for the +; other parameters unless you have problems or you have been instructed to change some +; parameter. OpenR2 library uses the mfcr2_variant parameter to try to determine the +; best defaults for your country, also refer to the OpenR2 package directory +; doc/asterisk/ where you can find sample configurations for some countries. If you +; want to contribute your configs for a particular country send them to the e-mail +; of the primary OpenR2 developer that you can find in the AUTHORS file of the OpenR2 package + +; MFC/R2 variant. This depends on the OpenR2 supported variants +; A list of values can be found by executing the openr2 command r2test -l +; some valid values are: +; ar (Argentina) +; br (Brazil) +; mx (Mexico) +; ph (Philippines) +; itu (per ITU spec) +; mfcr2_variant=mx + +; Max amount of ANI to ask for +; mfcr2_max_ani=10 + +; Max amount of DNIS to ask for +; mfcr2_max_dnis=4 + +; whether or not to get the ANI before getting DNIS. +; some telcos require ANI first some others do not care +; if this go wrong, change this value +; mfcr2_get_ani_first=no + +; Caller Category to send +; national_subscriber +; national_priority_subscriber +; international_subscriber +; international_priority_subscriber +; collect_call +; usually national_subscriber works just fine +; you can change this setting from the dialplan +; by setting the variable MFCR2_CATEGORY +; (remember to set _MFCR2_CATEGORY from originating channels) +; MFCR2_CATEGORY will also be a variable available in your context +; on incoming calls set to the value received from the far end +; mfcr2_category=national_subscriber + +; Call logging is stored at the Asterisk +; logging directory specified in asterisk.conf +; plus mfcr2/<whatever you put here> +; if you specify 'span1' here and asterisk.conf has +; as logging directory /var/log/asterisk then the full +; path to your MFC/R2 call logs will be /var/log/asterisk/mfcr2/span1 +; (the directory will be automatically created if not present already) +; remember to set mfcr2_call_files=yes +; mfcr2_logdir=span1 + +; whether or not to drop call files into mfcr2_logdir +; mfcr2_call_files=yes|no + +; MFC/R2 valid logging values are: all,error,warning,debug,notice,cas,mf,stack,nothing +; error,warning,debug and notice are self-descriptive +; 'cas' is for logging ABCD CAS tx and rx +; 'mf' is for logging of the Multi Frequency tones +; 'stack' is for very verbose output of the channel and context call stack, only useful +; if you are debugging a crash or want to learn how the library works. The stack logging +; will be only enabled if the openr2 library was compiled with -DOR2_TRACE_STACKS +; You can mix up values, like: loglevel=error,debug,mf to log just error, debug and +; multi frequency messages +; 'all' is a special value to log all the activity +; 'nothing' is a clean-up value, in case you want to not log any activity for +; a channel or group of channels +; BE AWARE that the level of output logged will ALSO depend on +; the value you have in logger.conf, if you disable output in logger.conf +; then it does not matter you specify 'all' here, nothing will be logged +; so logger.conf has the last word on what is going to be logged +; mfcr2_logging=all + +; MFC/R2 value in milliseconds for the MF timeout. Any negative value +; means 'default', smaller values than 500ms are not recommended +; and can cause malfunctioning. If you experience protocol error +; due to MF timeout try incrementing this value in 500ms steps +; mfcr2_mfback_timeout=-1 + +; MFC/R2 value in milliseconds for the metering pulse timeout. +; Metering pulses are sent by some telcos for some R2 variants +; during a call presumably for billing purposes to indicate costs, +; however this pulses use the same signal that is used to indicate +; call hangup, therefore a timeout is sometimes required to distinguish +; between a *real* hangup and a billing pulse that should not +; last more than 500ms, If you experience call drops after some +; minutes of being stablished try setting a value of some ms here, +; values greater than 500ms are not recommended. +; BE AWARE that choosing the proper protocol mfcr2_variant parameter +; implicitly sets a good recommended value for this timer, use this +; parameter only when you *really* want to override the default, otherwise +; just comment out this value or put a -1 +; Any negative value means 'default'. +; mfcr2_metering_pulse_timeout=-1 + +; Brazil uses a special calling party category for collect calls (llamadas por cobrar) +; instead of using the operator (as in Mexico). The R2 spec in Brazil says a special GB tone +; should be used to reject collect calls. If you want to ALLOW collect calls specify 'yes', +; if you want to BLOCK collect calls then say 'no'. Default is to block collect calls. +; (see also 'mfcr2_double_answer') +; mfcr2_allow_collect_calls=no + +; This feature is related but independent of mfcr2_allow_collect_calls +; Some PBX's require a double-answer process to block collect calls, if +; you ever have problems blocking collect calls using Group B signals (mfcr2_allow_collect_calls=no) +; then you may want to try with mfcr2_double_answer=yes, this will cause that every answer signal +; is changed by answer->clear back->answer (sort of a flash) +; (see also 'mfcr2_allow_collect_calls') +; mfcr2_double_answer=no + +; This feature allows to skip the use of Group B/II signals and go directly +; to the accepted state for incoming calls +; mfcr2_immediate_accept=no + +; You most likely dont need this feature. Default is yes. +; When this is set to yes, all calls that are offered (incoming calls) which +; DNIS is valid (exists in extensions.conf) and pass collect call validation +; will be accepted with a Group B tone (either call with charge or not, depending on mfcr2_charge_calls) +; with this set to 'no' then the call will NOT be accepted on offered, and the call will start its +; execution in extensions.conf without being accepted until the channel is answered (either with Answer() or +; any other application resulting in the channel being answered). +; This can be set to 'no' if your telco or PBX needs the hangup cause to be set accurately +; when this option is set to no you must explicitly accept the call with DAHDIAcceptR2Call +; or implicitly through the Answer() application. +; mfcr2_accept_on_offer=yes + +; Skip request of calling party category and ANI +; you need openr2 >= 1.2.0 to use this feature +; mfcr2_skip_category=no + +; WARNING: advanced users only! I really mean it +; this parameter is commented by default because +; YOU DON'T NEED IT UNLESS YOU REALLY GROK MFC/R2 +; READ COMMENTS on doc/r2proto.conf in openr2 package +; for more info +; mfcr2_advanced_protocol_file=/path/to/r2proto.conf + +; Brazil use a special signal to force the release of the line (hangup) from the +; backward perspective. When mfcr2_forced_release=no, the normal clear back signal +; will be sent on hangup, which is OK for all mfcr2 variants I know of, except for +; Brazilian variant, where the central will leave the line up for several seconds (30, 60) +; which sometimes is not what people really want. When mfcr2_forced_release=yes, a different +; signal will be sent to hangup the call indicating that the line should be released immediately +; mfcr2_forced_release=no + +; Whether or not report to the other end 'accept call with charge' +; This setting has no effect with most telecos, usually is safe +; leave the default (yes), but once in a while when interconnecting with +; old PBXs this may be useful. +; Concretely this affects the Group B signal used to accept calls +; The application DAHDIAcceptR2Call can also be used to decide this +; in the dial plan in a per-call basis instead of doing it here for all calls +; mfcr2_charge_calls=yes + +; ---------------- END of options to be used with signalling=mfcr2 + +; Configuration Sections +; ~~~~~~~~~~~~~~~~~~~~~~ +; You can also configure channels in a separate chan_dahdi.conf section. In +; this case the keyword 'channel' is not used. Instead the keyword +; 'dahdichan' is used (as in users.conf) - configuration is only processed +; in a section where the keyword dahdichan is used. It will only be +; processed in the end of the section. Thus the following section: +; +;[phones] +;echocancel = 64 +;dahdichan = 1-8 +;group = 1 +; +; Is somewhat equivalent to the following snippet in the section +; [channels]: +; +;echocancel = 64 +;group = 1 +;channel => 1-8 +; +; When starting a new section almost all of the configuration values are +; copied from their values at the end of the section [channels] in +; chan_dahdi.conf and [general] in users.conf - one section's configuration +; does not affect another one's. +; +; Instead of letting common configuration values "slide through" you can +; use configuration templates to easily keep the common part in one +; place and override where needed. +; +;[phones](!) +;echocancel = yes +;group = 0,4 +;callgroup = 3 +;pickupgroup = 3 +;threewaycalling = yes +;transfer = yes +;context = phones +;faxdetect = incoming +; +;[phone-1](phones) +;dahdichan = 1 +;callerid = My Name <501> +;mailbox = 501@mailboxes +; +; +;[fax](phones) +;dahdichan = 2 +;faxdetect = no +;context = fax +; +;[phone-3](phones) +;dahdichan = 3 +;pickupgroup = 3,4 + +;signalling = bri_net_ptmp +;switchtype = euroisdn +;channel => 2-3 +;;signalling = bri_net +;;channel => 4,5 +;signalling = bri_cpe +;switchtype = euroisdn +;channel => 7-8 +; + +signalling=fxo_ks +callerid="Analog Phone" <1> +mailbox=101 +;txgain=-30.0 +group=11 +context=from-pstn +channel => 1 +; +signalling=fxs_ks +callerid=asreceived +group=12 +context=from-pstn +channel => 2 + +;signalling=bri_net_ptmp +signalling=bri_cpe_ptmp +switchtype=euroisdn +callerid="ISDN Phone" <2> +context=from-isdn +group=21 +channel => 3-4 + +;signalling=bri_net_ptmp +signalling=bri_cpe_ptmp +switchtype=euroisdn +callerid="Jean" <202> +context=from-isdn +group=22 +channel => 6-7 + +;signalling=bri_net_ptmp +signalling=bri_cpe_ptmp +context=from-isdn +switchtype=euroisdn +group=23 +channel => 9-10 + +;signalling=bri_net_ptmp +signalling=bri_cpe_ptmp +context=from-isdn +switchtype=euroisdn +group=24 +channel => 12-13 diff --git a/factory/full_IO/extensions.conf b/factory/full_IO/extensions.conf new file mode 100755 index 0000000..5a22248 --- /dev/null +++ b/factory/full_IO/extensions.conf @@ -0,0 +1,67 @@ +[from-internal] +include => default + +exten = 42,1,NoOp(FXS) +same = n,Dial(DAHDI/g22/1) + +exten = 43,1,NoOp(FXO) +same = n,Dial(DAHDI/g22/2) + +exten = 44,1,NoOp(Full ISDN 1) +same = n,Dial(DAHDI/g21/344556681) + +[from-sip] +include => from-internal +include => default + +[from-isdn] +include => default + +[from-pstn] +include => default + +[default] +; FXS Phone +exten = 1,1,NoOp(FXS) +same = n,Dial(DAHDI/g11) + +; FXO +exten = 2,1,NoOp(FXO) +same = n,Dial(DAHDI/g12) + + +; ISDN Phone +exten = _3.,1,NoOp() +same = n,Dial(DAHDI/g21/${EXTEN:1}) + +; ISDN +exten = _4.,1,NoOp() +same = n,Dial(DAHDI/g22/${EXTEN:1}) + +; ISDN +exten = _5.,1,NoOp() +same = n,Dial(DAHDI/g23/${EXTEN:1}) + +; ISDN +exten = _6.,1,NoOp() +same = n,Dial(DAHDI/g24/${EXTEN:1}) + + +; Test sounds +exten = 81,1,NoOp() +same = n,Playback(hello-world) +same = n,Hangup() + +exten = 82,1,NoOp() +same = n,System(/usr/share/xioh/tts_asterisk.sh) +same = n,Playback(/tmp/result_forast) +same = n,NoOp(${SYSTEMSTATUS}) +same = n,Hangup() + +exten = s,1,NoOp(${CALLERID} => ${EXTEN}) +same = n,Answer() +same = n,Hangup() + +[te] +exten = s,1,NoOp(${CALLERID} => ${EXTEN}) +same = n,Goto(103,1) diff --git a/factory/full_IO/install.sh b/factory/full_IO/install.sh new file mode 100755 index 0000000..f9e4157 --- /dev/null +++ b/factory/full_IO/install.sh @@ -0,0 +1,95 @@ +#!/bin/bash +# copy files +# connect to the asterisk +# see log +# send calls (call42, call43, call44) +# if failed see dahdi_tool + +TARGET="eth0" +TARGET_HOSTNAME="xivo-testing" + +ASTERISK_PATH="/etc/asterisk/" +DAHDI_PATH="/etc/dahdi/" + +usage() +{ +cat << EOF +usage: $0 MODE + +This script init a load_tester scenario and launch it. You should read the README file.. + +MODE: + te Set the target as TE mode (for ISDN) + nt Set the target as NT mode (for ISDN) +EOF +} + +exit_on_error() { + if [ ! $? -eq 0 ] + then + [ $# -gt 0 ] && echo $* + exit 1 + fi +} + + +# +# Configure PCB and XHD +# +update() +{ + diff system.conf.nt $DAHDI_PATH/system.conf 2>&1 > /dev/null + result=$? + diff chan_dahdi.conf.nt $ASTERISK_PATH/chan_dahdi.conf 2>&1 > /dev/null + result=$(($result+$?)) + diff extensions.conf $ASTERISK_PATH/extensions.conf 2>&1 > /dev/null + result=$(($result+$?)) + + if [ "$1" = "te" ] + then + echo setting host $TARGET as TE + [ ! $result -eq 0 ] ; exit_on_error "Localhost appear to be already in NT mode, nothing to do." + t_mode="te" + l_mode="nt" + else + echo setting host $TARGET as NT + [ $result -eq 0 ] ; exit_on_error "Localhost appear to be already in NT mode, nothing to do." + t_mode="nt" + l_mode="te" + fi + + + # TARGET + scp system.conf.$t_mode $TARGET:$DAHDI_PATH/system.conf ; exit_on_error "EE scp" + scp chan_dahdi.conf.$t_mode $TARGET:$ASTERISK_PATH/chan_dahdi.conf ; exit_on_error "EE scp" + scp extensions.conf $TARGET:$ASTERISK_PATH ; exit_on_error "EE scp" + ssh -T $TARGET <<\EOI +dahdi_cfg +/etc/init.d/asterisk restart +exit +EOI + exit_on_error "EE copy on TARGET for nt" + + #LOCALHOST + cp system.conf.$l_mode $DAHDI_PATH/system.conf ; exit_on_error "EE cp" + cp chan_dahdi.conf.$l_mode $ASTERISK_PATH/chan_dahdi.conf ; exit_on_error "EE cp" + cp extensions.conf $ASTERISK_PATH ; exit_on_error "EE cp" + dahdi_cfg ; exit_on_error "EE dahdi_cfg host" + /etc/init.d/asterisk restart ; exit_on_error "EE asterisk restart host" +} + + +if [ ! $# -eq 1 ] +then + echo "$0 needs the MODE (\"te\" or \"nt\") exiting" + usage + exit 1 +fi + +MODE=$1 + +update $MODE + +exit 0 + +# vim: et:sw=2:sts=2 diff --git a/factory/full_IO/screen_test b/factory/full_IO/screen_test new file mode 100644 index 0000000..c946f3a --- /dev/null +++ b/factory/full_IO/screen_test @@ -0,0 +1,12 @@ +source ~/.screenrc + +screen -t "-qc" + stuff "cd ~/testing^M" + +screen -t "-qc_log" + stuff "asterisk -rvvv^M" + +screen -t "-testing_log" + stuff "ssh eth0^M" + stuff "asterisk -rvvv^M" + diff --git a/asterisk-load-tests/full_IO/pcb/system.conf b/factory/full_IO/system.conf.nt index a9b6695..1a16397 100644 --- a/asterisk-load-tests/full_IO/pcb/system.conf +++ b/factory/full_IO/system.conf.nt @@ -7,12 +7,18 @@ # # Global data +#loadzone = us +#defaultzone = us + fxoks=1 #echocanceller=mg2,1 + fxsks=2 #echocanceller=mg2,3 + span=2,0,0,ccs,ami,nt,term +#span=2,1,0,ccs,ami,te,term bchan=3-4 hardhdlc=5 @@ -25,6 +31,7 @@ bchan=9-10 hardhdlc=11 span=5,0,0,ccs,ami,nt,term +#span=5,1,0,ccs,ami,te,term bchan=12-13 hardhdlc=14 diff --git a/factory/full_IO/system.conf.te b/factory/full_IO/system.conf.te new file mode 100644 index 0000000..c895935 --- /dev/null +++ b/factory/full_IO/system.conf.te @@ -0,0 +1,42 @@ +# Autogenerated by /usr/sbin/dahdi_genconf on Thu Dec 9 06:33:08 2010 +# If you edit this file and execute /usr/sbin/dahdi_genconf again, +# your manual changes will be LOST. +# Dahdi Configuration File +# +# This file is parsed by the Dahdi Configurator, dahdi_cfg +# +# Global data + +#loadzone = us +#defaultzone = us + +fxoks=1 +#echocanceller=mg2,1 + +fxsks=2 +#echocanceller=mg2,3 + + +#span=2,0,0,ccs,ami,nt,term +span=2,1,0,ccs,ami,te,term +bchan=3-4 +hardhdlc=5 + +#span=3,0,0,ccs,ami,nt,term +span=3,1,0,ccs,ami,te,term +bchan=6-7 +hardhdlc=8 + +#span=4,0,0,ccs,ami,nt,term +span=4,1,0,ccs,ami,te,term +bchan=9-10 +hardhdlc=11 + +#span=5,0,0,ccs,ami,nt,term +span=5,1,0,ccs,ami,te,term +bchan=12-13 +hardhdlc=14 + +loadzone = fr +defaultzone = fr + |