Revision: 4828
Author: kemen04
Date: Sat Nov 14 22:46:08 2009
Log: Inital commit of the asterisk interface, thanks to Noel Bouchard. It
may need to be updated for newer versions of kamikaze
http://code.google.com/p/x-wrt/source/detail?r=4828
Added:
/trunk/package/webif-asterisk
/trunk/package/webif-asterisk/MngrManual_en.html
/trunk/package/webif-asterisk/PhoneSetup_en.html
/trunk/package/webif-asterisk/UserManual_en.html
/trunk/package/webif-asterisk/etc
/trunk/package/webif-asterisk/etc/asterisk
/trunk/package/webif-asterisk/etc/asterisk/agents.conf
/trunk/package/webif-asterisk/etc/asterisk/alarmreceiver.conf
/trunk/package/webif-asterisk/etc/asterisk/amd.conf
/trunk/package/webif-asterisk/etc/asterisk/asterisk.conf
/trunk/package/webif-asterisk/etc/asterisk/cdr.conf
/trunk/package/webif-asterisk/etc/asterisk/cdr_custom.conf
/trunk/package/webif-asterisk/etc/asterisk/cdr_manager.conf
/trunk/package/webif-asterisk/etc/asterisk/codecs.conf
/trunk/package/webif-asterisk/etc/asterisk/dnsmgr.conf
/trunk/package/webif-asterisk/etc/asterisk/enum.conf
/trunk/package/webif-asterisk/etc/asterisk/extconfig.conf
/trunk/package/webif-asterisk/etc/asterisk/extensions.ael
/trunk/package/webif-asterisk/etc/asterisk/extensions.conf
/trunk/package/webif-asterisk/etc/asterisk/features.conf
/trunk/package/webif-asterisk/etc/asterisk/followme.conf
/trunk/package/webif-asterisk/etc/asterisk/gtalk.conf
/trunk/package/webif-asterisk/etc/asterisk/h323.conf
/trunk/package/webif-asterisk/etc/asterisk/http.conf
/trunk/package/webif-asterisk/etc/asterisk/iax.conf
/trunk/package/webif-asterisk/etc/asterisk/iax_custom.conf
/trunk/package/webif-asterisk/etc/asterisk/iaxprov.conf
/trunk/package/webif-asterisk/etc/asterisk/indications.conf
/trunk/package/webif-asterisk/etc/asterisk/jabber.conf
/trunk/package/webif-asterisk/etc/asterisk/logger.conf
/trunk/package/webif-asterisk/etc/asterisk/manager.conf
/trunk/package/webif-asterisk/etc/asterisk/misdn.conf
/trunk/package/webif-asterisk/etc/asterisk/modules.conf
/trunk/package/webif-asterisk/etc/asterisk/musiconhold.conf
/trunk/package/webif-asterisk/etc/asterisk/muted.conf
/trunk/package/webif-asterisk/etc/asterisk/osp.conf
/trunk/package/webif-asterisk/etc/asterisk/privacy.conf
/trunk/package/webif-asterisk/etc/asterisk/queues.conf
/trunk/package/webif-asterisk/etc/asterisk/queues_custom.conf
/trunk/package/webif-asterisk/etc/asterisk/res_snmp.conf
/trunk/package/webif-asterisk/etc/asterisk/rtp.conf
/trunk/package/webif-asterisk/etc/asterisk/say.conf
/trunk/package/webif-asterisk/etc/asterisk/sip.conf
/trunk/package/webif-asterisk/etc/asterisk/sip_custom.conf
/trunk/package/webif-asterisk/etc/asterisk/sip_notify.conf
/trunk/package/webif-asterisk/etc/asterisk/smdi.conf
/trunk/package/webif-asterisk/etc/asterisk/users.conf
/trunk/package/webif-asterisk/etc/asterisk/voicemail.conf
/trunk/package/webif-asterisk/etc/asterisk/voicemail_additional.conf
/trunk/package/webif-asterisk/etc/config
/trunk/package/webif-asterisk/etc/config/firewall
/trunk/package/webif-asterisk/etc/config/mars
/trunk/package/webif-asterisk/etc/crontab
/trunk/package/webif-asterisk/etc/crontab/root
/trunk/package/webif-asterisk/etc/init.d
/trunk/package/webif-asterisk/etc/init.d/custom-user-startup
/trunk/package/webif-asterisk/etc/init.d/httpd
/trunk/package/webif-asterisk/etc/ipkg.conf
/trunk/package/webif-asterisk/etc/rc.d
/trunk/package/webif-asterisk/etc/rc.d/S80asterisk
/trunk/package/webif-asterisk/lib
/trunk/package/webif-asterisk/lib/asterisk
/trunk/package/webif-asterisk/lib/asterisk/agi_bin
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/get_config_file.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/getlocalprefixes.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/getnvram.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/getnvramvars.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/islocalprefix.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/send_wa_dir.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/web_audio.sh
/trunk/package/webif-asterisk/lib/asterisk/agi_bin/web_audio.txt
/trunk/package/webif-asterisk/mnt
/trunk/package/webif-asterisk/mnt/disc0_1
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/cdr-csv
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/moh-native
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/sounds
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/sounds/wait-moment.ulaw
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/sounds/webcall-menu.ulaw
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/sounds/webcall-rcvd.ulaw
/trunk/package/webif-asterisk/mnt/disc0_1/asterisk/voicemail
/trunk/package/webif-asterisk/mnt/disc0_1/manuals
/trunk/package/webif-asterisk/mnt/disc0_1/manuals/MngrManual_en.html
/trunk/package/webif-asterisk/mnt/disc0_1/manuals/PhoneSetup_en.html
/trunk/package/webif-asterisk/mnt/disc0_1/manuals/UserManual_en.html
/trunk/package/webif-asterisk/packages.txt
/trunk/package/webif-asterisk/readme.txt
/trunk/package/webif-asterisk/sysinfo.txt
/trunk/package/webif-asterisk/usr
/trunk/package/webif-asterisk/usr/lib
/trunk/package/webif-asterisk/usr/lib/webif
/trunk/package/webif-asterisk/usr/lib/webif/apply-mars.sh
/trunk/package/webif-asterisk/usr/lib/webif/apply.sh
/trunk/package/webif-asterisk/usr/lib/webif/form.awk
/trunk/package/webif-asterisk/usr/sbin
/trunk/package/webif-asterisk/usr/sbin/mini_sendmail
/trunk/package/webif-asterisk/www
/trunk/package/webif-asterisk/www/cgi-bin
/trunk/package/webif-asterisk/www/cgi-bin/webcall
/trunk/package/webif-asterisk/www/cgi-bin/webcall/webcall_black_list.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif
/trunk/package/webif-asterisk/www/cgi-bin/webif/.categories
/trunk/package/webif-asterisk/www/cgi-bin/webif/ast_functions.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-calllog.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-dev.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-editor.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-extensions.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-management.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-servers.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-system.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-trunks.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/asterisk-webcall.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/ftp_test.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/get_area_codes.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/mngr_login.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/parse_asterisk_calls.awk
/trunk/package/webif-asterisk/www/cgi-bin/webif/parse_webcall.awk
/trunk/package/webif-asterisk/www/cgi-bin/webif/send_call_log.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/send_vemail.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/send_wrt_log.sh
/trunk/package/webif-asterisk/www/cgi-bin/webif/test_email.sh
/trunk/package/webif-asterisk/www/images
/trunk/package/webif-asterisk/www/images/TD_Logo.gif
/trunk/package/webif-asterisk/www/images/Thumbs.db
/trunk/package/webif-asterisk/www/images/archive.gif
/trunk/package/webif-asterisk/www/images/ballet_lg.gif
/trunk/package/webif-asterisk/www/images/bg_pg.gif
/trunk/package/webif-asterisk/www/images/dictate1.gif
/trunk/package/webif-asterisk/www/images/hr_bot.gif
/trunk/package/webif-asterisk/www/images/hr_top.gif
/trunk/package/webif-asterisk/www/images/mars1.jpg
/trunk/package/webif-asterisk/www/images/mod_temp1_02.gif
/trunk/package/webif-asterisk/www/images/mod_temp1_03.gif
/trunk/package/webif-asterisk/www/images/monitor.gif
/trunk/package/webif-asterisk/www/images/mplay.gif
/trunk/package/webif-asterisk/www/images/play.gif
/trunk/package/webif-asterisk/www/images/tag-comment.gif
/trunk/package/webif-asterisk/www/images/talk.jpg
/trunk/package/webif-asterisk/www/images/vemail.gif
/trunk/package/webif-asterisk/www/mars.js
/trunk/package/webif-asterisk/www/webcall
/trunk/package/webif-asterisk/www/webcall/cgi-bin
/trunk/package/webif-asterisk/www/webcall/cgi-bin/call_template.html
/trunk/package/webif-asterisk/www/webcall/cgi-bin/call_template_fr.html
/trunk/package/webif-asterisk/www/webcall/cgi-bin/webcall.sh
/trunk/package/webif-asterisk/www/webcall/images
/trunk/package/webif-asterisk/www/webcall/images/talk.jpg
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/MngrManual_en.html Sat Nov 14 22:46:08
2009
@@ -0,0 +1,1078 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type"><title>MARS: Manager manual</title>
+<style media="all" type="text/css">
+td { font-family: Arial;
+}
+th { font-weight: bold;
+font-size: larger;
+color: rgb(0, 0, 0);
+background-color: rgb(255, 255, 255);
+}
+.title { font-weight: bold;
+font-size: larger;
+text-align: center;
+color: rgb(0, 0, 0);
+background-color: rgb(255, 255, 255);
+}
+.header { font-family: Arial,Helvetica,sans-serif;
+font-weight: bold;
+text-align: center;
+font-size: medium;
+background-color: rgb(255, 255, 255);
+color: rgb(0, 0, 0);
+}
+</style>
+<meta name="author" content="Noël Bouchard, Tele Data Inc."></head>
+<body><table style="text-align: left; width: 90%;" border="0"
cellpadding="2" cellspacing="4"> <tbody>
+<tr> <td style="background-color: rgb(51, 51, 255);" colspan="3"></td>
</tr> <tr class="title"><td style="text-align: center;" colspan="1">MARS<br>
+Mini-PBX / Wireless Router<br>
+Manager Manual</td> </tr> <tr> <td style="background-color: rgb(51, 51,
255);" colspan="1"></td>
+</tr> <tr> <td style="vertical-align: top; text-align: left;"
colspan="1"><span class="title">1 - <a
href="#Introduction">Introduction</a><br>
+2 - <a href="#Accès_interface_WWW">Connections and WWW
+interface access</a><br> </span><span class="title" style="font-weight:
bold;"></span><span class="title">3 - </span><a class="title"
href="#Configuration_PPPoE__DHCP__Switch">PPPoE / DHCP</a><a class="title"
href="#Configuration_PPPoE__DHCP__Switch">
+Configuration</a><span class="title"> (WAN)<br>
+</span> <div style="margin-left: 40px;">ADSL<br>
+Cable<br>
+Switch</div> <span class="title">4 - <a href="#Configuration_Wi-Fi">WI-FI
Configuration</a><br>
+</span><span class="title">5
+- <a href="#Service_de_DNS_dynamique">Dynamic DNS Service</a></span><br>
+<span class="title">6 - </span><big><a style="font-weight: bold;"
href="#Configuration_MARS">Asterisk
+MARS </a></big><big><a style="font-weight: bold;"
href="MngrManual_en.html#Configuration_MARS">Configuration </a></big>
+<div style="margin-left: 40px;">System<br>
+Extensions<br>
+Trunks<br>
+Servers <br>
+Queue<br>
+Time conditions<br> <br> </div> <span class="title">7 - <a
href="#Phone-in_Dictation">Phone-in
+Dictation</a><br>
+8 - <a href="#Dialer">Automated
+Dialer</a><br>
+9 - <a href="#WebCall">WebCall</a><br>
+10
+- <a href="#Formulaire_WebCall">WebCall Form</a><br>
+</span><span class="title"></span><br> </td></tr><tr><td
style="background-color: rgb(51, 51, 255); text-align: center;"><a
name="Introduction"></a><big><span style="color: rgb(255, 255, 255);
font-weight: bold;">Introduction</span></big></td>
+</tr> <tr> <td><br>The
+installation and configuration of the MARS system can be simply
+accomplished by proceeding by steps as described by the list of topics
+above. In short, you must connect the system, configure the router,
+that is the Internet access and the wireless access point, and if
+desired the client for the dynamic DNS service. Then the PBX must be
+configured as well as the VoIP telephones.<br> <br>
+Some steps are optionals, according to the functions used, in which
+case this will be indicated in the text.<br> <br> <span
class="title">Required Informations</span><br> <br>
+You will need the following informations provided by your Internet
+service provider and your VoIP provider:<br> <ul> <li>Your
+<span style="font-weight: bold;">user
+name</span> and the password for your Internet service<span
style="font-weight: bold;"></span> (<span style="font-weight: bold;">ADSL /
PPPoE</span>), </li>
+<li>The address of the <span style="font-weight: bold;">SMTP
Server</span> used
+to send emails.</li> <li>The <span style="font-weight: bold;">user
+name </span>(Or DID / Tel No.) of your(s) VoIP lines
+with password and the URL (Internet address or domain name) of the
+service.<span style="font-weight: bold;"></span> </li>
+</ul>If you will use the dynamic DNS service you will need:<br>
+<ul><li>Your <span style="font-weight: bold;">user
+name and password</span> as well as your domain
+name chosen when you create your account. </li> </ul>
+Finally if you interconnect systems together you will need:<br> <ul>
+<li>The <span style="font-weight: bold;">server
+names and passwords</span> of the MARS systems as well
+as the IP address (or domain name) of all systems.</li> </ul>
+</td> </tr> <tr> <td class="title" style="background-color: rgb(51, 51,
255); text-align: center;" colspan="1"><a
name="Accès_interface_WWW"></a><span style="color: rgb(255, 255,
255);"></span><span class="title"></span><span style="color: rgb(255, 255,
255);">Connections and WWW
+interface access</span><span style="color: rgb(255, 255,
255);"></span></td>
+</tr> <tr> <td style="vertical-align: top;"><br><span
class="title">Connections<br> <br> </span>First,
+connect port one of the router to your PC
+network card using a standard network cable.<br>
+Then connect your broadband modem to the WAN connector of the router
+using a standard network cable.<br>
+Power up the MARS system and wait until booting is done ( < 1
+min.)<br> <br> <span class="title">Initial
+configuration<br> </span><span style="font-weight: bold;"></span><br>
+The local LAN address of the MARS system is set by default
+to: <span style="font-weight: bold;">192.168.1.1</span><br>
+Make
+sure that the network adapter of the PC you are using is set to use a
+static IP address in the same segment, but different than the MARS
+system. For instance: <span style="font-weight: bold;">192.168.1.10<br>
+<br> </span>Open the network configuration utility (For
+Windows:
+Start | Settings | Network Connections | Local area connection.)<br>
+Click on the "Properties" and select the <span style="font-weight:
bold;">Internet
+Protocol (TCP/IP).<br> </span>Click again on the
+"Properties button"<span style="font-weight: bold;"><br>
+</span><span style="font-weight: bold;"></span><br>If
+your network adapter is configured to obtain an IP address
+automatically (DHCP) or on a static address in a different network
+segment than 192.168.1.x, modify the config for the IP protocol as
+following:<br> <br>
+Check the "Use the following address" checkbox and set:<br> <span
style="font-weight: bold;">IP Address:
+192.168.1.10</span><br style="font-weight: bold;"> <span
style="font-weight: bold;">Mask: 255.255.255.0</span><br
style="font-weight: bold;"> <span style="font-weight: bold;">Gateway:
192.168.1.1<br> <br>
+</span>You can now access MARS' WWW interface by pointing
+your browser to the following URL: <span style="font-weight:
bold;">
http://192.168.1.1<br>
+</span>The user name is "<span style="font-weight: bold;">root</span>"
+and the password is "<span style="font-weight: bold;">Mars08</span>".
+(The pwd may be different, use the one given)<br> <br>
+The
+WWW interface allows you to configure the network interfaces (LAN / WAN
+/ WI-FI), the PPPoE client (ADSL) and or DHCP, the dynamic DNS client
+and give access to the configuration panels of the MARS system.<br>
+<span style="font-weight: bold;"></span><br> <span style="font-weight:
bold;"></span></td> </tr><tr class="header title"> <td
style="background-color: rgb(51, 51, 255);" class="header" colspan="1"><a
name="Configuration_PPPoE__DHCP__Switch"></a><span style="color: rgb(255,
255, 255);">PPPoE / DHCP / Switch
+(WAN) </span><span style="color: rgb(255, 255, 255);">Configuration
+</span></td> </tr> <tr> <td colspan="1"><br>To
+configure the Internet connection, select the "<span style="font-weight:
bold;">Network</span>" option from
+the main menu and then the "<span style="font-weight:
bold;">WAN-LAN</span>"
+option.<br> <big style="color: rgb(255, 0, 0);"><span style="font-weight:
bold;"><br>
+Important:</span></big>
+The MARS system has it's own DHCP (Dynamic Host Configuration Protocol)
+ server which is used to configure the network interfaces on
+the
+local LAN and behave as a DHCP client for the WAN side (Internet). It
+is very important that only one DHCP server is activated on a given LAN
+otherwise some configuration problems would occur. In consequence, make
+sure that you modem (or any other device) does not use it's
+DHCP
+server for the LAN, otherwise configure the device as a DHCP client or
+else disable the DHCP server and use a static IP address for the
+device. This static address must be set in the same network segment
+than the MARS system. (Usually at 192.168.1.1) For example:
+192.168.1.80.<br> <br> <span class="title">ADSL
+</span><span class="title">Modem </span><span class="title">/
+PPPoE: <br> <br> </span><span style="font-weight: normal;">If
+you use ADSL for your internet connection, you will need to
+configure the PPoE client to allow the system to automatically connect
+to your ISP on startup.<br> <br>
+- Select
+"<span style="font-weight: bold;">PPPoE</span>"
+under
+"<span style="font-weight: bold;">Connection
+Type</span>"<br>
+- Enter the values under <span style="font-weight: bold;">PPP
+Settings</span><br> <br> </span> <table style="text-align: left; width:
50%;" summary="Settings">
+<tbody> <tr id="redial" style=""> <th style="width: 40%; font-weight:
bold;">Redial
+Policy</th> <td width="60%">Keep Alive<br> </td>
+</tr> <tr id="demand_idletime" style="display: none;"><td
width="40%">Maximum
+Idle Time</td> <td width="60%"> <input id="ppp_idletime"
name="ppp_idletime" value="5" type="text"></td> </tr> <tr
id="persist_redialperiod" style=""> <th style="width: 40%;">Redial
+Timeout</th> <td width="60%">30 <br> </td>
+</tr> <tr id="username" style=""> <th style="width: 40%; font-weight:
bold;">Username</th> <td width="60%"><As given by your ISP><br> </td>
+</tr> <tr id="passwd" style=""> <th style="width: 40%; font-weight:
bold;">Password</th> <td width="60%"><As given by your ISP> </td>
</tr>
+<tr id="mtu" style=""> <th style="width: 40%; font-weight: bold;">MTU</th>
<td>1492
+ (unless your ISP say something
+else)</td> </tr> </tbody> </table> <span class="title"></span><br> <span
style="font-weight: bold;">Make
+sure you save the changes by clicking on the "Save changes" button and
+the appy the changes by pressing the "Apply changes"
button.</span><br>
+The
+system should now connect to your ISP automatically on startup. You may
+need to reboot the system (Using the "Reboot" option from the "System"
+menu option). <br> <br> <hr style="width: 100%; height: 2px;"><br>
<span class="title">Cable Modem / DHCP:<br> <br> </span>If
+you use a cable Internet connection,
+ select "DHCP" under <span style="font-weight: normal;">"<span
style="font-weight: bold;">Connection Type</span>".<br>
+</span><span style="font-weight: bold;">Make
+sure you save the changes by
+clicking on the "Save changes" button and the appy the changes
+ by
+pressing the "Apply changes" button.</span><br>
+You
+may need to "power cycle" both your cable modem and the MARS system in
+order for the cable modem's DHCP server to assign a WAN address to the
+MARS system. Turn off the power on the cable modem and disconnect the
+power cord on the MARS system and wait 1 - 2 minutes. Then power on the
+cable modem and then the MARS system. <br>
+You can verify the status of the connection using the "Status /
+Interface" menu option.<br> <br> <span class="title">Switch
+/ None:<br> <br> </span> <hr style="width: 100%; height: 2px;"><span
class="title">LAN
+Configuration<br> <br> </span> <table style="width: 100%;"
summary="Settings"> <tbody>
+<tr> <th style="width: 40%; text-align: left;">LAN
+IP Address</th> <td width="60%">192.168.1.1<br>
+</td> </tr> <tr> <th style="width: 40%; text-align: left;">Netmask</th>
<td width="60%">255.255.255.0<br> </td> </tr>
+<tr> <th style="width: 40%; text-align: left;">Default
+Gateway</th> <td width="60%">192.168.1.1<br> </td>
+</tr> </tbody> </table> <br> <hr style="width: 100%; height: 2px;"><br>
<span class="title">LAN DNS Servers Configuration</span><br>
+<br>Enter 192.168.1.1 in the edit box and press the <span
style="font-weight: bold;">Add</span> Button. You
+should then see the following under <br> <br> <span style="font-weight:
bold;">192.168.1.1
+ Remove</span><br> <br>
+Press the <span style="font-weight: bold;">Save</span>
+button at the bottom of the screen and then the <span style="font-weight:
bold;">Apply</span>
+link to apply changes.<br> <br> <br> <hr style="width: 100%; height:
2px;"><br> <span class="title">Connecting to the Internet<br> <br>
+</span>Once the
+Internet connection configuration is done, you will need to reconfigure
+your PCs network adapter so it gets an IP address assigned by the
+system.<br> <br>
+- Open the Network configuration utility. (Under Windows:
+Start | Settings | Network &
+Dial up connections | Local area Network.)<br>
+- Press the Properties button and select <span
style="font-weight: bold;">Internet
+Protocol (TCP/IP).<br> </span>- Press once again on the
+"Properties" button and
+select "Obtain an IP address automatically".<span style="font-weight:
bold;"><br> </span><br>
+<hr style="width: 100%; height: 2px;"><br> <span class="title">Verifying
the connection.</span><br>
+<br>You
+can verify the Internet connectivity from the main menu by selecting
+the "<span style="font-weight: bold;">Status</span>"
+menu option and then "<span style="font-weight: bold;">Interfaces</span>".
+Here is an example
+display:<br> <h3><strong>WAN</strong></h3>
+<table summary="Settings" width="100%"> <tbody><tr id="wan_ip_addr"> <td
style="font-weight: bold;" width="40%">IP
+Address</td> <td style="font-weight: bold;" width="60%">216.209.xxx.xxx
+P-t-P </td> </tr> <tr id="dns_server_1"> <td style="font-weight: bold;"
width="40%">DNS
+Server 1</td> <td style="font-weight: bold;" width="60%">216.209.xxx.xxx
</td> </tr> <tr id="dns_server_2"> <td style="font-weight: bold;"
width="40%">DNS
+Server 2</td> <td style="font-weight: bold;" width="60%">216.209.xxx.xxx
</td> </tr> </tbody>
+</table> <br>It may also be
+necessary to restart your ADSL / Cable modem. Remove the power on the
+MARS system and then reboot your modem ... then put the power back on
+the MARS system. After restarting the MARS system, you should
+see than an IP address has
+been assigned to the WAN interface as well as to the DNS servers.
+Otherwise, double check your PPPoE settings.<br> <br> </td>
+</tr> <tr class="header"> <td style="color: rgb(255, 255, 255);
background-color: rgb(51, 51, 255);"><a
name="Configuration_Wi-Fi"></a>WI-FI Configuration</td>
+</tr> <tr> <td><br>To
+configure the WI-FI access point, select the "Network" menu option and
+then "Wireless". The WI-FI access point allows to connect devices with
+WI-FI network capability to your local area network. Theses devices can
+be portable computer or WI-FI VoIP phones.<br> <br>
+If you do not want to
+use the WI-FI access point, you can disable it by selecting "Disabled"
+under "Wireless Interface", otherwise set this to "Enabled". <br>
+The select "WEP " under "Encryption Type" and enter a "PassPhrase" that
+will be used to create the key and press the <span style="font-weight:
bold;">"Generate 128 bits key" </span>button
+to generate the key. Take note of the pass phrase and WEP key as you
+will need these to configure the client that will connect to
+the
+access point.<br> <br> <span style="font-weight: bold;">Make
+sure you save
+the changes by
+clicking on the "Save changes" button and the apply the changes
+ by
+pressing the "Apply changes" button.</span><br> <span style="font-weight:
bold;"><br> </span><span class="title">WI-FI Clients
+Configuration</span><span style="font-weight: bold;"><br>
+</span><br>It
+is impossible to describe here the exact procedure to configure the
+WI-FI clients but as a general rule, an configuration utility will be
+provided. This will allow to locate the access point and get access by
+specifying the encryption as "WEP" using a 128 bits key and
+by
+providing either the pass phrase or WEP key used on the access point.
+You will then be able to connect the PC or WI-FI phone to the local
+LAN. The WI-FI client will memorize the informations and will use it to
+connect to the AP on startup.<br> <br> <span style="font-weight:
bold;"></span></td> </tr>
+<tr class="header"> <td style="color: rgb(255, 255, 255);
background-color: rgb(51, 51, 255);"><a
name="Service_de_DNS_dynamique"></a>Dynamic DNS Service</td>
+</tr> <tr> <td><br>MARS
+provides a dynamic DNS client which can provide a fixed domain name to
+your system. The dynamic DNS service client will contact the service
+DNS server to update your public IP address when it is
+ assigned
+or renewed by your ISP. To use this service, you must first
+create an account and the configure the system's client. You don't
+really need this service you you do not use WebCall or do not link
+multiple systems together.<br> <br> <br> <span class="title">DynDNS
account creation</span><span class="title"></span><br> <br>
+Go to <a href="
http://www.dyndns.com/" target="_blank"><span
style="font-weight: bold;">
http://www.dyndns.com</span></a>
+, select the "New Account" link and complete the form to
+create
+your free DynDNS account. Write down your user name, password and
+chosen domain name. You can select a domain name with different
+suffixes like
dyndns.org or
dyndns.biz etc ... You must supply an
+unused prefix which together with the selected suffix will form your
+unique domain name. For instance: "<span style="font-weight:
bold;">
my-mars.dyndns.org</span>"
+or "<span style="font-weight: bold;">
my-company.dyndns.biz</span>".
+After having created your account, you will receive
+a confirmation
+at the given email address which you must reply to validate
+your
+account.<br> <br> <br> <hr style="width: 100%; height: 2px;"><br> <span
class="title">Configuration</span><br> <br>
+Once your DynDNS account has been created and activated, you can
+configure the MARS client by selecting the "<span style="font-weight:
bold;">Network</span>" menu item
+and then "<span style="font-weight: bold;">DynDNS</span>".<br>
+<br> <table style="width: 60%;" summary="Settings"><tbody><tr><th
style="text-align: left;">DynDNS</th>
+<td><span style="font-weight: bold;">Enable</span></td>
+</tr> <tr> <th style="width: 40%; text-align: left;">DynDNS
+Service</th> <td width="60%"><span style="font-weight:
bold;">dyndns</span><br> </td>
+</tr> <tr> <th style="width: 40%; text-align: left;">User
+Name</th> <td style="width: 60%;"><Your
+DynDNS
+user name><br> </td> </tr> <tr> <th style="width: 40%; text-align:
left;">Password</th> <td width="60%"><dyndns account
+password><br> </td> </tr> <tr> <th style="width: 40%; text-align:
left;">Host
+Name</th> <td width="60%"><Your DynDNS
+domain
+name>. Ex:
mars.dyndns.org<br> </td> </tr> <tr>
+<th style="width: 40%; text-align: left;">Wildcard</th>
+<td style="font-weight: bold;" width="60%">Disabled</td>
+</tr> <tr> <th style="width: 40%; text-align: left;">Server
+Name</th> <td width="60%"><span style="font-weight:
bold;">
members.dyndns.org</span><br>
+</td> </tr> <tr> <th style="width: 40%; text-align: left;">Max
+Interval (sec)</th> <td><span style="font-weight: bold;">86400
+</span>(60 secs * 60 mins * 24 hrs ) Renew every 24
+hours.</td> </tr> </tbody> </table> <br>
+<span style="font-weight: bold;">Make sure you save
+the changes by
+clicking on the "Save changes" button and the apply the changes
+ by
+pressing the "Apply changes" button.</span><br> <span style="font-weight:
bold;"><br> </span>MARS
+DynDNS client will contact the DynDNS server regularly to communicate
+the current public IP address of the system. The DynDNS domain name
+servers will then be able to supply the correct IP address when someone
+request your DynDNS domain name.<span style="font-weight: bold;"><br>
+<br> </span><span class="title">DynDNS client
+verification<br> <br> </span><span style="font-weight: normal;">You
+can verify that the dydns client works properly by using the "ping"
+utility that is accessible from the menu under </span>"Status"
+/ "Diagnostics". Enter your dyndns domain name in the edit box and
+press the "Ping" button. If everything works, you should get the result
+after a few seconds. The first line will indicate the IP address given
+by the DynDNS domain name server for your domain name. Example:<br>
+<span style="font-weight: normal;"></span><span class="title"></span>
<pre>PING
my-mars.dyndns.org (216.239.76.53): 56 data bytes</pre>Verify
+that the given IP address is the same as displayed under "Status" /
+"Interface" for the WAN interface. If not, double check the DynDNS
+client data and make sure your account has been activated and try to
+reboot the system. ("System" / "Reboot").<br> <br> </td>
+</tr> <tr class="header"> <td style="background-color: rgb(51, 51,
255);"><a name="Configuration_MARS"></a><span style="color: rgb(255, 255,
255);">MARS </span><span style="color: rgb(255, 255,
255);">Configuration</span></td>
+</tr> <tr> <td style="text-align: left;"><br><br>To
+configure the PBX part of the MARS system you need to set the
+genral system parameters, the extensions, and the
+external
+lines (trunks). Then depending on the desired options the queue
+parameters and the time conditions. Finally if you want to interconnect
+MARS systems together, you will need to configure the Server section.<br>
+<br> <span class="title"><a name="System"></a>System:
+</span>This section allows to set the general
+system parameters.<br> <span class="title"><br>
+</span> <table style="width: 100%;" cellpadding="2" cellspacing="2">
<tbody> <tr> <th style="vertical-align: top; text-align: left;">System
+ID <br>
+(Server No): </th> <td colspan="3">The "System ID"
+is used to
+establish the base extension
+when two or more MARS systems are interconnected. In this case, each
+system must use a different system ID. The "Server ID" will determinate
+which the system local extensions . The ID 1 will assign extensions
+200-203. The ID "2" will set 300 - 303, the "3" will use extensions
+"400 - 403 and finally System ID 4 will use extension 500 to 503 as
+local internal extensions. If the system is not linked to any other the
+use "Server ID" 1. (Extensions 200-203).<br> </td> </tr>
+<tr> <th style="text-align: left;">Service Main
+Language (E/F): </th> <td colspan="3">This is the
+default main
+system language. Use "E" for
+English and "F" for French. For a bilingual system, the "welcome"
+message of the auto attendant allows to select the secondary language
+by pressing the "9" key.<br> </td> </tr> <tr>
+<th style="text-align: left;">Admin
+Email: </th> <td colspan="3">The administrator
+email
+address. This will be used to send the daily calls reports.<br> </td>
+</tr> <tr> <th style="text-align: left;">SMTP
+Server: </th> <td colspan="3">The address of the
+SMTP server
+used to send email (given by your Internet Service Provider)<br> </td>
+</tr> <tr> <th style="text-align: left;">Cell
+Phone Gateway Pwd: </th> <td colspan="3">The
+access code for the Cell
+to VoIP gateway. This code should use only disits and be of a
+minimum size of 4 or 5 digits.<br> </td> </tr> <tr>
+<th style="vertical-align: top; text-align:
left;">Local Prefixes:
+</th> <td>This allows to get your local prefixes list
+according to your
+given area code and telephone number prefix. Enter your 3 digits area
+code and the first 3 digits of your telephone number and press the
+"Save" button to save. The press the "Get" button to get the
+list
+of prefixes from the Internet. (Make sure you have
+Internet
+connectivity before using this function.) </td> </tr> <tr>
+<th style="text-align: left;">Local
+Prefixes List:</th> <td>This displays the (read only) list
+of local
+prefix. </td> </tr> </tbody> </table> <br>
+<hr style="width: 100%; height: 2px;"><span class="title"><br> <a
name="Extensions"></a>Extensions:
+</span>This
+section allows to define up to four extensions used by the system.
+These extensions can use the SIP or IAX2 protocol. Only the used
+extensions should be defined.<br> <br> <table> <tbody>
+<tr> <th style="vertical-align: top;">Extension</th>
+<td>This is the extension number. This is fixed and
+cant be modified. You will need to specify this value as the "<span
style="font-weight: bold;">User ID</span>" or
+"UserName" when configuring the telephone that is attached to this
+extension. </td> </tr> <tr> <th style="vertical-align: top;">Password:
</th> <td>Enter
+the access code for the extension. You will
+also need this value to configure the telephone attached to this
+extension<br> </td> </tr> <tr> <th style="text-align: left;">SIP/IAX2:
</th> <td>Enter
+SIP or IAX2 according to the protocol used
+by the VoIP phone , ATA or "softphone"
+used.<br> </td> </tr> <tr> <th style="text-align: left;">Dial: </th>
<td>Enter
+SIP / IAX2 followed by a forward slash
+followed by the extension. Ex: <span style="font-weight:
bold;">SIP/200</span>
+ ou <span style="font-weight: bold;">IAX2/203</span><br>
+</td> </tr> <tr> <th style="text-align: left;">CallerID:
+</th> <td>The number used to display the internal calls.
+Usually the extension number or user name. Ex: <span style="font-weight:
bold;">200</span><br> </td>
+</tr> <tr> <th style="text-align: left;">EMail:</th>
+<td>The email address for the voice mail to email
+expedition for this extension. Ex:
my-e...@my-isp.com </td> </tr>
+</tbody> </table> <br> <span style="font-weight: bold; color: rgb(255, 0,
0);">IMPORTANT:</span><span style="color: rgb(255, 0, 0);">
</span> <br>
+<ul><li>After
+having configured the extension, you must configure the telephone
+attached to this extension using the extension number as user
+name and
+given password. (default to ext. number)</li> </ul> <hr style="width:
100%; height: 2px;"><br> <span class="title"><a
name="Trunks"></a>Trunks:</span>
+This is used to configure the external lines of the system. You can
+define up to two VoIP lines using the SIP or IAX2 protocol. You can
+also define a PSTN line when using the FXO adapter. Fill only
+the
+entries which are in use by the system. Use the "Save" button under
+each section to save any modification.<br> <br> <table style="text-align:
left; width: 90%;" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr>
+<th><span style="font-weight: bold;">VoIP</span></th>
+<td></td> </tr> <tr> <th>Protocol</th>
+<td>This define the protocol used for the VoIP line.
+ Use the "Save" button if changing protocol to update display.</td>
+</tr> <tr> <th>UserName
+(/DID)</th> <td>The UserName or DID (telephone number) as
+given
+by your VoIP provider.</td> </tr> <tr> <th>Password</th>
+<td>The password or secret for this line. (as given
+by your VoIP provider). </td> </tr> <tr> <th>Host</th>
+<td>Your VoIP host. (as given by your VoIP
+provider) </td> </tr> <tr> <th><span style="font-weight:
bold;">PSTN</span></th> <td></td>
+</tr> <tr> <th>FXO1</th> <td>If you
+use an conventional external line using
+the FXO adater enter <span style="font-weight: bold;">FXO1</span>
+( F X Oh one). otherwise leave blank.</td> </tr> <tr>
+<th>Caller ID</th> <td>The phone number for this line</td>
+</tr> </tbody> </table> <br>After
+adding a new trunk you should issue a "SIP Reload" (or "IAX Reload")
+command (from the Management menu) and then verify
+the
+connectivity using the "Sip Registry" (or "IAX registry") command which
+will display the status of the registrations with the service provider.<br>
+<br> <hr style="width: 100%; height: 2px;"><br><span class="title"><a
name="Servers"></a>Servers:
+</span><br>This
+section is used to define the local and remote MARS servers when
+interconnecting systems. Up to four MARS systems can be interconnected.
+Each of the system must be assigned a unique "Server ID"
+ which
+will determine the extensions assigned to the server as well as the
+local server ID. For instance the first MARS system will be defined as
+"Server 1" and will use extensions 200 to 203 and will be
+defined
+in the "Server 1" entry of this page. The entry "Server 2" must contain
+the informations for the server with extension 300 - 303. The "Server
+3" for the server with extension 400 - 403 and Server "4" for
+the
+one having extensions 500 to 503. The entry which correspond to the
+local server depends on it's server ID. You must specify the
+server name / password and host (static IP or DynDNS domain name) for
+all interconnected servers, including the local one.<br> <br>
+<table style="text-align: left; width: 90%;" border="0" cellpadding="2"
cellspacing="2"> <tbody> <tr><th>Server
+UserName</th> <td>The name assigned to the external MARS
+system (or local)</td> </tr> <tr> <th>Password</th>
+<td>The password of the external MARS system (or
+local)</td> </tr> <tr> <th>Host
+(IP or dyndns)</th> <td>The IP address (or
+DynDNS domain name)
+of the MARS system</td> </tr> </tbody> </table>
+<br>After
+the servers have been defined you should issue a "IAX Reload" command
+(from the Management menu) on all interconnected servers. You
+can
+then verify the connectivity using the "IAX registry" command which
+will display the status of the registrations with the other systems. If
+the connection fail, check on each side if you can ping the other side
+domain name or IP address. (Using System / Diagnostics menu option).
+Once the connection is established, each side should be able to dial
+the other one by dialing it's 3 digits extensions number.<br>
+<br> <hr style="width: 100%; height: 2px;"><br><span class="title"><a
name="Queue"></a>Queue: </span>This
+section is used to define the usage and parameters of the call queue.
+The default value is set to use the call queue only when the automated
+attendant has been deactivated. If desired, you can modify
+the
+queue usage here.<br> <span class="title"><br>
+</span> <table style="text-align: left; width: 90%;" border="0"
cellpadding="2" cellspacing="2"> <tbody><tr><th style="vertical-align:
top;">Use
+Queue</th> <td>Define the usage of the call queue.<br>
+"<span style="font-weight: bold;">When Auto-Attendant Off</span>"
+ Use only when the automated attendant is deactivated.<br>
+"<span style="font-weight: bold;">Always</span>" Use
+at all time (Never use the Automated attendant)<br>
+"<span style="font-weight: bold;">Never</span>" Do
+not use. Direct the calls directly to voice mail of main
+extension if AA is deactivated. </td> </tr> <tr> <th
style="vertical-align: top;">Queue Strategy</th> <td>Set
+the call handling by the call queue<br>
+"<span style="font-weight: bold;">Round Robin</span>"
+Contact an extension then another until an extension answers.<br>
+"<span style="font-weight: bold;">Ring
+All</span>" Ring all extensions and direct the call to the first
+one who answer.</td> </tr> <tr> <th>Members:</th>
+<td>You can select the extension that will be used in
+the call queue.</td> </tr> </tbody> </table>
+<br> <hr style="width: 100%; height: 2px;"><br><span class="title"><a
name="TimeConditions"></a>Time
+Conditions: </span>This
+section allow to define a schedule to allow a specific treatment
+according to the current day and time. When activated, calls received
+outside of the def<a
href="../Doc/MARS_en.html">file:///Y:/openWRT/Doc/MARS_en.html</a>ine
+working period will be directed to the voice mail
+for the main extension.<br> <br> <table style="text-align: left; width:
90%;" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr>
+<th>Enable</th> <td>Activate time conditions</td>
+</tr> <tr> <th>From
+Hours</th> <td>Start of opening hours.
+Enter as hh:mm. in 24 hour format. For example: 09:00</td>
+</tr> <tr> <th>To
+Hours</th> <td>End of opening hours. Enter
+as hh:mm. in
+24 hour format. For example: 18:00</td> </tr> <tr> <th
style="vertical-align: top;">Days</th> <td>Opening
+days. Enter as a 3 char. day
+name (mon,tue,wed,thu,fri,sat,sun) followed by a dash
+followed by the ending day. <br>
+Ex. <span style="font-weight: bold;">mon-fri</span> </td>
+</tr> </tbody> </table> <br> </td> </tr><tr><td style="background-color:
rgb(51, 51, 255); text-align: center;"><big><span style="color: rgb(255,
255, 255); font-weight: bold;"><a name="Phone-in_Dictation"></a>Phone-in
Dictation</span></big></td>
+</tr> <tr> <td><br>MARS Phone-In Dictation
+application is a multi-user dictation system
+that can be used with local telephone or over a VoIP line to allow
+callers to record dictation and deliver it to a receipient
+(transcriptionist) over
+the internet. The system is designed to complement or replace
+the traditional methods of
+recording and message delivery by a decentralised,
+inexpensive appliance.<br> <br>
+The dictation system can set to be used for a single user or multiple
+callers (recorders) and / or receivers (transcriptionnist) accounts.<br>
+<br>Callers accounts can be assigned a given receiver
+account OR
+ can select the receiver account.<br>
+The system can use caller ID to identify the caller or user ID
+/ password.<br> <br>
+Receivers account can be set for each individual user
+(transcriptionist) each with their and delivery mode
+and destination.<br> <br> <big><span style="font-weight:
bold;">Configuration</span></big><br>
+<br> <span class="header">General Phone-In
+Dial </span><br> <br> <input name="UserId" value="1" type="hidden">
<input name="RecAccId" value="100" type="hidden"> <table>
+<tbody> <tr> <th>Sender's Name:</th> <td><input maxlength="64" size="16"
name="SenderName" value=""></td> <td>This will be used to
+identify the system in
+Emails.<br>
+Enter the name that will be printed as the sender in the emails</td>
+</tr> <tr> <th>Callers Account:</th> <td><input
name="use_callers_accounts" value="1" checked="checked" type="checkbox">Use
</td> <td>if this is not
+checked the system will not use any
+caller account. This should be used only <br>
+where there is only one recording user. <br>
+Check to use Callers Accounts to identify callers. <br>
+ICheck to use caller account so that the system will try to
+match the caller ID or ask the callers it's Id and password.</td>
+</tr> <tr> <th>Mailbox Account:</th> <td><input
name="use_mailbox_accounts" value="1" checked="checked" type="checkbox">Use
</td> <td>If unchecked the
+system will use the default
+destination.<br>
+Check if more than one Receiver use the system.<br>
+The system will either use the assigned mailbox or ask the account to
+to caller.<br> </td> </tr>
+<tr><th style="text-align: left;">Archiving:</th><td>
+<select id="Archive" name="Archive" onchange="modechange();"><option
value="USB">USB
+Only </option><option selected="selected" value="BOTH">
+FTP </option></select></td>
+<td>Select FTP to backup all recordings to given FTP server.
+ Set to USB Only for no external backup .</td></tr>
+<tr id="BFTP_Name"><th style="text-align: left;">FTP
+UserName</th>
+<td><input name="BFTP_Name" value="my_username" size="16"
maxlength="64"></td><td>Enter
+Backup FTP user name</td></tr>
+<tr id="BFTP_Pwd"><th style="text-align: left;">FTP
+Password</th>
+<td><input name="BFTP_Pwd" value="my_password" size="16"
maxlength="64"></td><td>Enter
+Backup FTP Password</td></tr>
+<tr id="BFTP_Host"><th style="text-align: left;">FTP
+Host</th>
+<td><input name="BFTP_Host" value="
my_ftp_host.com" size="20"
maxlength="64"></td><td>Enter
+Backup FTP Host</td></tr>
+</tbody></table> <br>The callers account are used to
+identify the users who call -in to
+record dictations.<br> <br> <span class="header"></span><br>
+<input name="UserId" value="1" type="hidden"><input name="RecAccId"
value="100" type="hidden"><table><tbody>
+<form method="post" name="FormUsersAccounts"
action="/cgi-bin/webif/asterisk-accounts.sh"></form> <tr><td colspan="4">
<h3>Callers
+Accounts </h3> </td> </tr> <tr>
+<th>User Name:</th> <td><input maxlength="32" size="16" name="UserName"
value="Noel"></td>
+<td>Name of user<br>
+This will be printed in the email as the sender of the message </td>
+</tr> <tr> <th>Caller ID:</th> <td><input maxlength="16" size="16"
name="CallerId" value="user_caller_id"></td> <td>Tel.No. of user<br>
+This will be used to identify this caller.<br>
+The caller ID will also be prited in the destination email</td> </tr>
+<tr> <th>Password:</th> <td><input maxlength="32" size="16"
name="Password" value="1000"></td> <td>Password. <br>
+If calling from a different caller IId, the caller can use the User No
+and Password to log in.</td> </tr> <tr> <th>Receiver
+Account:</th> <td> <select id="Receiver" name="Receiver"><option
value="UserSelect">
+UserSelect </option><option value="100"> 100 </option><option
selected="selected" value="101">101 </option></select>
+</td> <td>Select the receiver account<br>
+If set to a mailbox account, the system will not ask the caller and
+record in the given maibox account number.<br>
+If set to <span style="font-weight:
bold;">UserSeclect</span>, allows
+this caller to select a destination account number. This
+option can be used when a caller will want to send different dictation
+to different transcriptionnist.<br> </td> </tr> <form method="post"
name="FormMbxAccounts" action="/cgi-bin/webif/asterisk-accounts.sh"></form>
</tbody>
+</table> <br>The Mailbox or receiver's account are used to
+identify the receivers of
+the dictations. This is used when more than one receiver or
+transcriptionnist user will use the system.<br> <br> <input name="UserId"
value="1" type="hidden"> <input name="action" value="SaveMailboxAccount"
type="hidden">
+<input name="RecAccId" value="100" type="hidden"><table><tbody><form
method="post" name="FormUsersAccounts"
action="/cgi-bin/webif/asterisk-accounts.sh"></form> <form method="post"
name="FormMbxAccounts" action="/cgi-bin/webif/asterisk-accounts.sh"></form>
<tr>
+<td colspan="4"> <h3>Mailboxes Accounts
+(Inbox) </h3> </td> </tr> <tr> <th>Account:</th>
+<td> <select id="RecAccId" name="RecAccId"
onchange="document.FormMailboxSel.submit();"><option selected="selected"
value="100">100 </option></select>
+</td> <td>Select the user account<br>
+Select an account number to create or edit it.</td> </tr> <tr>
+<th>Name:</th> <td> <input maxlength="32" size="16" name="MailboxName"
value="Noel"></td>
+<td>Name of user.<br> </td> </tr> <tr>
+<th>Password:</th> <td> <input maxlength="32" size="16" name="MbxPwd"
value="100"></td>
+<td>Password. </td> </tr> <tr> <th>Delivery
+mode:</th> <td> <select id="DelMode" name="DelMode"><option value="None">
None </option><option selected="selected" value="EMail">Email
</option><option value="FTP"> FTP </option><option value="Both">
+Both </option></select> </td> <td>Select the
+delivery mode of recordings<br>
+Select if message should be delivered by Email
+or FTP or none
+to leave the message on <br>
+the system when you want to access the message localy through
+the WWW interface using a
+regular browser.</td> </tr> <tr> <th>EMail
+</th> <td><input name="EMail" value="
noe...@teledata.qc.ca" size="16"
maxlength="64" type="text"></td> <td>Enter the email whe the
+message for this user will be delivered. Used if email delivery
+selected.</td> </tr>
+<tr><th>Delivery mode:</th><td>
+<select id="DelMode" name="DelMode" onchange="modechange();"><option
value="None">
+None </option><option selected="selected" value="EMail">
+Email </option><option value="FTP"> FTP </option></select></td>
+<td>Select the delivery mode of recordings</td></tr>
+<tr id="DelEMail"><th>EMail </th>
+<td><input name="EMail" value="my_email@my_isp" size="20"
maxlength="64"></td></tr><tr id="FTP_Name"><th>FTP UserName</th>
+<td><input name="FTP_Name" value="dest_ftp_username" size="16"
maxlength="64"></td><td>Enter
+Mailbox FTP user name for the user of this mailbox.</td></tr>
+<tr id="FTP_Pwd"><th>FTP Password</th>
+<td><input name="FTP_Pwd" value="ftp_pwd" size="16"
maxlength="64"></td><td>Enter
+Mailbox FTP password for the user of this mailbox.</td></tr>
+<tr id="FTP_Host"><th>FTP Host</th>
+<td><input name="FTP_Host" value="dest_ftp_host" size="20"
maxlength="64"></td><td>Enter
+Mailbox FTP host for the user of this mailbox.</td></tr>
+<tr><td colspan="4"><h3></h3></td></tr>
+</tbody> </table> <br></td> </tr> <tr>
+<td> <hr style="width: 100%; height: 2px;"></td>
+</tr> <tr><td><span class="title">Using
+the Phone-In Dictation
+system</span><br> <br> <span class="title">Recording
+a dictation.<br> </span>The recording of dictations is
+done by calling in and
+follow a simple voice menu. Once the caller and the destination mailbox
+have been identified the caller is asked to the main menu. At this
+point, the system will ask to enter a recording number. <br>
+Recordings are identified by a recording number, which allows to
+identify the recordings and to resume recording in a
+subsequent
+call. <br> <span style="font-weight: bold;"><br>
+Record and Playback mode</span><br>
+If the given recording number is a new recording, the system will
+switch to recording mode. <br>
+If a recording with the given number already exists, the system will
+swich to playback mode. <br> <br> <span style="font-weight:
bold;">Record mode</span><br>
+Press the "1" key to start recording and the pound (#) key to stop.
+ Make sure you talk clearly and directly in the
+telelephone
+microphone when recording. <br>
+After recording you can use the "3" key to switch to playback mode.
+ The "9" key is used to erase the current recording and start
+over. <br>
+Once a recording is completed it can be left for later addition or sent
+to the destination by pressing the "0" key.<br> <br>
+Record Menu<br> <span style="font-style: italic;">Press
+"1" to start recording.</span><br style="font-style: italic;">
+<span style="font-style: italic;">Press "3" to switch to
+playback mode.</span><br style="font-style: italic;">
+<span style="font-style: italic;">Press "9" to
+erase and start over this recording.</span><br style="font-style:
italic;"> <span style="font-style: italic;">Press "0" to close and send this
+recording.</span><br style="font-style: italic;"> <span style="font-style:
italic;">Press the * Key to go back to
+the main menu.</span><br> <br> <span style="font-weight: bold;">Playback
Mode</span><br>
+While in playback mode some pre-defines keys allows to rewind, paus and
+go forward as follow:<br>
+Press the "1" key to start playback. <br>
+Press "4" to 'rewind' 1/10 of the duration of the
+recording.<br>
+Press "5" to pause and restart playback<br>
+Press "6" to go forward 1/10 of the duration of the
+recording.<br>
+Press "0" to start from the beginning.<br>
+Press the "#" key to stop playback and go back to the menu.<br>
+<br>Playback menu.<br> <span style="font-style: italic;">Press
+"1" to start playback.</span><br style="font-style: italic;">
+<span style="font-style: italic;">Press "3" to switch to
+recording mode.</span><br style="font-style: italic;">
+<span style="font-style: italic;">Press "0" to close and
+send this recording.</span><br style="font-style: italic;">
+<span style="font-style: italic;">Press the * Key to go
+back to the main menu.</span><br> <br> <span class="title">Using with
local extensions</span><br>
+The system can be used with VoIp devices, that is VoIP phones,
+sofware phones running on a PC with sound card, conventional telephone
+with ATA adapter or VoIP WI-FI phone, that are connected
+either
+directly or remotely to the system as extensions. The VoIP
+telephones can be connected directly to the device through the local
+area network or directly on one of the 4 network connector on the
+appliance itself. It is also possible to log on to the device
+as
+a normal extension from a remote location over the internet. Up to 8
+extensions can be accomodated and these can be connected either
+directly to the device, trough the LAN or event remotely over the
+Internet.<br> <br> <span class="title">Accessing
+the system from a local extension</span><br>
+To access the dictation system from a local or remotely connected
+extension, dial the 3 digits number (from 100 to 131) of the
+destination mailbox you whish to record to. In the case of a
+single destination use the mailbox number 100.<br> <br> <span
class="title">
+Using with VoIP line</span><br> The system can also use a
+normal VoIP line using the standard
+SIP protocol as provided by numerous services providers. The
+dictation system can then be accessed by calling a normal telephone
+number from any regular or mobile.phone. Many VoIp provider offer 'pay
+as you go' formulas that allow you to receive several simultaneous
+calls for a very low rate (as low as less tha 1 c / min) from
+the
+whole country. Refer to the system configuration for more
+info on
+configuration.<br> <br> <span class="title">
+Recordings </span><br>
+All recordings are archived in the system's USB memory that serve as a
+static storage . The recordings are accessible through the web
+interface by selecting Asterisk and Recordings on the menu.
+Here
+is the recording's web interface<br> <br> <br> <table style="text-align:
left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2"
cellspacing="1"> <tbody>
+<tr> <td colspan="1"> <h3>New Recordings</h3>
+</td> <td colspan="4" align="center"> <h3>Help</h3>
+</td> </tr> <tr> <th>Account: </th>
+<td> <form method="post" name="AccountSelect"
action="/cgi-bin/webif/asterisk-recordings.sh"> <select id="Account"
name="Account" onchange="document.AccountSelect.submit();"><option
selected="selected" value="100"> 100 </option><option value="101"> 101
</option><option value="102">
+102 </option><option value="103"> 103 </option><option value="104"> 104
</option><option value="105">
+105 </option><option value="106"> 106 </option><option value="108"> 108
</option><option value="109">
+109 </option></select> </form> </td> <td colspan="3">Select the receiver
account</td> </tr>
+<tr> <th>Rec.</th> <th>Date</th> <th>Size</th>
+<th>Send</th> <th>Archive</th> </tr> <tr>
+<th><a href="
http://192.168.1.10/dictate/100/3-1.WAV">3-1.WAV</a></th>
+<td> Mon Dec 22 10:17:19</td> <td> 34316</td>
+<td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=SendVEmail&Fname=/mnt/disc0_1/asterisk/dictate/100/3-1.WAV&Account=100">Send
+VEmail</a></td> <td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=ArchiveFile&Fname=/mnt/disc0_1/asterisk/dictate/100/3-1.WAV&Account=100">Archive</a></td>
+</tr> <tr> <th><a
href="
http://192.168.1.10/dictate/100/3-2.WAV">3-2.WAV</a></th>
+<td> Mon Dec 22 10:21:57</td> <td> 46016</td>
+<td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=SendVEmail&Fname=/mnt/disc0_1/asterisk/dictate/100/3-2.WAV&Account=100">Send
+VEmail</a></td> <td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=ArchiveFile&Fname=/mnt/disc0_1/asterisk/dictate/100/3-2.WAV&Account=100">Archive</a></td>
+</tr> <tr> <th><a
href="
http://192.168.1.10/dictate/100/3-4.WAV">3-4.WAV</a></th>
+<td> Mon Dec 22 11:29:00</td> <td> 34966</td>
+<td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=SendVEmail&Fname=/mnt/disc0_1/asterisk/dictate/100/3-4.WAV&Account=100">Send
+VEmail</a></td> <td> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=ArchiveFile&Fname=/mnt/disc0_1/asterisk/dictate/100/3-4.WAV&Account=100">Archive</a></td>
+</tr> <tr> <td colspan="5"> <h3>Archive</h3>
+</td> </tr> <tr> <td colspan="5"> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/12-2008&Account=100">12-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/11-2008&Account=100">11-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/10-2008&Account=100">10-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/09-2008&Account=100">09-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/08-2008&Account=100">08-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/07-2008&Account=100">07-2008</a>
+</td> </tr> <tr> <td colspan="5"> <a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/06-2008&Account=100">06-2008</a>
+<a
href="
http://192.168.1.10/cgi-bin/webif/asterisk-recordings.sh?action=BrowseArchive&Fname=/mnt/disc0_1/asterisk/dictate/100/archive/01-2009&Account=100">01-2009</a>
+</td> </tr> </tbody> </table> <br>A
+list allow to select the destination mailbox for which the
+currently active recording are displyed. Once a recording is closed and
+sent it will be archived in a sub directory defined by
+the month
+and year the recording was done. Recordings are named with se
+sender's number followed by the recording number.<br> <br>
+<span style="font-weight: bold;">Recording playback and
+downlowd from a web browser.</span><br>
+To play a recording, simply clink on the link formed by the
+recording name. The recording can also be download on you local disk by
+right click on the link ans selecting "Save Link as" or a similar
+function. <br> <br>
+The recording can be sent to the destination as define by the mailbox
+account by seleting the "<span style="font-weight: bold;">Send
+VEmail</span>" link . <br>
+Finally the recording can be archived by selection the "<span
style="font-weight: bold;">Archive</span>" link. This
+will move the recording file to the archive directory.<br> <br>
+Recordings Archive<br>
+All the recordings are archived in the USB memory in a
+sub directory defined by the month and year the
+recording was
+done. You can select the month and year directory in the Archive
+display. The display is similar except for file names which are
+prepended the full date plus a sequence number that
+insure
+unique names.<br> </td> </tr> <tr> <td style="text-align: center;
background-color: rgb(51, 51, 255);"><big><span style="font-weight: bold;
color: rgb(255, 255, 255);"><a name="Dialer"></a>Automated
Dialer</span></big></td>
+</tr> <tr> <td><br>MARS Automated Dialer
+offers sophisticated features with an easy to
+use Web based interface to allow you to prepare and save
+calling lists.<br>
+You can create up to 9 different lists with different phone
+numbers lists, messages and applications. You can
+then run
+the lists at any time you wish. <br> <br> <table style="text-align:
left; width: 100%;" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr>
+<th>Call List Management</th> <td>This allow you to
+select one of the call list for
+creation / edition </td> </tr> <tr> <th>Call
+List Name:</th> <td>This is the name given to
+this call list.
+Informational only.</td> </tr> <tr> <th>Source
+Caller ID:</th> <td>This will be set as the source caller
+ID for the
+outgoing calls. Note that certain ISP will not allow you to change
+this, and in this case, will have no effect.</td> </tr> <tr>
+<th>Application:</th> <td>Select one of the
+application that will be run
+after the call has been replied.<br> <table style="text-align: left;
width: 100%;" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr>
+<th>Call and play Message</th> <td>Call and then
+play the message and the menu
+for message acknowledgment and hangup.</td> </tr> <tr>
+<th>Call and Xfer to Extension</th> <td>Call, play
+the message and then offer to
+talk to an agent by pressing the "0" key.</td> </tr> <tr>
+<th>Call and Xfer to queue</th> <td>Call, play
+the message and then
+offer to talk to an agent by pressing the "0" key. Use the queue
+defined in the Queue menu for agents extensions.</td> </tr>
+<tr> <th>Call, play and Voice Mail</th> <td>Call,
+play the message and then offer to
+leave a message to Voice Mail. The message is left in the mailbox of
+the
+define extension. (see below)</td> </tr> <tr> <th>Call
+and Xfer on answer.</th> <td>Call and transfer immediatly
+after the call
+is answered . The call is transfered to the given extension (see
below)</td>
+</tr> </tbody> </table> </td> </tr> <tr><th>Wait
+Time:</th> <td>The time to wait after call
+initiation before
+assuming there was no answer (in secs.)</td> </tr> <tr>
+<th>Extension / Voice Mail:</th> <td>Extension or
+Voice Mailbox to transfer the call
+after the user asks or for the predictive dialer aplplication.</td>
+</tr> <tr> <th>Trunk:</th> <td>Trunk
+to use for outgoing calls (default to SIP
+registration 1)</td> </tr> <tr> <th>Max.
+Calls per Trunk:</th> <td>Number of simultaneous calls to
+place on the line.</td> </tr> <tr> <th>Send
+Email Report:</th> <td>Send an email report of the results
+at the end of
+the call list. The report is sent using the SMTP server and the email
+destination address define in the System menu</td> </tr> <tr>
+<th>Call Prefix:</th> <td>Some ISPs may
+require to use the "1" for
+long distance
+number. You can either add it to your phone number list
+ or
+use the 10 digits number and enter the "1" prefix here.</td> </tr>
+<tr> <th>Prompts::</th> <td>Display if the
+prompts are present. Call and
+select *93 to record these. You can also upload a prompt recorded in
+studio from your system hard drive. Select the prompt displayed in the
+list, then select a file and the click the UploadPrompt button. These
+prompts must be recorded in "Raw muLaw". Contact us if you need help to
+convert your recordings to the required format.</td> </tr>
+<tr> <th>Activity Traces</th> <td>Display the
+call results. Press the refresh
+button to get a new display.</td> </tr> </tbody> </table>
+<br class="header title"> <span class="title">Creating
+a call list</span><br> <br>
+To create a call list, select the Dialer Sub-Menu under the Asterisk
+menu
+option. You can create up to 9 different lists with different
+features.<br>
+First select the call list number, using the call list List Management
+selection list and the press the "refresh" button to activate it. The
+select and enter the desired parameters and click the SaveDef button to
+save the currently selected call list. <br> <br> <span
class="title">Loading the Call List</span><br> <br>
+Once the required parameters are selected and the list saved you can
+upload a call list of numbers. This is a ascii text file that contains
+one phone number per line.<br> <br> <span
class="title">Recording</span><br>
+<br>The Dialer uses up to four user recorded prompts. These are:<br>
+<span style="font-weight: bold;">Intro:</span>
+ This is the first prompt played after the call is answered.
+It should contains a introduction message: Ex: "<span style="font-style:
italic;">Hello! Here is a message from ...</span>"<br>
+<span style="font-weight: bold;">MainMsg</span>:
+This is the main message you want to be played to the callee.<br>
+<span style="font-weight: bold;">Menu:</span>
+This is the menu played after the main message. This should offer to:<br>
+Acknowledge reception of the message. Option "1".<br>
+To repeat the main message. Option "2"<br>
+To hang up. Star Key <br>
+Depending on the application, offer to transfer to an agent or to leave
+a message. Option "0".<br>
+Here is an example of a menu prompt for the "Transfer to extension
+application":<br> <br> <span style="font-style: italic;">To acknowledge the
+reception of theis message, press "1".</span><br style="font-style:
italic;"> <span style="font-style: italic;">To repeat the
+message, Press "2".</span><br style="font-style: italic;">
+<span style="font-style: italic;">If you wish to
+talk to one of our agent, press "0".</span><br style="font-style:
italic;"> <span style="font-style: italic;">To hangup, press
+the start key.</span><br style="font-style: italic;">
+<br> <span style="font-weight: bold;">Bye:</span>
+This is the parting prompt: Ex: "Thank you for listening to this
+message. Goodbye !"<br> <br>
+You can record these message by calling the system from any extension
+and selection *93. Select the Call List Number, then the prompt. You
+can playback, record or delete the selected prompt from the selected
+list.<br> <br>
+You can also upload a prompt from your system hard disc. These prompts
+must be recorded in "Raw muLaw" format. Please contact us if you need
+to have some of your recordings converted.<br> <br> <span
class="title">Starting a Campaign</span><br> <br>
+Once a call list has been defined, the call list uploaded and the
+prompts
+recorded it is ready to be used. To start calling the numbers, press
+the "Start" button. You can pause an ongoing call list by pressing the
+:Stop" button and resume it by pressing the "Resume" button.<br> <br>
+You can have a refreshed display of the Call Activity by pressing the
+"Refresh" button.<br>
+A line will be displayed when a call is sent in the queue and at the
+end of the call, the result, acknowledge status and
+duration of the
+call (if answered).<br>
+Once the call list is terminated and all call have finished, a summary
+of the campaign will be displayed and sent to the manager by
+email
+if this option has been selected for this call list.<br>
+<br> </td> </tr> <tr class="header"> <td class="header" style="color:
rgb(255, 255, 255); background-color: rgb(51, 51, 255);"><big><a
name="Formulaire_WebCall"></a>Webcall Form</big></td>
+</tr> <tr> <td> <table style="text-align: left; width: 90%;" border="0"
cellpadding="2" cellspacing="4"> <tbody> <tr><td><br>The
+WebCall form is displayed on your site and is used to transmit the
+call request to the MARS system. This form can be used in any
+WWW page to send a command to your MARS system to initiate an outbound
+call in between the given extension to the user entered phone number.<br>
+<br> <table style="width: 90%; text-align: left; margin-left: auto;
margin-right: auto;" border="1" cellpadding="2" cellspacing="2"> <tbody>
+<tr> <td>Here is the HTML code form the WebCall form
+shown on the right.<br>
+A HTML table is used for better control of the presentation.<br>
+Note: For more clarity the style codes have been omitted. You can copy
+the whole form HTML code from the textarea box below.<br> <br>
+</td> <td style="text-align: center;" rowspan="10"><form
onsubmit="return(checkTelNo(NetCall.TelNo.value));" name="NetCall"
enctype="application/x-www-form-urlencoded" method="post"
action="
http://td-mars.dyndns.org:32345/cgi-bin/webcall.sh"><input
name="User1" value="" type="hidden"><input name="User2" value=""
type="hidden"> <table style="width: 280px; height: 120px; text-align: left;
margin-left: auto; margin-right: auto;" border="0" cellpadding="1"
cellspacing="1"> <tbody><tr style="font-weight: bold; color: rgb(255, 255,
255);" align="center"> <td style="text-align: center; background-color:
rgb(0, 0, 153);" class="TableHead" colspan="2">Call Me Now !</td>
+</tr> <tr> <th>First Name</th> <td><input maxlength="15" size="15"
name="FirstName"></td>
+</tr> <tr> <th>Last Name</th> <td><input maxlength="15" size="15"
name="LastName"></td>
+</tr> <tr> <th>Company</th> <td><input maxlength="32" size="15"
name="Company"></td>
+</tr> <tr> <th>Email</th> <td><input maxlength="31" size="15"
name="Email"></td>
+</tr> <tr> <th><small>Area Code +
+Tel.No.</small><br> <small><small>(10 digits)<br>
+Ex:
5145551212</small></small></th> <td><input title="Entrez votre no. de
tél. de 7 chiffres" maxlength="10" size="10" name="TelNo"></td> </tr> <tr>
+<td style="background-color: rgb(0, 0, 153);" colspan="2"><input
name="step" value="1" type="hidden"></td></tr><tr><td style="text-align:
center;" colspan="2"><input name="AccountNo" value="200"
type="hidden"><input name="Language" value="F" type="hidden"><input
name="Submit" value="Call Me Now !" type="submit"></td>
+</tr><tr> <td style="background-color: rgb(0, 0, 153);" colspan="2"></td>
</tr> </tbody> </table><br></form>
+</td> </tr> <tr> <td><form <span style="font-style:
italic;"></span> name="NetCall"
+enctype="application/x-www-form-urlencoded" method="post"<br>
+ <span style="font-weight:
bold;">action="http://<YOUR_MARS_URL>:32345/cgi-bin/webcall.sh"</span>></td>
+</tr> <tr> <td><table border="0"
+cellpadding="1" cellspacing="1"><br>
+<tbody><tr align="center"><br>
+<td colspan="2">Appelez
+Moi !</td></tr></td> </tr> <tr>
<td><tr><th>Pr&eacute;nom</th><br>
+<td><span style="font-weight: bold;"><input
+ maxlength="15" size="15"
+name="FirstName"></span></td></tr></td> </tr>
+<tr> <td><tr><th>Nom</th><br>
+<td><span style="font-weight: bold;"><input
+ maxlength="15" size="15"
+name="LastName"></span></td></tr></td> </tr>
+<tr> <td><tr><th>Compagnie</th><br>
+<td><span style="font-weight: bold;"><input
+maxlength="32" size="15"
name="Company"></span></td></tr></td>
+</tr> <tr> <td><tr><th>Courriel</th><br>
+<td><span style="font-weight: bold;"><input
+maxlength="31" size="15" name="Email"></span></td></tr></td>
+</tr> <tr> <td><tr><th>Code Reg.
++ Tel.No.(10 chiffres) Ex:
5145551212</th><br>
+<td> <span style="font-weight: bold;"><input
+ maxlength="10" size="10"
+name="TelNo"></span></td></tr></td> </tr>
+<tr>
<td><tr><td colspan="2"></td></tr><br>
+<tr><td
+colspan="2"><br> <span style="font-weight: bold;"><input
+ name="AccountNo"
+value="200" type="hidden"></span><br> <span style="font-weight:
bold;"><input
+ name="Language" value="F" type="hidden"></span></td>
+</tr> <tr> <td><span style="font-weight: bold;"><input
+name="Submit" value="Call Me Now !" type="submit"></span><br>
+</td></tr><br>
+<tr><td
+style="background-color: rgb(0, 0, 153);"
+colspan="2"></td></tr><br>
+</tbody></table><br>
+</form></td> </tr> <tr> <td></td>
+<td></td> </tr> <tr align="center"> <td colspan="2"><textarea cols="80"
rows="24" name="WebCallFormText"><form
+name="NetCall" enctype="application/x-www-form-urlencoded"
+method="post"
+action="http://<YOUR_MARS_URL>:32345/cgi-bin/webcall.sh"><input
+name="User1" value="" type="hidden"><input name="User2" value=""
+type="hidden"><table style="width: 280px; height: 120px;
+text-align: left; margin-left: auto; margin-right: auto;" border="0"
+cellpadding="1" cellspacing="1"><tbody><tr
+style="font-weight: bold; color: rgb(255, 255, 255);"
+align="center"><td style="text-align: center; background-color:
+rgb(0, 0, 153);" class="TableHead" colspan="2">Appelez Moi
+!</td></tr>
+<tr><th>Pr&eacute;nom</th><td><input
+maxlength="15" size="15"
+name="FirstName"></td></tr><tr><th>Nom</th><td><input
+maxlength="15" size="15"
+name="LastName"></td></tr><tr><th>Compagnie</th><td><input
+maxlength="32" size="15"
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/PhoneSetup_en.html Sat Nov 14 22:46:08
2009
Binary file, no diff available.
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/UserManual_en.html Sat Nov 14 22:46:08
2009
@@ -0,0 +1,967 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+
+
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+
+
+
+ <title>MARS: User's Manual</title>
+ <style media="all" type="text/css">
+td { font-family: Arial;
+}
+th { background-color: rgb(51, 51, 255);
+color: rgb(255, 255, 255);
+font-weight: bold;
+font-size: larger;
+}
+.title { font-weight: bold;
+font-size: larger;
+text-align: center;
+}
+ </style>
+
+ <meta content="Noël Bouchard, Tele Data Inc." name="author">
+</head>
+
+<body>
+
+<table style="text-align: left; width: 90%;" border="0" cellpadding="2"
cellspacing="4">
+
+ <tbody>
+
+ <tr>
+
+ <td style="background-color: rgb(51, 51, 255);" colspan="3"><br>
+
+ </td>
+
+ </tr>
+
+ <tr class="title">
+
+ <td style="text-align: center;" colspan="1">MARS<br>
+
+A small hybrid PBX embedded in a WI-FI router.<br>
+
+User Manual</td>
+
+ </tr>
+
+ <tr>
+
+ <td style="background-color: rgb(51, 51, 255);" colspan="1"><br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td style="vertical-align: top; text-align: left;" colspan="1"><br>
+
+ <span class="title" style="font-weight: bold;">1- <a
href="#Placer_un_appel">Place a call</a></span><br>
+
+
+ <div style="margin-left: 40px;">General rules<br>
+
+Internal calls (inter extensions)<br>
+
+Local calls<br>
+
+Long distance calls<br>
+
+International calls<br>
+Placing a call using another system lines<br>
+
+ <br>
+
+ </div>
+
+ <span class="title" style="font-weight: bold;">2- <a
href="#Transfert_dappels">Call Transfers</a></span><br>
+
+
+ <div style="margin-left: 40px;">Supervised transfer<br>
+
+Blind transfer<br>
+
+Call parking. </div>
+
+ <br>
+
+ <span class="title">3- <a href="#Fonctions">Functions</a></span><br>
+
+ <br>
+
+ <span class="title" style="font-weight: bold;">4- <a
href="#R%E9ceptioniste_automatis%E9">Automated attendant</a><br>
+
+ </span>
+
+ <div style="margin-left: 40px;">Recording the menus</div>
+
+ <br>
+
+ <span class="title" style="font-weight: bold;">5- <a
href="#Messagerie_Vocale">Voice Mail</a></span><br>
+
+ <br>
+
+ <span class="title" style="font-weight: bold;">6- <a
href="#WebCall">WebCall</a></span><br>
+
+ <br>
+
+ <span class="title" style="font-weight: bold;">7- <a
href="#Passerelle_VoIP">Cell to VoIP gateway</a></span><br>
+
+ <br>
+
+ <span class="title" style="font-weight: bold;"><span
style="text-decoration: underline;"></span></span></td>
+
+ </tr>
+
+ <tr>
+
+ <td class="title" style="background-color: rgb(51, 51, 255);
text-align: center;" colspan="1"><span style="color: rgb(255, 255,
255);"><a name="Placer_un_appel"></a>Place a call</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td style="vertical-align: top;"><br>
+
+ <span class="title">General rules</span><br>
+
+ <br>
+
+
+ <div style="margin-left: 40px;">As a general rule, when dialing
+an external number you must always dial <span style="font-weight:
bold;">"9"</span> first, followed by the
+telephone number.<br>
+
+Most of the entries needs to be terminated either by using
the '<big><span style="font-weight: bold;">#</span></big>"' (pound)
key or by pressing
+the telephone's '<span style="font-weight: bold;">Send</span>' button.<br>
+
+ <br>
+
+ </div>
+
+ <span class="title">Internal calls</span>
+
+ <div style="margin-left: 40px;">To call an internal extension,
+simply dial the 3 digits extension and terminate with the '#' key (or
+press the send button) Ex: <span style="font-weight:
bold;">201#</span></div>
+
+ <br>
+
+ <span class="title">External calls</span><br>
+
+
+ <div style="margin-left: 40px;">To
+place an external call from an extension, you must first dial the '9'
+to get an external line, followed by the full 10 digits telephone
+number you wish to reach and terminate with the '#' key (or
+'Send'). Ex: <span style="font-weight: bold;">9
5145551212 #</span>.
+ <br>
+
+ <br>
+
+You
+can also place a call within you own area code (as defined
+in the configuration) by omitting the area code and dialing the
+number as a 7 digits number. For instance, if you dial <span
style="font-weight: bold;">9 5551212 # </span>the system will insert
+ your area code in front of the number before placing the call.<br>
+
+ <br>
+
+If you hear a fast busy tone, it means that all external lines are
busy.<br>
+
+ </div>
+
+ <br>
+
+ <span class="title">Long distance calls</span><br>
+
+
+ <div style="margin-left: 40px;">The
+best way to place a long distance call is to dial it as a local call,
+that is, as a 10 digits number, without pre pending a "1" in front of
+the number.<br>
+
+Ex: <span style="font-weight: bold;">9
4185551212 #. </span>The
+system will then use it's database of local prefixes to determinate if
+the call is local or long distance and will route the call accordingly.<br>
+
+ </div>
+
+ <br>
+
+ <span class="title">Tool free calls</span><br>
+
+
+ <div style="margin-left: 40px;">To call a 'tool free' number,
+ using the <span style="font-weight: bold;">800, 866,
+877, 888 </span>prefixes, you can enter or not the "1"
+prefix. That is you can dial "<span style="font-weight: bold;">9
+1800 5551212 #</span>" or "<span style="font-weight: bold;">9
+8005551212 #</span>". The system will recognize the 'tool free' number
+and use the PSTN line in priority.<br>
+
+.<br>
+
+ </div>
+
+ <span class="title">International calls</span><br>
+
+
+ <div style="margin-left: 40px;">For the international calls, you
+must dial the 011 prefix as usual. Ex: "<span style="font-weight:
bold;">9 011 46701234567 #".<br>
+
+ <br>
+
+ </span></div>
+
+ <span class="title">Force PSTN call</span><br>
+
+
+ <div style="margin-left: 40px;">You can force a call to use the
+conventional line (PSTN) by using the prefix "8" rather than the "9".
+For example, <span style="font-weight: bold;">8
5145551212 #.<br>
+
+ </span>For a long distance call you must then use the "1" prefix
+as in: Ex: <span style="font-weight: bold;">8 1 418 5551212 #</span>.
+The "8" prefix indicate to use only the PSTN line.<br>
+ <br>
+ </div>
+
+ <span class="title">Force VoIP Call.</span><br>
+ <div style="margin-left: 40px;">You can also tell the system to use
a VoIP line exclusively by using the "7" prefix instead of the "9". For
instance: : <span style="font-weight: bold;">7
5145551212 #.<br>
+ </span>For a long distance call, you must not enter the "1"
prefix. Ex: <span style="font-weight: bold;">7
4185551212
#</span>. The "7" prefix indicate to the system to use a VoIP line only.<br>
+ <br>
+ </div>
+ <span class="title">Place a call using the lines of another
system.<br>
+ </span>
+ <div style="margin-left: 40px;">When
+MARS system are interconnected, it makes possible to use the
+external line of a remote system to place a call. For instance the
+extension "200" on a system A in a given area code can place a call
+using the external lines of system B located in a different area code.
+To use a remore server's lines to place a call, preoend the 10 digits
+telephone number you wish to cal with " <span style="font-weight:
bold;"><big>*</big> <Server No></span>" (start followed by the server
number (1-4), rather than the usual "9" prefix. For instance, call "<span
style="font-weight: bold;"><big> *</big>2 418 5551212 # </span>"
+to dial the given number on server # 2 (Ext: 300-303) from an extension
+on server # 1 (Ext: 200-203). In the other direction, call
+ " <span style="font-weight: bold;"><big> *1</big>
514 5551212 # "
from an extension on system # 2</span> (Ex: 300) to use a line on server #1
to place the call.<br>
+ <br>
+ </div>
+
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td style="background-color: rgb(51, 51, 255);" class="title"
colspan="1"><span style="color: rgb(255, 255, 255);"><a
name="Transfert_dappels"></a>Call Transfers</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+After
+receiving a call, it is very easy to transfer the call to another
+extension or even to an external number. The system offers two modes of
+call transfers. The "supervised" transfer and the "non supervised" or
+"blind" transfer.<br>
+
+ <br>
+
+ <span class="title">Supervised transfer.</span><br>
+
+
+ <div style="margin-left: 40px;">After having answered the call,
+enter the sequence "<span style="font-weight: bold;"> <big>*</big>
+0 </span>" (<span style="font-weight: bold;">star followed by
zero</span>)..
+You will then hear "Transfer". Dial the 3 digits number of the
+extension you wish to transfer the call to. Example: 201. You can then
+talk with your colleague to announce the call transfer. After you
+hang-up, the caller will immediately be connected. <br>
+
+Note: The "Transfer Key" of your telephone can only be used to do a
+"blind" call transfer. (See below.)<br>
+
+ </div>
+
+ <br>
+
+ <span class="title">Blind transfer</span><br>
+
+
+ <div style="margin-left: 40px;">For a blind transfer, enter
+the sequence: "<span style="font-weight: bold;"> # 0 </span>"
+(<span style="font-weight: bold;">pound followed by zero</span>)
+(or use the "Transfer" key on your telephone.) and enter the 3 digits
+number of the extension you wish to transfer the call to.
+ Contrary to the supervised transfer, you will be disconnected
+immediately and the caller will be connected to the destination
+extension, without allowing you to talk to the the person at the
+destination extension.<br>
+
+ <br>
+
+ </div>
+
+ <span class="title">External transfer</span><br>
+
+
+ <div style="margin-left: 40px;">To
+transfer an incoming call to an external transfer, proceed as explained
+above with the "# 0" or "* 0" sequence and enter the "9" followed by
+the 10 digits external number and terminate with "#" (or send)<span
style="font-weight: bold;"></span><span style="font-weight: bold;"></span>.
+Example:
+ <span style="font-weight: bold;">9 514555 1212 #.<br>
+
+ </span></div>
+
+ <br>
+
+ <span class="title">Call parking</span><br>
+
+
+ <div style="margin-left: 40px;">Rather than transferring a call,
+it can sometimes be useful to "Park" the call and retrieve it from a
+different extension.<br>
+
+To "park" a call, do a supervised call transfer (as explained above) to
+the extension number "<big><span style="font-weight:
bold;">700</span></big>".
+The system will then tell you the extension number to be used to
+retrieve the call from any other extension. (Usually "<span
style="font-weight: bold;">701</span>"). To get the parked call back,
+ enter the parked extension number (701) followed by the pound key
+("#"). Ex: <span style="font-weight: bold;">701#</span><br>
+
+ <br>
+
+ </div>
+
+ <br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td class="title" style="text-align: center; background-color:
rgb(51, 102, 255);" colspan="1"><span style="color: rgb(255, 255, 255);"><a
name="Fonctions"></a>Features / Functions</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td colspan="1"><br>
+
+Here is a list of the features accessible from all
+connected extensions.<br>
+
+ <br>
+
+
+ <table style="width: 90%; text-align: left; margin-left: auto;
margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Unconditional Call Transfer (cancellation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *70</big></td>
+
+ <td>Call this to cancel unconditional call transfer</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Unconditional Call Transfer (activation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *71</big></td>
+
+ <td>Activates Unconditional Call Transfer to the given
+extension or external phone number.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Call Transfer on Busy (cancellation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *72</big></td>
+
+ <td>Cancellation of the Call Transfer on Busy</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Call Transfer on Busy (activation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *73</big></td>
+
+ <td>Activation of the call transfer when your extension is
+busy. </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Do Not Disturb (cancellation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *74</big></td>
+
+ <td>Cancellation of the "Do Not Disturb" feature</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Do Not Disturb (activation)</td>
+
+ <td style="font-weight: bold; text-align:
center;"><big> *75</big></td>
+
+ <td>Activation of the Cancellation of the "Do Not Disturb"
+feature. Call directed to the voice mail.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Clock</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *76</big></td>
+
+ <td><br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Extension </td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *77</big></td>
+
+ <td>Give the extension number you are calling from (test)</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Echo Test</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *78</big></td>
+
+ <td>Replay what you say in real time.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Automated Attendant (Activation)</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *80</big></td>
+
+ <td>Activation of the Automated Attendant (default)</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Automated Attendant (Deactivation)</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *81</big></td>
+
+ <td>Deactivation of the Automated Attendant. Calls are
+directed to the call queue or to the manager extension according to the
+configuration.</td>
+
+ </tr>
+
+ <tr>
+
+ <td><span style="font-weight: bold;">WebCall</span>
+(Activation)</td>
+
+ <td style="text-align: center;"><big><span style="font-weight:
bold;"> *82</span></big></td>
+
+ <td>WebCall available (default)</td>
+
+ </tr>
+
+ <tr>
+
+ <td><span style="font-weight: bold;">WebCall</span>
+(Deactivation)</td>
+
+ <td style="text-align: center;"><big><span style="font-weight:
bold;"> *83</span></big></td>
+
+ <td>WebCall not available. Users will receive a message
+saying that the service is not currently available.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Temporary unavailable (Cancellation)</td>
+
+ <td style="text-align: center;"><big><span style="font-weight:
bold;"> *84</span></big></td>
+
+ <td>Deactivation </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Temporary unavailable (activation)</td>
+
+ <td style="text-align: center;"><big><span style="font-weight:
bold;"> *85</span></big></td>
+
+ <td>Send all calls to the manager voice mailbox, until
+deactivated.</td>
+
+ </tr>
+
+ <tr>
+
+ <td><span style="font-weight: bold;">Web Audio</span></td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *88</big></td>
+
+ <td>Enter the 3 digits program number or "000" to get the
+list by email.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Status AA, WebCall and TA</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *89</big></td>
+
+ <td>Give the status of the automated attendant, WebCall and
+the "Temporarily Unavailable" .</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Welcome message recording.</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *90</big></td>
+
+ <td>Allows to record your personalized Automated
+Attendant's "Welcome" message.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Main Menu recording (default language)</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *91</big></td>
+
+ <td>Allows to record the AA main menu in the main language</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Main Menu recording (second language)</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *92</big></td>
+
+ <td>Allows to record the AA main menu in the second
+language (if used).</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Voice Mailbox access </td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *98</big></td>
+
+ <td>Direct access to the extension's Voice Mailbox .</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Any Voice Mailbox access </td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> *99</big></td>
+
+ <td>Access to the given mailbox number. (Ask mailbox
+(extension) number and Pwd).</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Cell to VoIP gateway access.</td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> 5555</big></td>
+
+ <td>Access to the Cell to VoIP gateway. Enter the access
+code and then the number to dial.</td>
+
+ </tr>
+
+ <tr>
+
+ <td>Simulate an external incoming call </td>
+
+ <td style="text-align: center; font-weight:
bold;"><big> 7777</big></td>
+
+ <td>For tests.</td>
+
+ </tr>
+ <tr>
+ <td>Simulate a call on a remote system</td>
+ <td><big><span style="font-weight:
bold;">777(1-4)</span></big></td>
+ <td>Simulate an external call on a remote system. The last
digit is the server number (1 - 4)</td>
+ </tr>
+
+
+ </tbody>
+
+ </table>
+
+ <br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td style="background-color: rgb(51, 102, 255); color: rgb(255, 255,
255);" class="title"><span style="font-weight: bold;"><a
name="Réceptioniste_automatisé"></a>Automated Attendant</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+The
+Automated Attendant allows an incoming call to be directed according to
+the caller selection from a vocal menu. You can record your own
+personalized welcome message by calling the system and entering "<big
style="font-weight: bold;">*90</big>" , the main menu in the default
+language can be recorded using "<big><span style="font-weight:
bold;">*91</span></big>"
+and finally the main menu in the second language using "<big><span
style="font-weight: bold;">*92</span></big>".<br>
+
+ <br>
+
+ <span style="font-weight: bold;">Welcome Message<br>
+
+ <br>
+
+ </span>This
+message is used to greet the caller and, if desired, to let him to
+access the service in the second language. If you want to offer a
+choice of language for the service, this message should be
+bilingual and offer the second language by pressing the "9" key. Here
+is an example for a bilingual system with English as the default
+language:<br>
+
+ <br>
+
+ <span style="font-style: italic;">Thank you for calling Tele
+Data, Merci d'appeller Tele Data, Pour un service en
+Français, faite le "9".</span><br>
+
+ <span style="font-style: italic;"></span>Or with French as the
+default language:<br>
+
+ <span style="font-style: italic;">"Merci d'appeller Tele Data,
+thank you for calling Tele Data. For a service in English, please press
+"9".</span><br>
+
+For an unilingual system, record only the first sentence (omit the
+language choice).<br>
+
+ <br>
+
+If the caller select the second language by pressing "9", the main menu
+will be said using the second language. <br>
+
+ <br>
+
+ <span style="font-weight: bold;">Main Menu</span><br>
+
+ <br>
+
+This
+menu allows the caller to either enter a known extension number or
+select the destination by number using a menu. Here is an example.<br>
+
+ <br>
+
+ <span style="font-style: italic;">If you know your party's
+extension, enter it now.</span><br>
+
+ <span style="font-style: italic;">For the sales department, press
+"1".</span><br style="font-style: italic;">
+
+ <span style="font-style: italic;">For accounting,
press "2".</span><br style="font-style: italic;">
+
+ <span style="font-style: italic;">For technical support,
+press "3".</span><br style="font-style: italic;">
+
+ <span style="font-style: italic;">For human resources, press "4".<br>
+
+ </span><span style="font-style: italic;">... or stay online to
+reach an operator.<br>
+
+ <br>
+
+ </span>If your system is bilingual, you will have to record the
+main menu in both languages.<br>
+
+ <br>
+
+Selecting
+"1" on the main menu will direct the call to the first extension
+(Usually 200), "2" will go to the 2nd (201), "3" to the "3th" (202) and
+"4" to the 4th extension (203). If the caller does not select a
+destination after the given time, the call will be directed to the
+manager or first extension (200).<br>
+
+ <br>
+
+If the call is not answered
+within 20 seconds, the caller will be invited to leave a voice mail
+message in the mailbox of the contacted extension.<br>
+
+ <br>
+
+ <span style="font-style: italic;"></span></td>
+
+ </tr>
+
+ <tr>
+
+ <td style="background-color: rgb(51, 102, 255); color: rgb(255, 255,
255);" class="title"><span style="font-weight: bold;"><a
name="Messagerie_Vocale"></a>Voice Mail</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+Each
+extension has their voice mail mailbox in the system. The
+mailbox number is the same as the extension. The mailbox can be
+accessed by using "<big><span style="font-weight: bold;">*98</span></big>",
+the access code is by default the same of the extension number (i.e.
+Ext. 200 has mailbox 200 with default pwd 200)<br>
+
+ <br>
+
+Function "<big><span style="font-weight: bold;">*99</span></big>"
+allows to access a mailbox different than the current extension. The
+system will then ask for the mailbox (extension) number and password.<br>
+
+ <br>
+
+All
+voice mails received in all mailboxes will get immediately sent by
+email
+at the email address given in the extension configuration panel.
+ The voice messages will be sent by email as an audio attachment.
+The audio file format is WAV (MS GSM6.10) and can be played on any
+Windows system by simply double clicking on the audio message
+attachment. The MS GSM6.10 format is handled automatically on mostly
+all Windows versions.<br>
+
+ <br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td class="title" style="background-color: rgb(51, 102, 255);"><span
style="color: rgb(255, 255, 255);"><a name="WebCall"></a>WebCall</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+The
+WebCall service allows visitors of your WWW site to request a call by
+simply entering their telephone number in a form on your site and
+pressing the "Call Me Now" button. The call request is received
+by the MARS system which will then call the given extension (specified
+as a hidden field in the form) , notify the agent of the WebCall
+request and then call the visitor at the given phone number and finally
+establish the communication with the agent (extension)<br>
+
+ <br>
+
+The agent (extension) can then handle the call as if they would have
+called the visitor. For instance, <span style="font-style: italic;">Hello,
+Here is Paul from Acme Inc. you have requested a call ... ?</span><br>
+
+ <br>
+
+ <span class="title">WebCall User's Data</span><br>
+
+ <br>
+
+Once
+the visitor of your WWW site press the "Call Me Now !" button, the
+system will receive the call request and the data entered by the user
+and make it available from your browser at the following URL: <span
style="font-weight: bold;">http://<MARS IP
+ Address>/calldata.html</span> For example: <a
href="
http://192.168.1.1/calldata.html"><span style="font-weight:
bold;">
http://192.168.1.1/calldata.html </span></a> By
+pointing your browser to this URL, you will have immediately access to
+the data entered by tour visitor, even before the beginning of the
call.<br>
+
+ <br>
+
+The
+easiest and quickest way to access the WebCall data is to create a link
+on your PCs desktop to the page mentioned above. This way you will have
+access to the information as soon as you are notified of the request.<br>
+
+ <br>
+
+ <span class="title">Black List</span><br>
+
+ <br>
+
+The
+"Black List" allows to block the request of a user that would abuse the
+system. To add an user to the list, simply click on the "Add To Black
+List" button on the call data display (see above). The telephone number
+and the IP address will be memorized and the user will be notified that
+he is not allowed to use the service on any future call request.<br>
+
+ <br>
+
+ <span class="title">Activation / Deactivation <br>
+
+ </span><span style="font-weight: normal;">The
+WebCall service is active by default, that is, it is ready to receive a
+call request from a form on your WWW site. You can deactivate the
+service by using the "<big><span style="font-weight:
bold;">*83</span></big>"
+sequence and activate it using "<big><span style="font-weight:
bold;">*82</span></big>".
+When the service is deactivated, the users will be warned that the
+service is currently unavailable.</span><br>
+
+ <br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td class="title" style="background-color: rgb(51, 102, 255); color:
rgb(255, 255, 255);"><span style="font-weight: bold;"><a
name="Passerelle_VoIP"></a>Cell to VoIP
+gateway</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+MARS
+also supply a gateway to allow a mobile phone user (cell) to place long
+distance call from using the system's VoIP line. Just call the system
+on the conventional line and enter the "extension" 5555 followed by
+the gateway's password (as defined in the system config.). From
+then on you can dial the 10 digits phone number of the number you wish
+to call. Do not enter the "9" nor the "1" prefix for long
+distance.<br>
+
+ <br>
+
+The system will use the VoIP line to place the cal and voilà ! A
+long distance call from your mobile at VoIP cost !<br>
+
+ <br>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td class="title" style="background-color: rgb(51, 102, 255); color:
rgb(255, 255, 255);"><span style="font-weight: bold;"><a
name="Web_Audio"></a>Web Audio</span></td>
+
+ </tr>
+
+ <tr>
+
+ <td><br>
+
+Web
+Audio offers hundreds of quality audio archive program. You can access
+this function by dialing "*88". The system will then ask for the 3
+digits program number. The system will then download the audio program
+and will play it for you. The required time for the download will vary
+depending on the duration of the program and will usually be of a few
+seconds up to about 30 - 45 seconds for a one hour program.<br>
+
+ <br>
+
+While
+playing, you can forward one minute by pressing the "6" key
+or rewind one minute by pressing "4". You can also pause and
+restart the playback by pressing "5" or interrupt it and go back to the
+program menu by pressing the "#" key.<br>
+
+ <span style="font-weight: bold;"><br>
+
+Program list</span><br>
+
+ <br>
+
+You
+can receive the program list and their 3 digits codes by email by
+entering "000" as the program number. The system will then send the
+list at the manager email address (extension 200).<br>
+
+ <br>
+
+ <span style="font-weight: bold;">Among our favorites:</span><br>
+
+ <br>
+
+Hell's Bell's A radio history of the telephone. Excellent ! 8 episodes
+of 30 mins each. Progr: <span style="font-weight: bold;">201
+à 208</span><br>
+
+Jim Lowell, Apollo 13. An interview with Apollo 13 mission's
+commandant" from "Tech Nations" Progr: <span
style="font-weight: bold;">505</span><br>
+
+Science is NOT funny : "Dr. Science" and "Saint-Silicon" Interview with
+humorists Progr: <span style="font-weight: bold;">559<br>
+
+ </span>
+
+ <pre style="font-family: Arial;">Bram Stroker: Dracula (excerpts)
Part 1: (<span style="font-weight: bold;">700</span>) Part 2: (<span
style="font-weight: bold;">701</span>) Part 3 (<span style="font-weight:
bold;">702</span>)</pre>
+
+ <span style="font-family: Arial;"></span><span style="font-weight:
bold;"><br>
+
+ </span></td>
+
+ </tr>
+
+
+ </tbody>
+</table>
+
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/agents.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,90 @@
+[general]
+;
+; Define whether callbacklogins should be stored in astdb for
+; persistence. Persistent logins will be reloaded after
+; Asterisk restarts.
+;
+persistentagents=yes
+;
+; Agent configuration
+;
+;
+[agents]
+;
+; Define autologoff times if appropriate. This is how long
+; the phone has to ring with no answer before the agent is
+; automatically logged off (in seconds)
+;
+;autologoff=15
+;
+; Define ackcall to require an acknowledgement by '#' when
+; an agent logs in using agentcallbacklogin. Default is "no".
+;
+;ackcall=no
+;
+; Define wrapuptime. This is the minimum amount of time when
+; after disconnecting before the caller can receive a new call
+; note this is in milliseconds.
+;
+;wrapuptime=5000
+;
+; Define the default musiconhold for agents
+; musiconhold => music_class
+;
+;musiconhold => default
+;
+; Define updatecdr. This is whether or not to change the source
+; channel in the CDR record for this call to agent/agent_id so
+; that we know which agent generates the call
+;
+;updatecdr=no
+;
+; Group memberships for agents (may change in mid-file)
+;
+;group=3
+;group=1,2
+;group=
+;
+; --------------------------------------------------
+; This section is devoted to recording agent's calls
+; The keywords are global to the chan_agent channel driver
+;
+; Enable recording calls addressed to agents. It's turned off by default.
+;recordagentcalls=yes
+;
+; The format to be used to record the calls: wav, gsm, wav49.
+; By default its "wav".
+;recordformat=gsm
+;
+; Insert into CDR userfield a name of the the created recording
+; By default it's turned off.
+;createlink=yes
+;
+; The text to be added to the name of the recording. Allows forming a url
link.
+;urlprefix=
http://localhost/calls/
+;
+; The optional directory to save the conversations in. The default is
+; /var/spool/asterisk/monitor
+;savecallsin=/var/calls
+;
+; An optional custom beep sound file to play to always-connected agents.
+;custom_beep=beep
+;
+; --------------------------------------------------
+;
+; This section contains the agent definitions, in the form:
+;
+; agent => agentid,agentpassword,name
+;
+;agent => 1001,4321,Mark Spencer
+;agent => 1002,4321,Will Meadows
+
+;agent => 300,300,Ext300
+;agent => 301,301,Ext301
+;agent => 302,302,Ext302
+;agent => 303,303,Ext303
+;agent => 304,304,Ext304
+;agent => 305,305,Ext305
+;agent => 306,306,Ext306
+;agent => 307,307,Ext307
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/alarmreceiver.conf Sat Nov
14 22:46:08 2009
@@ -0,0 +1,80 @@
+;
+; alarmreceiver.conf
+;
+; Sample configuration file for the Asterisk alarm receiver application.
+;
+
+
+[general]
+
+;
+; Specify a timestamp format for the metadata section of the event files
+; Default is %a %b %d, %Y @ %H:%M:%S %Z
+
+timestampformat = %a %b %d, %Y @ %H:%M:%S %Z
+
+;
+; Specify a command to execute when the caller hangs up
+;
+; Default is none
+;
+
+;eventcmd = yourprogram -yourargs ...
+
+;
+; Specify a spool directory for the event files. This setting is required
+; if you want the app to be useful. Event files written to the spool
+; directory will be of the template event-XXXXXX, where XXXXXX is a random
+; and unique alphanumeric string.
+;
+; Default is none, and the events will be dropped on the floor.
+;
+
+eventspooldir = /tmp
+
+;
+; The alarmreceiver app can either log the events one-at-a-time to
individual
+; files in the spool directory, or it can store them until the caller
+; disconnects and write them all to one file.
+;
+; The default setting for logindividualevents is no.
+;
+
+logindividualevents = no
+
+;
+; The timeout for receiving the first DTMF digit is adjustable from 1000
msec.
+; to 10000 msec. The default is 2000 msec. Note: if you wish to test the
+; receiver by entering digits manually, set this to a reasonable time out
+; like 10000 milliseconds.
+
+fdtimeout = 2000
+
+;
+; The timeout for receiving subsequent DTMF digits is adjustable from
+; 110 msec. to 4000 msec. The default is 200 msec. Note: if you wish to
test
+; the receiver by entering digits manually, set this to a reasonable time
out
+; like 4000 milliseconds.
+;
+
+sdtimeout = 200
+
+;
+; The loudness of the ACK and Kissoff tones is adjustable from 100 to 8192.
+; The default is 8192. This shouldn't need to be messed with, but is
included
+; just in case there are problems with signal levels.
+;
+
+loudness = 8192
+
+;
+; The db-family setting allows the user to capture statistics on the
number of
+; calls, and the errors the alarm receiver sees. The default is for no
+; db-family name to be defined and the database logging to be turned off.
+;
+
+;db-family = yourfamily:
+
+;
+; End of alarmreceiver.conf
+;
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/amd.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,18 @@
+;
+; Answering Machine Detection Configuration
+;
+
+[general]
+initial_silence = 2500 ; Maximum silence duration before the greeting.
+ ; If exceeded then MACHINE.
+greeting = 1500 ; Maximum length of a greeting. If exceeded then MACHINE.
+after_greeting_silence = 800 ; Silence after detecting a greeting.
+ ; If exceeded then HUMAN
+total_analysis_time = 5000 ; Maximum time allowed for the algorithm to
decide
+ ; on a HUMAN or MACHINE
+min_word_length = 100 ; Minimum duration of Voice to considered as a word
+between_words_silence = 50 ; Minimum duration of silence after a word to
consider
+ ; the audio what follows as a new word
+maximum_number_of_words = 3 ; Maximum number of words in the greeting.
+ ; If exceeded then MACHINE
+silence_threshold = 256
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/asterisk.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,20 @@
+[directories]
+astetcdir => /etc/asterisk
+astmoddir => /usr/lib/asterisk/modules
+astvarlibdir => /usr/lib/asterisk
+astdatadir => /usr/lib/asterisk
+astagidir => /usr/lib/asterisk/agi-bin
+astspooldir => /var/spool/asterisk
+astrundir => /var/run
+astlogdir => /var/log/asterisk
+
+;[options]
+;internal_timing = yes
+;systemname = my_system_name ; prefix uniqueid with a system name for
global uniqueness issues
+; Changing the following lines may compromise your security.
+;[files]
+;astctlpermissions = 0660
+;astctlowner = root
+;astctlgroup = apache
+;astctl = asterisk.ctl
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/cdr.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,70 @@
+;
+; Asterisk Call Detail Record engine configuration
+;
+; CDR is Call Detail Record, which provides logging services via a variety
of
+; pluggable backend modules. Detailed call information can be recorded to
+; databases, files, etc. Useful for billing, fraud prevention, compliance
with
+; Sarbanes-Oxley aka The Enron Act, QOS evaluations, and more.
+;
+
+[general]
+
+; Define whether or not to use CDR logging. Setting this to "no" will
override
+; any loading of backend CDR modules. Default is "yes".
+enable=yes
+
+; Define the CDR batch mode, where instead of posting the CDR at the end of
+; every call, the data will be stored in a buffer to help alleviate load
on the
+; asterisk server. Default is "no".
+;
+; WARNING WARNING WARNING
+; Use of batch mode may result in data loss after unsafe asterisk
termination
+; ie. software crash, power failure, kill -9, etc.
+; WARNING WARNING WARNING
+;
+;batch=no
+
+; Define the maximum number of CDRs to accumulate in the buffer before
posting
+; them to the backend engines. 'batch' must be set to 'yes'. Default is
100.
+;size=100
+
+; Define the maximum time to accumulate CDRs in the buffer before posting
them
+; to the backend engines. If this time limit is reached, then it will
post the
+; records, regardless of the value defined for 'size'. 'batch' must be
set to
+; 'yes'. Note that time is in seconds. Default is 300 (5 minutes).
+;time=300
+
+; The CDR engine uses the internal asterisk scheduler to determine when to
post
+; records. Posting can either occur inside the scheduler thread, or a new
+; thread can be spawned for the submission of every batch. For small
batches,
+; it might be acceptable to just use the scheduler thread, so set this
to "yes".
+; For large batches, say anything over size=10, a new thread is
recommended, so
+; set this to "no". Default is "no".
+;scheduleronly=no
+
+; When shutting down asterisk, you can block until the CDRs are
submitted. If
+; you don't, then data will likely be lost. You can always check the size
of
+; the CDR batch buffer with the CLI "cdr status" command. To enable
blocking on
+; submission of CDR data during asterisk shutdown, set this to "yes".
Default
+; is "yes".
+;safeshutdown=yes
+;
+
+; Normally, CDR's are not closed out until after all extensions are
finished
+; executing. By enabling this option, the CDR will be ended before
executing
+; the "h" extension so that CDR values such as "end" and "billsec" may be
+; retrieved inside of of this extension.
+;endbeforehexten=no
+
+[csv] ; NOTE IMPORTANT MUST BE UNCOMMENTED for Master.csv to be written
+; usegmtime=no ;log date/time in GMT
+;loguniqueid=yes ;log uniqueid
+loguserfield=yes ;log user field
+
+;[radius]
+;usegmtime=yes ;log date/time in GMT
+;loguniqueid=yes ;log uniqueid
+;loguserfield=yes ;log user field
+; Set this to the location of the radiusclient-ng configuration file
+; The default is /etc/radiusclient-ng/radiusclient.conf
+;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/cdr_custom.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,6 @@
+;
+; Mappings for custom config file
+;
+[mappings]
+Master.csv
=> "${CDR(clid)}","${CDR(src)}","${CDR(dst)}","${CDR(dcontext)}","${CDR(channel)}","${CDR(dstchannel)}","${CDR(lastapp)}","${CDR(lastdata)}","${CDR(start)}","${CDR(answer)}","${CDR(end)}","${CDR(duration)}","${CDR(billsec)}","${CDR(disposition)}","${CDR(amaflags)}","${CDR(accountcode)}","${CDR(uniqueid)}","${CDR(userfield)}"
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/cdr_manager.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,7 @@
+;
+; Asterisk Call Management CDR
+;
+[general]
+; enabled = no
+enabled = yes
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/codecs.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,65 @@
+[speex]
+; CBR encoding quality [0..10]
+; used only when vbr = false
+quality => 3
+
+; codec complexity [0..10]
+; tradeoff between cpu/quality
+complexity => 2
+
+; perceptual enhancement [true / false]
+; improves clarity of decoded speech
+enhancement => true
+
+; voice activity detection [true / false]
+; reduces bitrate when no voice detected, used only for CBR
+; (implicit in VBR/ABR)
+vad => true
+
+; variable bit rate [true / false]
+; uses bit rate proportionate to voice complexity
+vbr => true
+
+; available bit rate [bps, 0 = off]
+; encoding quality modulated to match this target bit rate
+; not recommended with dtx or pp_vad - may cause bandwidth spikes
+abr => 0
+
+; VBR encoding quality [0-10]
+; floating-point values allowed
+vbr_quality => 4
+
+; discontinuous transmission [true / false]
+; stops transmitting completely when silence is detected
+; pp_vad is far more effective but more CPU intensive
+dtx => false
+
+; preprocessor configuration
+; these options only affect Speex v1.1.8 or newer
+
+; enable preprocessor [true / false]
+; allows dsp functionality below but incurs CPU overhead
+preprocess => false
+
+; preproc voice activity detection [true / false]
+; more advanced equivalent of DTX, based on voice frequencies
+pp_vad => false
+
+; preproc automatic gain control [true / false]
+pp_agc => false
+pp_agc_level => 8000
+
+; preproc denoiser [true / false]
+pp_denoise => false
+
+; preproc dereverb [true / false]
+pp_dereverb => false
+pp_dereverb_decay => 0.4
+pp_dereverb_level => 0.3
+
+
+[plc]
+; for all codecs which do not support native PLC
+; this determines whether to perform generic PLC
+; there is a minor performance penalty for this
+genericplc => true
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/dnsmgr.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,5 @@
+[general]
+enable=yes ; enable creation of managed DNS lookups
+ ; default is 'no'
+refreshinterval=1200 ; refresh managed DNS lookups every <n> seconds
+ ; default is 300 (5 minutes)
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/enum.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,22 @@
+;
+; ENUM Configuration for resolving phone numbers over DNS
+;
+; Sample config for Asterisk
+; This file is reloaded at "reload enum" in the CLI
+;
+[general]
+;
+; The search list for domains may be customized. Domains are searched
+; in the order they are listed here.
+;
+search => e164.arpa
+;
+; If you'd like to use the
E.164.org public ENUM registry in addition
+; to the official e164.arpa one, uncomment the following line
+;
+;search =>
e164.org
+;
+; As there are more H323 drivers available you have to select to which
+; drive a H323 URI will map. Default is "H323".
+;
+h323driver => H323
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/extconfig.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,53 @@
+;
+; Static and realtime external configuration
+; engine configuration
+;
+; Please read doc/extconfig.txt for basic table
+; formatting information.
+;
+[settings]
+;
+; Static configuration files:
+;
+; file.conf => driver,database[,table]
+;
+; maps a particular configuration file to the given
+; database driver, database and table (or uses the
+; name of the file as the table if not specified)
+;
+;uncomment to load queues.conf via the odbc engine.
+;
+;queues.conf => odbc,asterisk,ast_config
+;
+; The following files CANNOT be loaded from Realtime storage:
+; asterisk.conf
+; extconfig.conf (this file)
+; logger.conf
+;
+; Additionally, the following files cannot be loaded from
+; Realtime storage unless the storage driver is loaded
+; early using 'preload' statements in modules.conf:
+; manager.conf
+; cdr.conf
+; rtp.conf
+;
+;
+; Realtime configuration engine
+;
+; maps a particular family of realtime
+; configuration to a given database driver,
+; database and table (or uses the name of
+; the family if the table is not specified
+;
+;example => odbc,asterisk,alttable
+;example2 => ldap,"dc=oxymium,dc=net",example2
+;
+;iaxusers => odbc,asterisk
+;iaxpeers => odbc,asterisk
+;sipusers => odbc,asterisk
+;sippeers => odbc,asterisk
+;voicemail => odbc,asterisk
+;extensions => odbc,asterisk
+;queues => odbc,asterisk
+;queue_members => odbc,asterisk
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/extensions.ael Sat Nov 14
22:46:08 2009
@@ -0,0 +1,447 @@
+//
+// Example AEL config file
+//
+//
+// Static extension configuration file, used by
+// the pbx_config module. This is where you configure all your
+// inbound and outbound calls in Asterisk.
+//
+// This configuration file is reloaded
+// - With the "extensions reload" command in the CLI
+// - With the "reload" command (that reloads everything) in the CLI
+
+// The "Globals" category contains global variables that can be referenced
+// in the dialplan by using the GLOBAL dialplan function:
+// ${GLOBAL(VARIABLE)}
+// ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
+// Unix/Linux environmental variables are reached with the ENV dialplan
+// function: ${ENV(VARIABLE)}
+//
+
+globals {
+ CONSOLE="Console/dsp"; // Console interface for demo
+ //CONSOLE=Zap/1
+ //CONSOLE=Phone/phone0
+ IAXINFO=guest; // IAXtel username/password
+ //IAXINFO="myuser:mypass";
+ TRUNK="Zap/g2"; // Trunk interface
+ //
+ // Note the 'g2' in the TRUNK variable above. It specifies which group
(defined
+ // in zapata.conf) to dial, i.e. group 2, and how to choose a channel to
use in
+ // the specified group. The four possible options are:
+ //
+ // g: select the lowest-numbered non-busy Zap channel
+ // (aka. ascending sequential hunt group).
+ // G: select the highest-numbered non-busy Zap channel
+ // (aka. descending sequential hunt group).
+ // r: use a round-robin search, starting at the next highest channel than
last
+ // time (aka. ascending rotary hunt group).
+ // R: use a round-robin search, starting at the next lowest channel than
last
+ // time (aka. descending rotary hunt group).
+ //
+ TRUNKMSD=1; // MSD digits to strip (usually 1 or 0)
+ //TRUNK=IAX2/user:pass@provider
+};
+
+//
+// Any category other than "General" and "Globals" represent
+// extension contexts, which are collections of extensions.
+//
+// Extension names may be numbers, letters, or combinations
+// thereof. If an extension name is prefixed by a '_'
+// character, it is interpreted as a pattern rather than a
+// literal. In patterns, some characters have special meanings:
+//
+// X - any digit from 0-9
+// Z - any digit from 1-9
+// N - any digit from 2-9
+// [1235-9] - any digit in the brackets (in this example,
1,2,3,5,6,7,8,9)
+// . - wildcard, matches anything remaining (e.g. _9011. matches
+// anything starting with 9011 excluding 9011 itself)
+// ! - wildcard, causes the matching process to complete as soon as
+// it can unambiguously determine that no other matches are possible
+//
+// For example the extension _NXXXXXX would match normal 7 digit dialings,
+// while _1NXXNXXXXXX would represent an area code plus phone number
+// preceded by a one.
+//
+// Each step of an extension is ordered by priority, which must
+// always start with 1 to be considered a valid extension. The priority
+// "next" or "n" means the previous priority plus one, regardless of
whether
+// the previous priority was associated with the current extension or not.
+// The priority "same" or "s" means the same as the previously specified
+// priority, again regardless of whether the previous entry was for the
+// same extension. Priorities may be immediately followed by a plus sign
+// and another integer to add that amount (most useful with 's' or 'n').
+// Priorities may then also have an alias, or label, in
+// parenthesis after their name which can be used in goto situations
+//
+// Contexts contain several lines, one for each step of each
+// extension, which can take one of two forms as listed below,
+// with the first form being preferred. One may include another
+// context in the current one as well, optionally with a
+// date and time. Included contexts are included in the order
+// they are listed.
+//
+//context name {
+// exten-name => {
+// application(arg1,arg2,...);
+//
+// Timing list for includes is
+//
+// <time range>|<days of week>|<days of month>|<months>
+//
+// includes {
+// daytime|9:00-17:00|mon-fri|*|*;
+// };
+//
+// ignorepat can be used to instruct drivers to not cancel dialtone upon
+// receipt of a particular pattern. The most commonly used example is
+// of course '9' like this:
+//
+// ignorepat => 9;
+//
+// so that dialtone remains even after dialing a 9.
+//};
+
+
+//
+// Sample entries for extensions.conf
+//
+//
+context ael-dundi-e164-canonical {
+ //
+ // List canonical entries here
+ //
+ //
12564286000 => &ael-std-exten(6000,IAX2/foo);
+ // _125642860XX => Dial(IAX2/otherbox/${EXTEN:7});
+};
+
+context ael-dundi-e164-customers {
+ //
+ // If you are an ITSP or Reseller, list your customers here.
+ //
+ //_
12564286000 => Dial(SIP/customer1);
+ //_
12564286001 => Dial(IAX2/customer2);
+};
+
+context ael-dundi-e164-via-pstn {
+ //
+ // If you are freely delivering calls to the PSTN, list them here
+ //
+ //_1256428XXXX => Dial(Zap/g2/${EXTEN:7}); // Expose all of 256-428
+ //_1256325XXXX => Dial(Zap/g2/${EXTEN:7}); // Ditto for 256-325
+};
+
+context ael-dundi-e164-local {
+ //
+ // Context to put your dundi IAX2 or SIP user in for
+ // full access
+ //
+ includes {
+ ael-dundi-e164-canonical;
+ ael-dundi-e164-customers;
+ ael-dundi-e164-via-pstn;
+ };
+};
+
+context ael-dundi-e164-switch {
+ //
+ // Just a wrapper for the switch
+ //
+
+ switches {
+ DUNDi/e164;
+ };
+};
+
+context ael-dundi-e164-lookup {
+ //
+ // Locally to lookup, try looking for a local E.164 solution
+ // then try DUNDi if we don't have one.
+ //
+ includes {
+ ael-dundi-e164-local;
+ ael-dundi-e164-switch;
+ };
+ //
+};
+
+//
+// DUNDi can also be implemented as a Macro instead of using
+// the Local channel driver.
+//
+macro ael-dundi-e164(exten) {
+//
+// ARG1 is the extension to Dial
+//
+ goto ${exten}|1;
+};
+
+//
+// Here are the entries you need to participate in the IAXTEL
+// call routing system. Most IAXTEL numbers begin with 1-700, but
+// there are exceptions. For more information, and to sign
+// up, please go to
www.gnophone.com or
www.iaxtel.com
+//
+context ael-iaxtel700 {
+ _91700XXXXXXX => Dial(IAX2/${
IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel);
+};
+
+//
+// The SWITCH statement permits a server to share the dialplan with
+// another server. Use with care: Reciprocal switch statements are not
+// allowed (e.g. both A -> B and B -> A), and the switched server needs
+// to be on-line or else dialing can be severly delayed.
+//
+context ael-iaxprovider {
+ switches {
+ // IAX2/user:[key]@myserver/mycontext;
+ };
+};
+
+context ael-trunkint {
+ //
+ // International long distance through trunk
+ //
+ includes {
+ ael-dundi-e164-lookup;
+ };
+ _9011. => {
+ &ael-dundi-e164(${EXTEN:4});
+ Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ };
+};
+
+context ael-trunkld {
+ //
+ // Long distance context accessed through trunk
+ //
+ includes {
+ ael-dundi-e164-lookup;
+ };
+ _91NXXNXXXXXX => {
+ &ael-dundi-e164(${EXTEN:1});
+ Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ };
+};
+
+context ael-trunklocal {
+ //
+ // Local seven-digit dialing accessed through trunk interface
+ //
+ _9NXXXXXX => {
+ Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ };
+};
+
+context ael-trunktollfree {
+ //
+ // Long distance context accessed through trunk interface
+ //
+
+ _91800NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ _91888NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ _91877NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+ _91866NXXXXXX => Dial(${TRUNK}/${EXTEN:${TRUNKMSD}});
+};
+
+context ael-international {
+ //
+ // Master context for international long distance
+ //
+ ignorepat => 9;
+ includes {
+ ael-longdistance;
+ ael-trunkint;
+ };
+};
+
+context ael-longdistance {
+ //
+ // Master context for long distance
+ //
+ ignorepat => 9;
+ includes {
+ ael-local;
+ ael-trunkld;
+ };
+};
+
+context ael-local {
+ //
+ // Master context for local, toll-free, and iaxtel calls only
+ //
+ ignorepat => 9;
+ includes {
+ ael-default;
+ ael-parkedcalls;
+ ael-trunklocal;
+ ael-iaxtel700;
+ ael-trunktollfree;
+ ael-iaxprovider;
+ };
+};
+
+//
+// You can use an alternative switch type as well, to resolve
+// extensions that are not known here, for example with remote
+// IAX switching you transparently get access to the remote
+// Asterisk PBX
+//
+// switch => IAX2/user:password@bigserver/local
+//
+// An "lswitch" is like a switch but is literal, in that
+// variable substitution is not performed at load time
+// but is passed to the switch directly (presumably to
+// be substituted in the switch routine itself)
+//
+// lswitch => Loopback/12${EXTEN}@othercontext
+//
+// An "eswitch" is like a switch but the evaluation of
+// variable substitution is performed at runtime before
+// being passed to the switch routine.
+//
+// eswitch => IAX2/context@${CURSERVER}
+
+
+macro ael-std-exten-ael( ext , dev ) {
+ Dial(${dev}/${ext},20);
+ switch(${DIALSTATUS}) {
+ case BUSY:
+ Voicemail(b${ext});
+ break;
+ default:
+ Voicemail(u${ext});
+ };
+ catch a {
+ VoiceMailMain(${ext});
+ return;
+ };
+};
+
+context ael-demo {
+ s => {
+ Wait(1);
+ Answer();
+ Set(TIMEOUT(digit)=5);
+ Set(TIMEOUT(response)=10);
+restart:
+ Background(demo-congrats);
+instructions:
+ for (x=0; ${x} < 3; x=${x} + 1) {
+ Background(demo-instruct);
+ WaitExten();
+ };
+ };
+ 2 => {
+ Background(demo-moreinfo);
+ goto s|instructions;
+ };
+ 3 => {
+ Set(LANGUAGE()=fr);
+ goto s|restart;
+ };
+ 1000 => {
+ goto ael-default|s|1;
+ };
+ 500 => {
+ Playback(demo-abouttotry);
+ Dial(IAX2/
gu...@misery.digium.com/s@default);
+ Playback(demo-nogo);
+ goto s|instructions;
+ };
+ 600 => {
+ Playback(demo-echotest);
+ Echo();
+ Playback(demo-echodone);
+ goto s|instructions;
+ };
+ _1234 => &ael-std-exten-ael(${EXTEN}, "IAX2");
+ 8500 => {
+ VoicemailMain();
+ goto s|instructions;
+ };
+ # => {
+ Playback(demo-thanks);
+ Hangup();
+ };
+ t => goto #|1;
+ i => Playback(invalid);
+};
+
+
+//
+// If you wish to use AEL for your default context, remove it
+// from extensions.conf (or change its name or comment it out)
+// and then uncomment the one here.
+//
+
+context ael-default {
+
+// By default we include the demo. In a production system, you
+// probably don't want to have the demo there.
+
+ includes {
+ ael-demo;
+ };
+//
+// Extensions like the two below can be used for FWD, Nikotel, sipgate etc.
+// Note that you must have a [sipprovider] section in sip.conf whereas
+// the
otherprovider.net example does not require such a peer definition
+//
+//_41X. => Dial(SIP/${EXTEN:2}@sipprovider,,r);
+//_42X. => Dial(SIP/user:passwd@${
EXTEN:2}@otherprovider.net,30,rT);
+
+// Real extensions would go here. Generally you want real extensions to be
+// 4 or 5 digits long (although there is no such requirement) and start
with a
+// single digit that is fairly large (like 6 or 7) so that you have plenty
of
+// room to overlap extensions and menu options without conflict. You can
alias
+// them with names, too, and use global variables
+
+// 6245 => {
+// hint(SIP/Grandstream1&SIP/Xlite1,Joe Schmoe); // Channel hints for
presence
+// Dial(SIP/Grandstream1,20,rt); // permit transfer
+// Dial(${HINT}/5245},20,rtT); // Use hint as
listed
+// switch(${DIALSTATUS}) {
+// case BUSY:
+// Voicemail(b6245);
+// return;
+// default:
+// Voicemail(u6245);
+// return;
+// };
+// };
+
+// 6361 => Dial(IAX2/JaneDoe,,rm); // ring without time
limit
+// 6389 => Dial(MGCP/aaln/
1...@192.168.0.14);
+// 6394 => Dial(Local/6275/n); // this will dial ${MARK}
+
+// 6275 => &ael-stdexten(6275,${MARK}); // assuming ${MARK} is
something like Zap/2
+// mark => goto 6275|1; // alias mark to 6275
+// 6536 => &ael-stdexten(6236,${WIL}); // Ditto for wil
+// wil => goto 6236|1;
+//
+// Some other handy things are an extension for checking voicemail via
+// voicemailmain
+//
+// 8500 => {
+// VoicemailMain();
+// Hangup();
+// };
+//
+// Or a conference room (you'll need to edit meetme.conf to enable this
room)
+//
+// 8600 => Meetme(1234);
+//
+// Or playing an announcement to the called party, as soon it answers
+//
+// 8700 => Dial(${MARK},30,A(/path/to/my/announcemsg))
+//
+// For more information on applications, just type "show applications" at
your
+// friendly Asterisk CLI prompt.
+//
+// 'show application <command>' will show details of how you
+// use that particular application in this file, the dial plan.
+//
+}
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/extensions.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,1005 @@
+[general]
+static=yes
+writeprotect=no
+
+[globals]
+CONSOLE => Console/dsp
+IAXINFO => guest
+DYNAMIC_FEATURES=>automon
+TOUCH_MONITOR_FORMAT=gsm
+
+;+----------------------------------------------------------------+
+;
+;
+;
+;+----------------------------------------------------------------+
+
+
+[features]
+
+; Used with originate to read NVRAM config at startup
+exten => #15,1,Set(NVRAM_READ=FALSE)
+exten => #15,n,NoCDR();
+exten => #15,n,Macro(refresh-nvram)
+;exten => #15,n,Macro(test-nvram)
+;exten => #15,n,NoCDR();
+exten => #15,n,Hangup()
+
+exten => #16,1,Set(NVRAM_READ=FALSE)
+exten => #16,n,NoCDR();
+exten => #16,n,Macro(get-config-file)
+exten => #16,n,Hangup()
+
+; TMP TEST
+exten => #17,1,Set(NVRAM_READ=FALSE)
+
+; Call Forward Unconditional (Disable)
+exten => *70,1,Macro(answer-set-lang)
+exten => *70,n,dbDel(CFU/${CALLERID(number)})
+exten => *70,n,Playback(call-fwd-unconditional&for&extension)
+exten => *70,n,SayDigits(${CALLERID(number)})
+exten => *70,n,Playback(cancelled)
+exten => *70,n,Hangup()
+
+; Call Forward Unconditional (Enable)
+exten => *71,1,Macro(answer-set-lang)
+exten => *71,n,Playback(call-fwd-unconditional)
+exten => *71,n,Wait(1)
+exten => *71,n,Read(toext,ent-target-attendant,,,,)
+exten => *71,n,GotoIf($["foo${toext}"="foo"]?*71,done)
+exten => *71,n,Wait(1)
+exten => *71,n,Set(DB(CFU/${CALLERID(number)})=${toext})
+exten => *71,n,Playback(call-fwd-unconditional)
+exten => *71,n,Playback(is-set-to)
+exten => *71,n,SayDigits(${toext})
+exten => *71,n(done),Hangup()
+
+; Call Forward On Busy (Disable)
+exten => *72,1,Macro(answer-set-lang)
+exten => *72,n,dbDel(CFB/${CALLERID(number)})
+exten => *72,n,Playback(call-fwd-on-busy&for&extension)
+exten => *72,n,SayDigits(${CALLERID(number)})
+exten => *72,n,Playback(cancelled)
+exten => *72,n,Hangup()
+
+; Call Forward On Busy (Enable)
+exten => *73,1,Macro(answer-set-lang)
+exten => *73,n,Playback(call-fwd-on-busy)
+exten => *73,n,Wait(1)
+exten => *73,n,Read(toext,ent-target-attendant,,,,)
+exten => *73,n,GotoIf($["foo${toext}"="foo"]?*73,done)
+exten => *73,n,Wait(1)
+exten => *73,n,Set(DB(CFB/${CALLERID(number)})=${toext})
+exten => *73,n,Playback(call-fwd-on-busy&for&extension)
+exten => *73,n,SayDigits(${CALLERID(number)})
+exten => *73,n,Playback(is-set-to)
+exten => *73,n,SayDigits(${toext})
+exten => *73,n(done),Hangup()
+
+; Do Not Disturb (Disable)
+exten => *74,1,Macro(answer-set-lang)
+exten => *74,n,dbDel(DND/${CALLERID(number)})
+exten => *74,n,Playback(do-not-disturb&de-activated)
+exten => *74,n,Hangup()
+
+; Do Not Disturb (Enable)
+exten => *75,1,Macro(answer-set-lang)
+exten => *75,n,Set(DB(DND/${CALLERID(number)})=YES)
+exten => *75,n,Playback(do-not-disturb&activated)
+exten => *75,n,Hangup()
+
+; Talking Clock
+exten => *76,1,Macro(answer-set-lang)
+exten => *76,n,Set(NumLoops=0)
+exten => *76,n(start),Set(FutureTime=$[${EPOCH} + 11])
+exten => *76,n,Plf($["${AST_ServiceLanguage}" = "E"]?say_en)
+exten => *76,n,SayUnixTime(${FutureTime}|EST5EDT|kM \'and\' S)
+exten => *76,n,Goto(waitloop)
+exten => *76,n(say_en),SayUnixTime(${FutureTime}|| k M \'and\' S
\'seconds\');
+; exten => *76,n(say_en),SayUnixTime(${FutureTime}|EST5EDT| k M \'and\' S
\'seconds\');
+exten => *76,n(waitloop),Set(TimeLeft=$[${FutureTime} - ${EPOCH}])
+exten => *76,n,GotoIf($[${TimeLeft} < 1]?playbeep)
+exten => *76,n,Wait(1)
+exten => *76,n,Goto(waitloop)
+exten => *76,n(playbeep),Playback(beep)
+exten => *76,n,Wait(5)
+exten => *76,n,Set(NumLoops=$[${NumLoops} + 1])
+exten => *76,n,GotoIf($[${NumLoops} < 5]?start)
+exten => *76,n,Playback(goodbye)
+exten => *76,n,Hangup()
+
+; Say current Extension
+exten => *77,1,Macro(answer-set-lang)
+exten => *77,n,Playback(extension)
+exten => *77,n,SayDigits(${CALLERID(number)})
+exten => *77,n,Wait(2)
+exten => *77,n,Hangup()
+
+; Echo Test
+exten => *78,1,Macro(answer-set-lang)
+exten => *78,n,Playback(demo-echotest)
+exten => *78,n,Echo()
+exten => *78,n,Playback(demo-echodone)
+exten => *78,n,Hangup()
+
+; Auto-Attendant Activate
+exten => *80,1,Macro(answer-set-lang)
+exten => *80,n,dbDel(MARS/AA)
+exten => *80,n,Playback(reception&activated)
+exten => *80,n,Hangup()
+
+; Auto-Attendant DeActivate
+exten => *81,1,Macro(answer-set-lang)
+exten => *81,n,Set(DB(MARS/AA)=Disabled)
+exten => *81,n,Playback(reception&de-activated)
+exten => *81,n,Hangup()
+
+; WebCall Activate
+exten => *82,1,Macro(answer-set-lang)
+exten => *82,n,dbDel(MARS/WebCall)
+exten => *82,n,Playback(webcall&activated)
+exten => *82,n,Hangup()
+
+; WebCall Deactivate
+exten => *83,1,Macro(answer-set-lang)
+exten => *83,n,Set(DB(MARS/WebCall)=Disabled)
+exten => *83,n,Playback(webcall&de-activated)
+exten => *83,n,Hangup()
+
+; Temporarily unavaillable (all to mailbox) Enable
+exten => *84,1,Macro(answer-set-lang)
+exten => *84,n,dbDel(MARS/VoicemailDirect)
+exten => *84,n,Playback(temp-out&de-activated)
+exten => *84,n,Hangup()
+
+; Temporarily unavaillable Disable
+exten => *85,1,Macro(answer-set-lang)
+exten => *85,n,Set(DB(MARS/VoicemailDirect)=Activated)
+exten => *85,n,Playback(temp-out&activated)
+exten => *85,n,Hangup()
+
+; Say AA WC & TU statuses
+exten => *89,1,Macro(answer-set-lang)
+exten => *89,n,GotoIf($["${DB(MARS/AA)}" != ""]?aa_deact)
+exten => *89,n,Playback(reception&activated)
+exten => *89,n,Goto(test_wc)
+exten => *89,n(aa_deact),Playback(reception&de-activated)
+exten => *89,n(test_wc),GotoIf($["${DB(MARS/WebCall)}" != ""]?wc_deact)
+exten => *89,n,Playback(webcall&activated)
+exten => *89,n,Goto(test_to)
+exten => *89,n(wc_deact),Playback(webcall&de-activated)
+exten => *89,n(test_to),GotoIf($["${DB(MARS/VoicemailDirect)}"
= ""]?to_deact)
+exten => *89,n,Playback(temp-out&activated)
+exten => *89,n,Goto(end)
+exten => *89,n(to_deact),Playback(temp-out&de-activated)
+exten => *89,n(end),Wait(2)
+exten => *89,n,Hangup()
+
+; Voice mail for extension mailbox
+exten => *98,1,Macro(answer-set-lang)
+exten => *98,n,VoiceMailMain(${CALLERID(number)})
+exten => *98,n,Hangup()
+
+; Voice mail for any mailbox
+exten => *99,1,Macro(answer-set-lang)
+exten => *99,n,VoiceMailMain()
+exten => *99,n,Hangup()
+
+;+----------------------------------------------------------------+
+
+[record-language]
+exten => *90,1,Macro(answer-set-lang)
+exten => *90,n,GotoIf($["${AST_ServiceLanguage}" = "E"]?set_en)
+exten => *90,n,Set(PMT_NAME="fr/welcome")
+exten => *90,n,Goto(record-menu,*91,start)
+exten => *90,n(set_en),Set(PMT_NAME="welcome")
+exten => *90,n,Goto(record-menu,*91,start)
+
+[record-menu]
+exten => *91,1,Macro(answer-set-lang)
+exten => *91,n,Set(PMT_NAME="mainmenu")
+exten => *91,n(start),Playback(rec-menu)
+exten => *91,n,Record(/tmp/tempmenu.ulaw)
+exten => *91,n(menu),Background(vm-review)
+exten => *91,n,WaitExten(5)
+exten => *91,n,Goto(*91,menu)
+
+exten => 1,1,System(rm /usr/lib/asterisk/sounds/${PMT_NAME}.ulaw)
+exten => 1,2,System(mv /tmp/tempmenu.ulaw
/usr/lib/asterisk/sounds/${PMT_NAME}.ulaw)
+exten => 1,3,Goto(4,end)
+exten => 2,1,Playback(/tmp/tempmenu)
+exten => 2,2,Goto(record-menu,*91,menu)
+exten => 3,1,Goto(record-menu,*91,start)
+exten => 4,1(end),Playback(goodbye)
+exten => 4,2,Hangup
+
+;+----------------------------------------------------------------+
+
+[record-menu-fr]
+exten => *92,1,Macro(answer-set-lang)
+exten => *92,n,Set(PMT_NAME="fr/mainmenu")
+exten => *92,n,Goto(record-menu,*91,start)
+
+;+----------------------------------------------------------------+
+
+[web-audio]
+exten => *88,1,Macro(answer-set-lang)
+exten => *88,n(start),UserEvent(WebAudio|Channel: ${CHANNEL}|Status: Get
program No.)
+exten => *88,n,Read(USER_SELECT,pls-ent-msg-no,3,,3,3)
+exten => *88,n,GotoIf($["-${USER_SELECT}"="-"]?*88,end)
+exten => *88,n,GotoIf($["${USER_SELECT}"="000"]?send_dir)
+exten => *88,n,AGI(web_audio.sh|${USER_SELECT})
+exten => *88,n,Noop(URL=${URL:9})
+exten => *88,n,GotoIf($["-${URL}"="-"]?start)
+exten => *88,n,GotoIf($["${URL:9:4}"="http"]?get_it)
+exten => *88,n,System(cp ${URL:9} /tmp/sel${CALLERID(number)}.${URL:-3})
+exten => *88,n,Goto(play_it)
+exten => *88,n(get_it),UserEvent(WebAudio|Channel: ${CHANNEL}|ProgNo:
${USER_SELECT}|Status: Fetching Audio)
+exten => *88,n,Playback(wait-moment)
+exten => *88,n,System(rm /tmp/sel${CALLERID(number)}.*)
+exten => *88,n,System(wget -O /tmp/sel${CALLERID(number)}.gsm ${URL:9})
+exten => *88,n(play_it),UserEvent(WebAudio|Channel: ${CHANNEL}|ProgNo:
${USER_SELECT}|Status: Playback)
+exten => *88,n,ControlPlayback(/tmp/sel${CALLERID(number)},60000,6,4,#,5,0)
+exten => *88,n,System(rm /tmp/sel${CALLERID(number)}.*)
+exten => *88,n,Goto(start)
+exten => *88,n(send_dir),AGI(send_wa_dir.sh)
+exten => *88,n,Goto(start)
+exten => *88,n(end),Hangup()
+
+exten => t,1,Hangup
+exten => h,1,System(rm /tmp/sel${CALLERID(number)}.*)
+
+;+----------------------------------------------------------------+
+
+[incoming]
+include => ext-local
+include => inbound-all
+; TMP TEST
+include => web-audio
+; include => tts-news
+; Mailbox for Phone-In dictation to email
+; include => PID_Mailboxes
+; include => dial-in_dictation
+
+;+----------------------------------------------------------------+
+
+[inbound-all]
+
+
+exten => _X.,1,NoOp(CONTEXT: incoming)
+exten => _X.,n,Noop(CALLERID(number)=${CALLERID(number)})
+exten => _X.,n,Noop(CALLERID(name)=${CALLERID(name)})
+exten => _X.,n,Goto(s,1)
+exten => s,1,NoOp(CONTEXT: incoming)
+exten => s,n,NoOp(CALLERID(num)=${CALLERID(num)})
+exten => s,n,NoOp(CALLERID(name)=${CALLERID(name)})
+exten => s,n,NoOp(IS_DIALER_CALL=${IS_DIALER_CALL})
+exten => s,n,Set(NumLoops=0)
+exten => s,n,GotoIf($["${NVRAM_READ}" = "TRUE"]?do_answer)
+exten => s,n,Macro(test-nvram)
+exten => s,n(wait),Wait(1)
+exten => s,n(do_answer),Answer()
+
+exten => s,n,Set(TIMEOUT(digit)=2)
+exten => s,n,Set(TIMEOUT(response)=3)
+exten => s,n,GotoIf($["${AST_ServiceLanguage}" = "E"]?start)
+exten => s,n,Set(LANGUAGE()=fr)
+
+; Test Time Condition
+exten => s,n(start),GotoIf($["${AST_TimeEnabled}"!="1"]?time_cnd_ok)
+exten =>
s,n,GotoIfTime(${AST_TimeFrom}-${AST_TimeTo},${AST_TimeDays},*,*?time_cnd_ok)
+exten => s,n,Playback(vm-nobodyavail)
+exten => s,n,Voicemail(200)
+exten => s,n,Playback(goodbye)
+exten => s,n,Hangup()
+
+; Test if temporarily unavailable activated
+exten => s,n(time_cnd_ok),GotoIf($["${DB(MARS/VoicemailDirect)}"
= ""]?test_queue)
+exten => s,n,Playback(vm-nobodyavail)
+exten => s,n,Voicemail(200)
+exten => s,n,Playback(goodbye)
+exten => s,n,Hangup()
+
+; Test if Queue always
+exten => s,n(test_queue),GotoIf($["${AST_QueueUsage}"!="1"]?not_q_always)
+exten => s,n,Goto(queue,s,1) ; Call Queue
+; Test if Auto-attendant OFF
+exten => s,n(not_q_always),Set(AUTO_ATT_OFF=${DB(MARS/AA)})
+exten => s,n,GotoIf($["foo${AUTO_ATT_OFF}"="foo"]?auto_att)
+; Test if Queue when AA Off
+exten => s,n,GotoIf($["${AST_QueueUsage}"!="0"]?dial_default_ext)
+exten => s,n,Goto(queue,s,1)
+; Dial default ext. (200)
+exten => s,n(dial_default_ext),Goto(1,2) ; dial ext 200
+
+; AUTO-Attendant
+exten => s,n(auto_att),Wait(1)
+exten => s,n,BackGround(welcome)
+exten => s,n(mainmenu),BackGround(mainmenu)
+exten => s,n,WaitExten(5)
+
+exten => 0,1,Playback(pls-hold-while-try)
+exten => 0,2,Macro(stdexten,${AST_ServerId},${AST_Ext0Dial})
+exten => 0,3,Hangup
+
+exten => 1,1,Playback(pls-hold-while-try)
+exten => 1,2,Macro(stdexten,${AST_ServerId},${AST_Ext0Dial})
+exten => 1,3,Hangup
+
+exten => 2,1,Playback(pls-hold-while-try)
+exten => 2,2,Macro(stdexten,$[${AST_ServerId} + 1],${AST_Ext1Dial})
+exten => 2,3,Hangup
+
+exten => 3,1,Playback(pls-hold-while-try)
+exten => 3,2,Macro(stdexten,$[${AST_ServerId} + 2],${AST_Ext2Dial})
+exten => 3,3,Hangup
+
+exten => 4,1,Playback(pls-hold-while-try)
+exten => 4,2,Macro(stdexten,$[${AST_ServerId} + 3],${AST_Ext3Dial})
+exten => 4,3,Hangup
+
+exten => 5,1,Playback(pls-hold-while-try)
+exten => 5,2,Macro(stdexten,$[${AST_ServerId} + 4],SIP/$[${AST_ServerId} +
4])
+exten => 5,3,Hangup
+
+exten => 6,1,Playback(pls-hold-while-try)
+exten => 6,2,Macro(stdexten,$[${AST_ServerId} + 5],SIP/$[${AST_ServerId} +
5])
+exten => 6,3,Hangup
+
+exten => 7,1,Playback(pls-hold-while-try)
+exten => 7,2,Macro(stdexten,$[${AST_ServerId} + 6],SIP/$[${AST_ServerId} +
6])
+exten => 7,3,Hangup
+
+exten => 8,1,Playback(pls-hold-while-try)
+exten => 8,2,Macro(stdexten,$[${AST_ServerId} + 7],SIP/$[${AST_ServerId} +
7])
+exten => 8,3,Hangup
+
+exten => 9,1,GotoIf($["${AST_ServiceLanguage}" = "F"]?set_en)
+exten => 9,2, Set(LANGUAGE()=fr)
+exten => 9,3,Goto(s,mainmenu)
+exten => 9,4(set_en),Set(LANGUAGE()=en)
+exten => 9,5,Goto(s,mainmenu)
+
+; TEST SECURITY ???
+exten => *99,1,Macro(answer-set-lang)
+exten => *99,n,VoiceMailMain()
+exten => *99,n,Hangup()
+
+exten => i,1,Playback(invalid)
+exten => i,2,Goto(mainmenu)
+exten => #,1,Playback(goodbye)
+exten => #,2,Hangup
+exten => t,1,Set(NumLoops=$[${NumLoops} + 1])
+exten => t,2,GotoIf($[${NumLoops} < 2]?s,mainmenu)
+exten => t,3,Goto(1,1)
+exten => h,1,System(rm /tmp/sel${CALLERID(number)}.*)
+exten => h,2,Noop(Hungup !)
+
+
+;+----------------------------------------------------------------+
+
+[queue]
+; QUEUE
+exten => s,1,Macro(answer-set-lang)
+exten => s,n(queue),Background(welcome)
+exten => s,n(in_queue),Playback(queue-periodic-announce)
+exten => s,n,Queue(Queue1,t)
+exten => s,n,Hangup
+exten => 9,1,GotoIf($["${AST_ServiceLanguage}" = "F"]?set_en)
+exten => 9,2, Set(LANGUAGE()=fr)
+exten => 9,3,Goto(s,mainmenu)
+exten => 9,4(set_en),Set(LANGUAGE()=en)
+exten => 9,5,Goto(s,in_queue)
+
+;+----------------------------------------------------------------+
+
+[incoming-direct]
+exten => s,1, Set(LANGUAGE()=fr)
+exten => s,n,NoOp(CALLERID(all)=${CALLERID(all)})
+exten => s,n,Macro(stdexten,201,SIP/201)
+; exten => s,n,Queue(Queue1,t)
+exten => s,n,Hangup
+
+;[parkedcalls]
+exten => 700,1,Park(701)
+
+;+----------------------------------------------------------------+
+
+[ext-local]
+exten => 0,1,Macro(stdexten,${AST_ServerId},${AST_EXT0Dial}) ; Dial "main"
extension
+exten => _2XX,1,Macro(answer-set-lang)
+exten => _2XX,n,GotoIf($["${AST_ServerId}" != "200"]?not_local200)
+exten => _2XX,n,Set(DialVar=AST_EXT$[${EXTEN} - ${AST_ServerId}]Dial)
+exten => _2XX,n,GotoIf($["${${DialVar}}" = ""]?not_def200)
+exten => _2XX,n,Macro(stdexten,${EXTEN},${${DialVar}})
+exten => _2XX,n(not_def200),Macro(stdexten,${EXTEN},SIP/${EXTEN}) ; Not in
AST_EXT_xxx
+
+exten =>
_2XX,n(not_local200),GotoIf($["${AST_Server1Host}" != ""]?dial_server1)
+exten => _2XX,n,GotoIf($["${AST_Server1Host}" = ""]?not_set200)
+exten =>
_2XX,n(dial_server1),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server1Host}/${EXTEN},,TWK)
+exten => _2XX,n(not_set200),Congestion()
+exten => _2XX,n,Hangup()
+
+exten => _3XX,1,Macro(answer-set-lang)
+exten => _3XX,n,GotoIf($["${AST_ServerId}" != "300"]?not_local300)
+exten => _3XX,n,Set(DialVar=AST_EXT$[${EXTEN} - ${AST_ServerId}]Dial)
+exten => _3XX,n,GotoIf($["${${DialVar}}" = ""]?not_def300)
+exten => _3XX,n,Macro(stdexten,${EXTEN},${${DialVar}})
+exten => _3XX,n(not_def300),Macro(stdexten,${EXTEN},SIP/${EXTEN}) ; Not in
AST_EXT_xxx
+
+exten =>
_3XX,n(not_local300),GotoIf($["${AST_Server2Host}" != ""]?dial_server2)
+exten => _3XX,n,GotoIf($["${AST_Server2Host}" = ""]?not_set300)
+exten =>
_3XX,n(dial_server2),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server2Host}/${EXTEN},,TWK)
+exten => _3XX,n(not_set300),Congestion()
+exten => _3XX,n,Hangup()
+
+exten => _4XX,1,Macro(answer-set-lang)
+exten => _4XX,n,GotoIf($["${AST_ServerId}" != "400"]?not_local400)
+exten => _4XX,n,Set(DialVar=AST_EXT$[${EXTEN} - ${AST_ServerId}]Dial)
+exten => _4XX,n,GotoIf($["${${DialVar}}" = ""]?not_def400)
+exten => _4XX,n,Macro(stdexten,${EXTEN},${${DialVar}})
+exten => _4XX,n(not_def400),Macro(stdexten,${EXTEN},SIP/${EXTEN}) ; Not in
AST_EXT_xxx
+
+exten =>
_4XX,n(not_local400),GotoIf($["${AST_Server3Host}" != ""]?dial_server3)
+exten => _4XX,n,GotoIf($["${AST_Server3Host}" = ""]?not_set400)
+exten =>
_4XX,n(dial_server3),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server3Host}/${EXTEN},,TWK)
+exten => _4XX,n(not_set400),Congestion()
+exten => _4XX,n,Hangup()
+
+exten => _5XX,1,Macro(answer-set-lang)
+exten => _5XX,n,GotoIf($["${AST_ServerId}" != "500"]?not_local500)
+exten => _5XX,n,Set(DialVar=AST_EXT$[${EXTEN} - ${AST_ServerId}]Dial)
+exten => _5XX,n,GotoIf($["${${DialVar}}" = ""]?not_def500)
+exten => _5XX,n,Macro(stdexten,${EXTEN},${${DialVar}})
+exten => _5XX,n(not_def500),Macro(stdexten,${EXTEN},SIP/${EXTEN}) ; Not in
AST_EXT_xxx
+
+exten =>
_5XX,n(not_local500),GotoIf($["${AST_Server4Host}" != ""]?dial_server4)
+exten => _5XX,n,GotoIf($["${AST_Server4Host}" = ""]?not_set500)
+exten =>
_5XX,n(dial_server4),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server4Host}/${EXTEN},,TWK)
+exten => _5XX,n(not_set500),Congestion()
+exten => _5XX,n,Hangup()
+
+; Digium IAX
+exten => 600,1,Playback(demo-abouttotry)
+exten => 600,2,Dial(IAX2/
gu...@misery.digium.com/s@default)
+exten => 600,3,Playback(demo-nogo)
+exten => 600,4,Hangup()
+
+; Tel Me SIP
+exten => 601,1,Dial(SIP/
18005...@proxy01.sipphone.com,,W)
+exten => 601,2,Hangup()
+
+; Mouselike.org U.K.
+exten => 602,1,Dial(SIP/
9...@mouselike.org)
+exten => 602,2,Hangup()
+
+;+---------------------------------------------------------------------------------------------+
+
+exten => 5555,1,Macro(answer-set-lang)
+exten => 5555,n,Read(PWD,vm-password,0,,3,5)
+exten => 5555,n,GotoIf($["${PWD}" != "${AST_CGPassword}"]?5555,cancel)
+exten => 5555,n,Read(TELNO,enter-phone-number10,16,,3,3)
+exten => 5555,n,GotoIf($[${LEN(${TELNO})}<10]?cancel)
+exten => 5555,n,Playback(pls-hold-while-try)
+exten => 5555,n,Macro(dial-out,${TELNO},${TELNO:0:6},FALSE)
+exten => 5555,n(cancel),Hangup()
+
+;+----------------------------------------------------------------+
+exten => 666,1,Answer()
+exten => 666,2,MusicOnHold()
+exten => 666,3,Hangup()
+;+----------------------------------------------------------------+
+
+; Simulate incoming call (on local server)
+exten => 7777,1,Goto(incoming,s,1)
+; Simulate incoming call (on remote server)
+exten => 7771,1,GotoIf($["${AST_Server1Host}" != ""]?7771,dial_server1)
+exten => 7771,n,GotoIf($["${AST_Server1Host}" = ""]?not_set1)
+exten =>
7771,n(dial_server1),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server1Host}/7777)
+exten => 7771,n(not_set1),Playtones(480+620/250,0/250)
+exten => 7771,n,Wait(5)
+
+exten => 7772,1,GotoIf($["${AST_Server2Host}" != ""]?7772,dial_server2)
+exten => 7772,n,GotoIf($["${AST_Server2Host}" = ""]?not_set2)
+exten =>
7772,n(dial_server2),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server2Host}/7777)
+exten => 7772,n(not_set2),Playtones(480+620/250,0/250)
+exten => 7772,n,Wait(5)
+
+exten => 7773,1,GotoIf($["${AST_Server3Host}" != ""]?7773,dial_server3)
+exten => 7773,n,GotoIf($["${AST_Server3Host}" = ""]?not_set3)
+exten =>
7773,n(dial_server3),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server3Host}/7777)
+exten => 7773,n(not_set3),Playtones(480+620/250,0/250)
+exten => 7773,n,Wait(5)
+
+exten => 7774,1,GotoIf($["${AST_Server4Host}" != ""]?7774,dial_server4)
+exten => 7774,n,GotoIf($["${AST_Server4Host}" = ""]?not_set4)
+exten =>
7774,n(dial_server4),Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server4Host}/7777)
+exten => 7774,n(not_set4),Playtones(480+620/250,0/250)
+exten => 7774,n,Wait(5)
+
+; Queue test
+exten=> 800,1,Goto(queue,s,in_queue)
+
+; TEMP REDIRECT To Dial-in_dictation context
+exten => _1XX,1,Set(DID_MAILBOX=${EXTEN})
+exten => _1XX,n,Goto(dial-in_dictation,s,1)
+
+; Invalid Extension
+exten => i,1,Playback(invalid)
+exten => i,2,Hangup()
+;+---------------------------------------------------------------------------------------------+
+
+[default]
+
+ignorepat => 9
+include => ext-local
+include => features
+include => record-menu
+include => record-menu-fr
+include => record-language
+;include => record-autodial
+;include => autodial-start
+;include => autodial
+include => web-audio
+;include => tts-news ; TEST
+include => local
+;;include => longdistance
+;;include => international
+;+---------------------------------------------------------------------------------------------+
+
+[local]
+;ignorepat => 9
+; include => default
+include => parkedcalls
+include => trunktollfree
+include => trunklocal
+include => trunk_remotes
+include => trunklocal7digits
+include => longdistance
+include => international
+
+;include => iaxtel700
+;+---------------------------------------------------------------------------------------------+
+
+[longdistance]
+;ignorepat => 9
+include => local
+include => trunkld
+;+---------------------------------------------------------------------------------------------+
+
+[international]
+;ignorepat => 9
+include => longdistance
+include => trunkint
+;+---------------------------------------------------------------------------------------------+
+
+[trunktollfree]
+ignorepat => 9
+exten => _91800NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _91800NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:2:6},FALSE)
+
+exten => _9800NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _9800NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+
+exten => _91866NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _91866NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:2:6},FALSE)
+
+exten => _9866NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _9866NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+
+exten => _91877NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _91877NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:2:6},FALSE)
+
+exten => _9877NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _9877NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+
+exten => _91888NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _91888NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:2:6},FALSE)
+
+exten => _9888NXXXXXX,1,Noop(CONTEXT: trunktollfree)
+exten => _9888NXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+
+;+---------------------------------------------------------------------------------------------+
+
+[trunklocal]
+;ignorepat => 9
+;ignorepat => 8
+
+; Force using PSTN (long distance)
+exten => _81NXXXXXXXXX,1,Noop(CONTEXT: trunklocal:_81)
+exten => _81NXXXXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+exten => _81NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+; Force using PSTN (local)
+exten => _8NXXXXXXXXX,1,Noop(CONTEXT: trunklocal:_8)
+exten => _8NXXXXXXXXX,n(dial),Dial(${AST_PSTN_TRUNK}/${EXTEN:1},,TWK)
+exten => _8NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+; Number dialed without the "1" Ex 9514 or 9418 Do Lookup in Local.txt
+exten => _9NXXXXXXXXX,1,Noop(CONTEXT: trunklocal)
+exten => _9NXXXXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},FALSE)
+
+exten => _9N11,1,Noop(CONTEXT: trunk411)
+exten => _9N11,n,Macro(dial-out,${EXTEN:1},${EXTEN:1},FALSE)
+
+exten => s-CONGESTION,1,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,2,Wait(5)
+exten => s-CONGESTION,3,Hangup()
+
+exten => s-CHANUNAVAIL,1,Playtones(480+620/250,0/250)
+exten => s-CHANUNAVAIL,2,Wait(5)
+exten => s-CHANUNAVAIL,3,Hangup()
+
+exten => s-BUSY,1,Playtones(busy)
+exten => s-BUSY,n,Busy()
+;+---------------------------------------------------------------------------------------------+
+
+[trunklocal7digits]
+;ignorepat => 9
+exten => _9NXXXXXX,1,Noop(CONTEXT: trunklocal7digits)
+exten =>
_9NXXXXXX,n,Macro(dial-out,${AST_LocalAreaCode}${EXTEN:1},${AST_LocalAreaCode}${EXTEN:1:3},FALSE)
+
+;+---------------------------------------------------------------------------------------------+
+
+[trunkld]
+;ignorepat => 9
+; Force VoIP call
+exten => _71NXXXXXXXXX,1,Noop(CONTEXT: trunklocal:_71)
+exten => _71NXXXXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},TRUE)
+
+exten => _7NXXXXXXXXX,1,Noop(CONTEXT: trunklocal:_7)
+exten => _7NXXXXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:1:6},TRUE)
+
+exten => _91NXXNXXXXXX,1,Noop(CONTEXT: trunkld)
+exten => _91NXXNXXXXXX,n,Macro(dial-out,${EXTEN:1},${EXTEN:2:6},FALSE)
+
+;+---------------------------------------------------------------------------------------------+
+
+[trunkint]
+;ignorepat => 9
+exten => _9011.,1,Noop(CONTEXT: trunkint)
+exten => _9011.,n,Macro(dial-out,${EXTEN:1},${EXTEN:1},FALSE)
+exten => _9011.,n,GotoIf( $["${DIALSTATUS}"="CONGESTION"]?dial_voip2)
+exten => _9011.,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
_9011.,n(dial_voip2),Macro(dial-voip,${AST_TrunksProto},${EXTEN:1})
+exten => _9011.,n,Goto(s-${DIALSTATUS},1)
+
+exten => s-CONGESTION,1,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,2,Wait(5);
+exten => s-CONGESTION,3,Hangup()
+
+exten => s-BUSY,1,Playtones(busy)
+exten => s-BUSY,n,Busy()
+
+;+---------------------------------------------------------------------------------------------+
+
+[iaxtel700]
+;ignorepat => 9
+exten => _91700XXXXXXX,1,Noop(CONTEXT: iaxtel700)
+exten =>
_91700XXXXXXX,n,Dial(IAX2/${
IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel,,TWK)
+
+[trunk_remotes]
+
+exten => _*1NXXXXXXXXX,1,Noop(CONTEXT: remote_trunk_1)
+exten =>
_*1NXXXXXXXXX,n,Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server1Host}/9${EXTEN:2},,TWK)
+exten => _*1NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+exten => _*2NXXXXXXXXX,1,Noop(CONTEXT: remote_trunk_2)
+exten =>
_*2NXXXXXXXXX,n,Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server2Host}/9${EXTEN:2},,TWK)
+exten => _*2NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+exten => _*3NXXXXXXXXX,1,Noop(CONTEXT: remote_trunk_3)
+exten =>
_*3NXXXXXXXXX,n,Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server3Host}/9${EXTEN:2},,TWK)
+exten => _*3NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+exten => _*4NXXXXXXXXX,1,Noop(CONTEXT: remote_trunk_4)
+exten =>
_*4NXXXXXXXXX,n,Dial(IAX2/${AST_ThisServerName}:${AST_ThisServerPwd}@${AST_Server4Host}/9${EXTEN:2},,TWK)
+exten => _*4NXXXXXXXXX,n,Goto(s-${DIALSTATUS},1)
+
+exten => s-CONGESTION,1,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,2,Wait(5);
+exten => s-CONGESTION,3,Hangup()
+
+exten => s-BUSY,1,Playtones(busy)
+exten => s-BUSY,n,Busy()
+
+;+----------------------------------------------------------------+
+; MACROS
+;+----------------------------------------------------------------+
+
+[macro-stdexten]
+
+exten => s,1,Set(EXTTOCALL=${ARG1})
+exten => s,2,Set(CFUEXT=${DB(CFU/${EXTTOCALL})})
+exten => s,3,Set(DNDSET=${DB(DND/${EXTTOCALL})})
+exten => s,4,GotoIf($["foo${DNDSET}"!="foo"]]?s-NOANSWER,1)
+exten => s,5,GotoIf($["foo${CFUEXT}"!="foo"]]?s,test_cfu)
+exten => s,6,Ringing
+exten => s,7,Dial(${ARG2},20,TtWwKk)
+exten => s,8,Goto(s-${DIALSTATUS},1)
+
+exten => s,9(test_cfu),GotoIf($[${LEN(${CFUEXT})}>4]?s,dial_out)
+exten => s,10,Dial(SIP/${CFUEXT},20,TtWwKk)
+exten => s,11,Goto(s-${DIALSTATUS},1)
+exten => s,12(dial_out),Macro(dial-out,${CFUEXT}|${CFUEXT},FALSE)
+
+exten => s-BUSY,1,Set(CFUEXT=${DB(CFB/${EXTTOCALL})})
+exten => s-BUSY,2,GotoIf($["foo${CFUEXT}"="foo"]]?s-BUSY,4)
+exten => s-BUSY,3,Dial(SIP/${CFUEXT},20,TtWwKk)
+exten => s-BUSY,4,Voicemail(${ARG1}|b)
+exten => s-BUSY,5,Playback(goodbye)
+exten => s-BUSY,6,Hangup()
+
+exten => s-CHANUNAVAIL,1,Goto(s-NOANSWER,1)
+
+exten => s-NOANSWER,1,Voicemail(${ARG1}|u)
+exten => s-NOANSWER,n,Playback(goodbye)
+exten => s-NOANSWER,n,Hangup()
+
+;exten => s-CONGESTION,1,GotoIf($[${LEN(${CFUEXT})}>4]?s,dial_voip)
+exten => s-CONGESTION,1,Dial(${AST_TrunksProto}/${CFUEXT},20,TtWwKk)
+;exten => s-CONGESTION,2,Playtones(congestion)
+;exten => s-CONGESTION,3,Congestion()
+exten => s-CONGESTION,2,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,3,Wait(5);
+exten => s-CONGESTION,4,Hangup()
+
+exten => h,1,Noop(HungUp !)
+
+exten => a,1,VoicemailMain(${ARG1})
+exten => _s-.,1,Goto(s-NOANSWER,1)
+
+;+----------------------------------------------------------------+
+
+[macro-dial-voip]
+exten => s,1,Macro(test-nvram)
+exten => s,n,Set(TRUNK_PROTO=${ARG1})
+exten => s,n,Noop(TRUNK_PROTO=${TRUNK_PROTO})
+exten => s,n,GotoIf($["${TRUNK_PROTO}"!="IAX"]?dial_sip)
+; exten => s,n,Dial(${AST_VOIP_TRUNK}/${ARG2},,TWK)
+exten => s,n,Dial(IAX2/${AST_IAX_RegUser1}/${ARG2},,TWK)
+exten => s,n,Goto(s,get_status)
+exten => s,n(dial_sip),Dial(SIP/${ARG2}@${AST_SIP_RegUser1},,TWK)
+exten => s,n(get_status),GotoIf(
$["${DIALSTATUS}"="CONGESTION"]?dial_voip2)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+exten => s,n,Goto(s,end)
+; If VoIP2 exists try it
+exten => s,n(dial_voip2),GotoIf(
$["${AST_TrunksProto}"=""]?s-${DIALSTATUS},1)
+exten => s,n,GotoIf($["${TRUNK_PROTO}"!="IAX"]?dial_sip2)
+exten => s,n,Dial(IAX2/${AST_IAX_RegUser2}/${ARG2},,TWK)
+exten => s,n,Goto(s,get_status2)
+exten => s,n(dial_sip2),Dial(SIP/${ARG2}@${AST_SIP_RegUser2},,TWK)
+exten => s,n(get_status2),Goto(s-${DIALSTATUS},1)
+
+exten => s-CHANUNAVAIL,1,Goto(s-CONGESTION,1)
+
+exten => s-CONGESTION,1,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,2,Wait(5);
+exten => s-CONGESTION,3,Hangup()
+
+exten => s-BUSY,1,Playtones(busy)
+exten => s-BUSY,n,Busy()
+
+exten => s-NOANSWER,1,NoOp(NOANSWER)
+
+;+----------------------------------------------------------------+
+; dial-out[TelNo][prefix][VoIpOnly]
+;
+;
+;+----------------------------------------------------------------+
+
+
+[macro-dial-out]
+exten => s,1,Macro(test-nvram)
+exten => s,n,Set(DIALNO=${ARG1})
+exten => s,n,Set(PREFIX=${ARG2})
+exten => s,n,Set(VOIP_ONLY=${ARG3})
+
+exten => s,n,GotoIf($["${VOIP_ONLY}" = "TRUE"]?dial_voip)
+
+exten => s,n,GotoIf($["${AST_LocalPrefixesDisabled}" != ""]?dial_pstn)
+exten => s,n,GotoIf($[${LEN(${DIALNO})}<7]?s,dial_pstn)
+exten => s,n(test_local),NooP(Lookup: ${PREFIX})
+exten => s,n,AGI(islocalprefix.sh|${PREFIX})
+exten => s,n,Noop(IS_LOCAL=${IS_LOCAL})
+exten => s,n,GotoIf($["${IS_LOCAL}"="FALSE"]?dial_voip)
+
+; LOCAL Call Test PSTN
+exten => s,n(dial_pstn),GotoIf($["${AST_PSTN_TRUNK}" = ""]?dial_pstn2)
+exten => s,n,Dial(${AST_PSTN_TRUNK}/${DIALNO},,TWK)
+exten => s,n,Noop(DIALSTATUS=${DIALSTATUS}")
+exten => s,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?dial_pstn2)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+; LOCAL Call Test PSTN2
+exten => s,n(dial_pstn2),GotoIf($["${AST_PSTN_TRUNK2}" = ""]?dial_pstn3)
+exten => s,n,Dial(${AST_PSTN_TRUNK2}/${DIALNO},,TWK)
+exten => s,n,Noop(DIALSTATUS=${DIALSTATUS}")
+exten => s,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?dial_pstn3)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+; LOCAL Call Test PSTN3
+exten => s,n(dial_pstn3),GotoIf($["${AST_PSTN_TRUNK3}" = ""]?dial_pstn4)
+exten => s,n,Dial(${AST_PSTN_TRUNK3}/${DIALNO},,TWK)
+exten => s,n,Noop(DIALSTATUS=${DIALSTATUS}")
+exten => s,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?dial_pstn4)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+; LOCAL Call Test PSTN4
+exten => s,n(dial_pstn4),GotoIf($["${AST_PSTN_TRUNK4}" = ""]?dial_voip)
+exten => s,n,Dial(${AST_PSTN_TRUNK4}/${DIALNO},,TWK)
+exten => s,n,Noop(DIALSTATUS=${DIALSTATUS}")
+exten => s,n,GotoIf($["${DIALSTATUS}"="CONGESTION"]?test_dial_voip)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+; If Local call and and AST_VoIP_NoLocal is set -> Congestion
+exten => s,n(test_dial_voip),GotoIf($["${IS_LOCAL}" = "FALSE"]?dial_voip)
+exten => s,n,GotoIf($["$AST_VoIP_NoLocal" != "1"]?dial_voip)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+; Test the first SIP VoIP trunk
+exten => s,n(dial_voip),GotoIf($["${AST_SIP_RegUser1}"=""]?dial_sip_voip2)
+exten => s,n,Set(CALLERID(num)=${AST_SIP_RegUser1})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?sip1_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten => s,n(sip1_noname),Dial(SIP/${DIALNO}@${AST_SIP_RegUser1},,TWK)
+exten => s,n(get_status),Noop(DIALSTATUS=${DIALSTATUS}")
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_sip_voip2)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_sip_voip2),GotoIf($["${AST_SIP_RegUser2}"=""]?dial_sip_voip3)
+exten => s,n,Set(CALLERID(num)=${AST_SIP_RegUser2})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?sip2_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten => s,n(sip2_noname),Dial(SIP/${DIALNO}@${AST_SIP_RegUser2},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_sip_voip3)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_sip_voip3),GotoIf($["${AST_SIP_RegUser3}"=""]?dial_sip_voip4)
+exten => s,n,Set(CALLERID(num)=${AST_SIP_RegUser3})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?sip3_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten => s,n(sip3_noname),Dial(SIP/${DIALNO}@${AST_SIP_RegUser3},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_sip_voip4)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_sip_voip4),GotoIf($["${AST_SIP_RegUser4}"=""]?dial_iax_voip1)
+exten => s,n,Set(CALLERID(num)=${AST_SIP_RegUser4})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?sip4_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten => s,n(sip4_noname),Dial(SIP/${DIALNO}@${AST_SIP_RegUser4},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_iax_voip1)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_iax_voip1),GotoIf($["${AST_IAX_RegUser1}"=""]?dial_iax_voip2)
+exten => s,n,Set(CALLERID(num)=${AST_IAX_RegUser1})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?iax1_noname)
+exten => s,n,Set(CALLERID(name)='"${AST_CallerName}"')
+exten =>
s,n(iax1_noname),Dial(IAX2/${AST_IAX_RegUser1}:${AST_IAX_RegPwd1}@${AST_IAX_RegHost1}/${DIALNO},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_iax_voip2)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_iax_voip2),GotoIf($["${AST_IAX_RegUser2}"=""]?dial_iax_voip3)
+exten => s,n,Set(CALLERID(num)=${AST_IAX_RegUser2})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?iax2_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten =>
s,n(iax2_noname),Dial(IAX2/${AST_IAX_RegUser2}:${AST_IAX_RegPwd2}@${AST_IAX_RegHost2}/${DIALNO},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_iax_voip3)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_iax_voip3),GotoIf($["${AST_IAX_RegUser3}"=""]?dial_iax_voip4)
+exten => s,n,Set(CALLERID(num)=${AST_IAX_RegUser3})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?iax3_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten =>
s,n(iax3_noname),Dial(IAX2/${AST_IAX_RegUser3}:${AST_IAX_RegPwd3}@${AST_IAX_RegHost3}/${DIALNO},,TWK)
+exten => s,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dial_iax_voip4)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+exten =>
s,n(dial_iax_voip4),GotoIf($["${AST_IAX_RegUser4}"=""]?s-CONGESTION,1)
+exten => s,n,Set(CALLERID(num)=${AST_IAX_RegUser4})
+exten => s,n,GotoIf($["${AST_CallerName}" = ""]?iax4_noname)
+exten => s,n,Set(CALLERID(name)=${AST_CallerName})
+exten =>
s,n(iax4_noname),Dial(IAX2/${AST_IAX_RegUser4}:${AST_IAX_RegPwd4}@${AST_IAX_RegHost4}/${DIALNO},,TWK)
+exten => s,n,Goto(s-${DIALSTATUS},1)
+
+;exten => s-CONGESTION,1,Playtones(congestion)
+;exten => s-CONGESTION,2,Congestion()
+exten => s-CONGESTION,1,Playtones(480+620/250,0/250)
+exten => s-CONGESTION,2,Wait(5);
+exten => s-CONGESTION,3,Hangup()
+
+exten => s-BUSY,1,Playtones(busy)
+exten => s-BUSY,n,Busy()
+
+exten => s-NOANSWER,1,NoOp(NOANSWER)
+
+;+----------------------------------------------------------------+
+[macro-refresh-nvram]
+exten => s,1,Goto(macro-test-nvram,s,no_test)
+
+[macro-test-nvram]
+
+exten => s,1,GotoIf($["${NVRAM_READ}" = "TRUE"]?end)
+
+exten => s,n(no_test),AGI(getnvramvars.sh)
+exten => s,n,SetGlobalVar(NVRAM_READ=TRUE)
+exten => s,n,Goto(end)
+
+exten => s,n,SetGlobalVar(NVRAM_READ=TRUE)
+exten => s,n(end),Noop(test-nvram done)
+
+;+----------------------------------------------------------------+
+[macro-get-config-file]
+exten => s,1,AGI(get_config_file.sh)
+exten => s,n,SetGlobalVar(NVRAM_READ=TRUE)
+exten => s,n(end),Noop(+- - - - read-config-from-file done - - - - +)
+
+;+----------------------------------------------------------------+
+[macro-answer-set-lang]
+exten => s,1,Macro(test-nvram)
+exten => s,n,GotoIf($["${AST_ServiceLanguage}"="E"]]?s,set_en)
+exten => s,n,Set(LANGUAGE()=fr)
+exten => s,n,Goto(s,answer)
+exten => s,n(set_en),Set(LANGUAGE()=en)
+exten => s,n(answer),Answer()
+;
+-------------------------------------------------------------------------------------------------+
+
+; ===== AutoDialer Application =======================
+; By No?l Bouchard
+; Tele Data Inc. 2008-2009
+
+
+;+----------------------------------------------------------------+
+
+; ===== WebCall =======================
+; By No?l Bouchard
+; Tele Data Inc. 2007-2009
+; ================================================================
+
+
+[webcall]
+exten => s,1,Wait(1)
+
+exten => s,n,GotoIf($["${WC_Language}"="E"]]?s,set_en)
+exten => s,n,Set(LANGUAGE()=fr)
+exten => s,n,Goto(s,send_ue)
+exten => s,n(set_en),Set(LANGUAGE()=en)
+
+; exten => s,n,Macro(answer-set-lang)
+exten => s,n(send_ue),UserEvent(WebCall|Channel: ${CHANNEL}|OutNum:
${OutNum}|Language: ${WC_Language}|FirstName: ${FirstName}|Lastname:
${LastName}|Company: ${Company})
+exten => s,n,Playback(webcall-rcvd)
+exten => s,n,Read(USER_SELECT,webcall-menu,1,,1,0)
+exten => s,n,GotoIf($["${USER_SELECT}"="1"]?do_call)
+exten => s,n,UserEvent(WebCall|Channel: ${CHANNEL}|OutNum: ${OutNum}|
Status: Canceled)
+exten => s,n,Goto(cancel)
+exten => s,n(do_call),UserEvent(WebCall|Channel: ${CHANNEL}|OutNum:
${OutNum}|Status: Calling)
+exten => s,n,Playback(pls-hold-while-try)
+exten => s,n,Noop(OutNum=${OutNum})
+exten => s,n,GotoIf($[${LEN(${OutNum})}<10]?cancel)
+exten => s,n,Goto(default,${OutNum},1)
+exten => s,n(cancel),Playback(cancelled)
+exten => h,1,Noop(HUNGUP !)
+
+;+----------------------------------------------------------------+
+
+
+; ===== Phone-In Dictation Mailboxes =======================
+; By No?l Bouchard
+; Tele Data Inc. 2009
+; ================================================================
+
+[hints]
+exten => FXO1,hint,SIP/FXO1
+exten => FXO2,hint,SIP/FXO2
+exten => FXO3,hint,SIP/FXO3
+exten => FXO4,hint,SIP/FXO4
+exten => 300,hint,SIP/300
+exten => 301,hint,SIP/301
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/features.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,94 @@
+;
+; Sample Call Features (parking, transfer, etc) configuration
+;
+
+[general]
+parkext => 700 ; What extension to dial to park
+parkpos => 701-720 ; What extensions to park calls on. These needs to be
+ ; numeric, as Asterisk starts from the start position
+ ; and increments with one for the next parked call.
+context => parkedcalls ; Which context parked calls are in
+;parkingtime => 45 ; Number of seconds a call can be parked for
+ ; (default is 45 seconds)
+courtesytone = beep ; Sound file to play to the parked caller
+ ; when someone dials a parked call
+ ; or the Touch Monitor is activated/deactivated.
+;parkedplay = caller ; Who to play the courtesy tone to when picking up a
parked call
+ ; one of: parked, caller, both (default is caller)
+;adsipark = yes ; if you want ADSI parking announcements
+;findslot => next ; Continue to the 'next' free parking space.
+ ; Defaults to 'first' available
+;parkedmusicclass=default ; This is the MOH class to use for the parked
channel
+ ; as long as the class is not set on the channel directly
+ ; using Set(CHANNEL(musicclass)=whatever) in the dialplan
+
+transferdigittimeout => 5 ; Number of seconds to wait between digits when
transferring a call
+ ; (default is 3 seconds)
+xfersound = beep ; to indicate an attended transfer is complete
+;xferfailsound = beeperr ; to indicate a failed transfer
+;pickupexten = *8 ; Configure the pickup extension. (default is *8)
+;featuredigittimeout = 500 ; Max time (ms) between digits for
+ ; feature activation (default is 500 ms)
+;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer
default is 15 seconds.
+
+[featuremap]
+blindxfer => #0 ; Blind transfer (default is #)
+;disconnect => *0 ; Disconnect (default is *)
+;automon => *1 ; One Touch Record a.k.a. Touch Monitor
+automon => *5 ; One Touch Record a.k.a. Touch Monitor
+atxfer => *0 ; Attended transfer
+;parkcall => #70 ; Park call (one step parking)
+
+[applicationmap]
+; Note that the DYNAMIC_FEATURES channel variable must be set to use the
features
+; defined here. The value of DYNAMIC_FEATURES should be the names of the
features
+; to allow the channel to use separated by '#'. For example:
+;
+; Set(DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)
+;
+;
+; The syntax for declaring a dynamic feature is the following:
+;
+;<FeatureName> =>
<DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]
+;
+; FeatureName -> This is the name of the feature used in when setting
the
+; DYNAMIC_FEATURES variable to enable usage of this
feature.
+; DTMF_sequence -> This is the key sequence used to activate this feature.
+; ActivateOn -> This is the channel of the call that the application
will be executed
+; on. Valid values are "self" and "peer". "self" means
run the
+; application on the same channel that activated the
feature. "peer"
+; means run the application on the opposite channel from
the one that
+; has activated the feature.
+; ActivatedBy -> This is which channel is allowed to activate this
feature. Valid
+; values are "caller", "callee", and "both". "both" is
the default.
+; The "caller" is the channel that executed the Dial
application, while
+; the "callee" is the channel called by the Dial
application.
+; Application -> This is the application to execute.
+; AppArguments -> These are the arguments to be passed into the
application.
+; MOH_Class -> This is the music on hold class to play while the idle
+; channel waits for the feature to complete. If left
blank,
+; no music will be played.
+;
+;
+; IMPORTANT NOTE: The applicationmap is not intended to be used for all
Asterisk
+; applications. When applications are used in extensions.conf, they are
executed
+; by the PBX core. In this case, these applications are executed outside
of the
+; PBX core, so it does *not* make sense to use any application which has
any
+; concept of dialplan flow. Examples of this would be things like Macro,
Goto,
+; Background, WaitExten, and many more.
+;
+; Enabling these features means that the PBX needs to stay in the media
flow and
+; media will not be re-directed if DTMF is sent in the media stream.
+;
+; Example Usage:
+;
+;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and
callee to play
+; ;tt-monkeys to the opposite
channel
+;
+;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to
pause monitoring
+; ;on their channel
+;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to
unpause monitoring
+; ;on their channel
+;
+; NB TEST Does not work ...
+StartMixMonitor => *6,self/both,MixMonitor,test.gsm
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/followme.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,86 @@
+; Find-Me / Follow-Me Configuration File
+[general]
+;
+featuredigittimeout=>5000
+; The number of ms to wait for a digit input for the callee on whether to
take the call or
+; not before we consider them "done" entering digits.
+;
+takecall=>1
+; The global default keypress for the callee to take taking the current
call. This can be
+; a single digit or multiple digits. Default is "1".
+;
+declinecall=>2
+; The global default keypress for the callee to decline taking the current
call. This can
+; be a single digit or multiple digits. Default is "2".
+;
+call-from-prompt=>followme/call-from
+; The global default for the 'Incoming call from' message.
+;
+norecording-prompt=>followme/no-recording
+; The global default for the 'You have an incoming call' message when the
caller elects
+; not to leave their name or the option isn't set for them to do so.
+;
+options-prompt=>followme/options
+; The global default for the 'Press 1 to accept this call or press 2 to
decline it' message.
+;
+pls-hold-prompt=>followme/pls-hold-while-try
+; The global default for 'Please hold while we try and connect your call'
message.
+;
+status-prompt=>followme/status
+; The global default for 'The party you're calling isn't at their desk'
message.
+;
+sorry-prompt=>followme/sorry
+; The global default for 'I'm sorry, but we were unable to locate your
party' message.
+;
+;
+[default]
+musicclass=>default
+; The moh class that should be used for the caller while they are waiting
to be connected.
+context=>default
+; The context to dial the numbers from
+number=>01233456,25
+; The a follow-me number to call. The format is:
+; number=> <number to call[&2nd #[&3rd #]]> [, <timeout value in seconds>
[, <order in follow-me>] ]
+; You can specify as many of these numbers as you like. They will be
dialed in the
+; order that you specify them in the config file OR as specified with the
order field
+; on the number prompt. As you can see from the example, forked dialing of
multiple
+; numbers in the same step is supported with this application if you'd
like to dial
+; multiple numbers in the same followme step.
+; It's also important to note that the timeout value is not the same
+; as the timeout value you would use in app_dial. This timeout value is
the amount of
+; time allowed between the time the dialing step starts and the callee
makes a choice
+; on whether to take the call or not. That being the case, you may want to
account for
+; this time, and make this timeout longer than a timeout you might specify
in app_dial.
+takecall=>1
+; The keypress for the callee to take taking the current call. This can be
+; a single digit or multiple digits. Default is the global default.
+;
+declinecall=>2
+; The keypress for the callee to decline taking the current call. This can
+; be a single digit or multiple digits. Default is the global default.
+;
+call-from-prompt=>followme/call-from
+; The 'Incoming call from' message prompt. Default is the global default.
+;
+followme-norecording-prompt=>followme/no-recording
+; The 'You have an incoming call' message prompt when the caller elects
+; not to leave their name or the option isn't set for them to do so.
Default
+; is the global default.
+;
+followme-options-prompt=>followme/followme-options
+; The 'Press 1 to accept this call or press 2 to decline it' message
prompt.
+; Default is the global default.
+;
+followme-pls-hold-prompt=>followme/pls-hold-while-try
+; The 'Please hold while we try and connect your call' message prompt.
+; Default is the global default.
+;
+followme-status-prompt=>followme/followme-status
+; The 'The party you're calling isn't at their desk' message prompt.
+; Default is the global default.
+;
+followme-sorry-prompt=>followme/followme-sorry
+; The 'I'm sorry, but we were unable to locate your party' message prompt.
Default
+; is the global default.
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/gtalk.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,19 @@
+;[general]
+;context=default ;;Context to dump call into
+;allowguest=yes ;;Allow calls from people not in
+ ;;list of peers
+;
+;[guest] ;;special account for options on guest account
+;disallow=all
+;allow=ulaw
+;context=guest
+;
+;[ogorman]
+;username=
ogo...@gmail.com ;;username of the peer your
+ ;;calling or accepting calls from
+;disallow=all
+;allow=ulaw
+;context=default
+;connection=asterisk ;;client or component in jabber.conf
+ ;;for the call to leave on.
+;
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/h323.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,193 @@
+; The NuFone Network's
+; Open H.323 driver configuration
+;
+[general]
+port = 1720
+;bindaddr = 1.2.3.4 ; this SHALL contain a single, valid IP address for
this machine
+;tos=lowdelay
+;
+; You may specify a global default AMA flag for iaxtel calls. It must be
+; one of 'default', 'omit', 'billing', or 'documentation'. These flags
+; are used in the generation of call detail records.
+;
+;amaflags = default
+;
+; You may specify a default account for Call Detail Records in addition
+; to specifying on a per-user basis
+;
+;accountcode=lss0101
+;
+; You can fine tune codecs here using "allow" and "disallow" clauses
+; with specific codecs. Use "all" to represent all formats.
+;
+;disallow=all
+;allow=all ; turns on all installed codecs
+;disallow=g723.1 ; Hm... Proprietary, don't use it...
+;allow=gsm ; Always allow GSM, it's cool :)
+;allow=ulaw ; see doc/rtp-packetization for framing options
+;
+; User-Input Mode (DTMF)
+;
+; valid entries are: rfc2833, inband
+; default is rfc2833
+;dtmfmode=rfc2833
+;
+; Default RTP Payload to send RFC2833 DTMF on. This is used to
+; interoperate with broken gateways which cannot successfully
+; negotiate a RFC2833 payload type in the TerminalCapabilitySet.
+;
+; You may also specify on either a per-peer or per-user basis below.
+;dtmfcodec=101
+;
+; Set the gatekeeper
+; DISCOVER - Find the Gk address using multicast
+; DISABLE - Disable the use of a GK
+; <IP address> or <Host name> - The acutal IP address or hostname of your
GK
+;gatekeeper = DISABLE
+;
+;
+; Tell Asterisk whether or not to accept Gatekeeper
+; routed calls or not. Normally this should always
+; be set to yes, unless you want to have finer control
+; over which users are allowed access to Asterisk.
+; Default: YES
+;
+;AllowGKRouted = yes
+;
+; When the channel works without gatekeeper, there is possible to
+; reject calls from anonymous (not listed in users) callers.
+; Default is to allow anonymous calls.
+;
+;AcceptAnonymous = yes
+;
+; Optionally you can determine a user by Source IP versus its H.323 alias.
+; Default behavour is to determine user by H.323 alias.
+;
+;UserByAlias=no
+;
+; Default context gets used in siutations where you are using
+; the GK routed model or no type=user was found. This gives you
+; the ability to either play an invalid message or to simply not
+; use user authentication at all.
+;
+;context=default
+;
+; Use this option to help Cisco (or other) gateways to setup backward voice
+; path to pass inband tones to calling user (see, for example,
+;
http://www.cisco.com/warp/public/788/voip/ringback.html)
+;
+; Add PROGRESS information element to SETUP message sent on outbound calls
+; to notify about required backward voice path. Valid values are:
+; 0 - don't add PROGRESS information element (default);
+; 1 - call is not end-end ISDN, further call progress information can
+; possibly be available in-band;
+; 3 - origination address is non-ISDN (Cisco accepts this value only);
+; 8 - in-band information or an appropriate pattern is now available;
+;progress_setup = 3
+;
+; Add PROGRESS information element (IE) to ALERT message sent on incoming
+; calls to notify about required backwared voice path. Valid values are:
+; 0 - don't add PROGRESS IE (default);
+; 8 - in-band information or an appropriate pattern is now available;
+;progress_alert = 8
+;
+; Generate PROGRESS message when H.323 audio path has established to create
+; backward audio path at other end of a call.
+;progress_audio = yes
+;
+; Specify how to inject non-standard information into H.323 messages. When
+; the channel receives messages with tunneled information, it automatically
+; enables the same option for all further outgoing messages independedly on
+; options has been set by the configuration. This behavior is required, for
+; example, for Cisco CallManager when Q.SIG tunneling is enabled for a
+; gateway where Asterisk lives.
+; The option can be used multiple times, one option per line.
+;tunneling=none ; Totally disable tunneling (default)
+;tunneling=cisco ; Enable Cisco-specific tunneling
+;tunneling=qsig ; Enable tunneling via Q.SIG messages
+;
+;------------------------------ JITTER BUFFER CONFIGURATION
--------------------------
+; jbenable = yes ; Enables the use of a jitterbuffer on the
receiving side of a
+ ; H323 channel. Defaults to "no". An enabled
jitterbuffer will
+ ; be used only if the sending side can
create and the receiving
+ ; side can not accept jitter. The H323
channel can accept jitter,
+ ; thus an enabled jitterbuffer on the
receive H323 side will only
+ ; be used if the sending side can create
jitter and jbforce is
+ ; also set to yes.
+
+; jbforce = no ; Forces the use of a jitterbuffer on the
receive side of a H323
+ ; channel. Defaults to "no".
+
+; jbmaxsize = 200 ; Max length of the jitterbuffer in
milliseconds.
+
+; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which
the jitterbuffer is
+ ; resynchronized. Useful to improve the
quality of the voice, with
+ ; big jumps in/broken timestamps, usualy
sent from exotic devices
+ ; and programs. Defaults to 1000.
+
+; jbimpl = fixed ; Jitterbuffer implementation, used on the
receiving side of a H323
+ ; channel. Two implementations are currenlty
available - "fixed"
+ ; (with size always equals to jbmax-size)
and "adaptive" (with
+ ; variable size, actually the new jb of
IAX2). Defaults to fixed.
+
+; jblog = no ; Enables jitterbuffer frame logging.
Defaults to "no".
+;-----------------------------------------------------------------------------------
+;
+; H.323 Alias definitions
+;
+; Type 'h323' will register aliases to the endpoint
+; and Gatekeeper, if there is one.
+;
+; Example: if someone calls
ti...@your.asterisk.box.com
+; Asterisk will send the call to the extension 'time'
+; in the context default
+;
+; [default]
+; exten => time,1,Answer
+; exten => time,2,Playback,current-time
+;
+; Keyword's 'prefix' and 'e164' are only make sense when
+; used with a gatekeeper. You can specify either a prefix
+; or E.164 this endpoint is responsible for terminating.
+;
+; Example: The H.323 alias 'det-gw' will tell the gatekeeper
+; to route any call with the prefix 1248 to this alias. Keyword
+; e164 is used when you want to specifiy a full telephone
+; number. So a call to the number
18102341212 would be
+; routed to the H.323 alias 'time'.
+;
+;[time]
+;type=h323
+;e164=
18102341212
+;context=default
+;
+;[det-gw]
+;type=h323
+;prefix=1248,1313
+;context=detroit
+;
+;
+; Inbound H.323 calls from BillyBob would land in the incoming
+; context with a maximum of 4 concurrent incoming calls
+;
+;
+; Note: If keyword 'incominglimit' are omitted Asterisk will not
+; enforce any maximum number of concurrent calls.
+;
+;[BillyBob]
+;type=user
+;host=192.168.1.1
+;context=incoming
+;incominglimit=4
+;h245Tunneling=no
+;
+;
+; Outbound H.323 call to Larry using SlowStart
+;
+;[Larry]
+;type=peer
+;host=192.168.2.1
+;fastStart=no
+
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/http.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,29 @@
+;
+; Asterisk Builtin mini-HTTP server
+;
+;
+[general]
+;
+; Whether HTTP interface is enabled or not. Default is no.
+;
+enabled=yes
+
+;
+; Whether Asterisk should serve static content from http-static
+; Default is no.
+;
+enablestatic=yes
+;
+; Address to bind to. Default is 0.0.0.0
+;
+;bindaddr=127.0.0.1
+;
+; Port to bind to (default is 8088)
+;
+bindport=8088
+;
+; Prefix allows you to specify a prefix for all requests
+; to the server. The default is "asterisk" so that all
+; requests must begin with /asterisk
+;
+; prefix=asterisk
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/iax.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,85 @@
+; Inter-Asterisk eXchange driver definition
+[general]
+;bindport=4569 ; bindport and bindaddr may be specified
+; ; NOTE: bindport must be specified BEFORE bindaddr
+; ; or may be specified on a specific bindaddr if
followed by
+; ; colon and port (e.g. bindaddr=
192.168.0.1:4569)
+;bindaddr=192.168.0.1 ; more than once to bind to multiple
+; ; addresses, but the first will be the
+; default
+;
+bandwidth=low
+;
+; You can also fine tune codecs here using "allow" and "disallow" clauses
+; with specific codecs. Use "all" to represent all formats.
+;
+disallow=all ; First disallow all codecs
+allow=ulaw ; Allow codecs in order of preference
+;allow=g726 ; IMA ADPCM 16,24,32,40 Khz
+allow=gsm ; Always allow GSM, it's cool :)
+
+; TEST NB
+jitterbuffer=yes
+
+forcejitterbuffer=no
+;dropcount=2
+;maxjitterbuffer=1000
+;maxjitterinterps=10
+;resyncthreshold=1000
+;maxexcessbuffer=80
+;minexcessbuffer=10
+;jittershrinkrate=1
+
+;;trunkfreq=20 ; How frequently to send trunk msgs (in ms)
+
+tos=lowdelay
+autokill=yes
+
+; NOTE we are still in general context at include start
+; include iax_custom.conf
+;
+;[guest]
+;type=user
+;context=default
+;callerid="Guest IAX User"
+
+;
+; Trust Caller*ID Coming from
iaxtel.com
+;
+;[iaxtel]
+;type=user
+;context=default
+;auth=rsa
+;inkeys=iaxtel
+
+;
+; Trust Caller*ID Coming from
iax.fwdnet.net
+;
+;[iaxfwd]
+;type=user
+;context=default
+;auth=rsa
+;inkeys=freeworlddialup
+
+;
+; Trust callerid delivered over DUNDi/e164
+;
+;
+;[dundi]
+;type=user
+;dbsecret=dundi/secret
+;context=dundi-e164-local
+
+
+;[demo]
+;type=peer
+;username=asterisk
+;secret=supersecret
+;host=216.207.245.47
+
+;----------------------------------------------------------
+
+; NOTE we are still in general context at include start
+#include iax_custom.conf
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/iax_custom.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,4 @@
+; Written by MARS
+
+; IAX2 and Remote MARS servers Registrations.
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/iaxprov.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,81 @@
+;
+; IAX2 Provisioning Information
+;
+; Contains provisioning information for templates and for specific service
+; entries.
+;
+; Templates provide a group of settings from which provisioning takes
place.
+; A template may be based upon any template that has been specified before
+; it. If the template that an entry is based on is not specified then it
is
+; presumed to be 'default' (unless it is the first of course).
+;
+; Templates which begin with 'si-' are used for provisioning units with
+; specific service identifiers. For example the entry "si-000364000126"
+; would be used when the device with the corresponding service identifier
of
+; "000364000126" attempts to register or make a call.
+;
+[default]
+;
+; The port number the device should use to bind to. The default is 4569.
+;
+;port=4569
+;
+; server is our PRIMARY server for registration and placing calls
+;
+;server=192.168.69.3
+;
+; altserver is the BACKUP server for registration and placing calls in the
+; event the primary server is unavailable.
+;
+;altserver=192.168.69.4
+;
+; port is the port number to use for IAX2 outbound. The connections to the
+; server and altserver -- default is of course 4569.
+;serverport=4569
+;
+; language is the preferred language for the device
+;
+;language=en
+;
+; codec is the requested codec. The iaxy supports ulaw and adpcm
+;
+codec=ulaw
+;
+; flags is a comma separated list of flags which the device should
+; use and may contain any of the following keywords:
+;
+; "register" - Register with server
+; "secure" - Do not accept calls / provisioning not originated by the
server
+; "heartbeat" - Generate status packets on port 9999 sent to
255.255.255.255
+; "debug" - Output extra debugging to port 9999
+;
+; Note that use can use += and -= to adjust parameters
+;
+flags=register,heartbeat
+;
+; See doc/README.tos for a description of this parameter.
+;tos=ef
+;
+; Example iaxy provisioning
+;
+;[si-000364000126]
+;user=iaxy
+;pass=bitsy
+;flags += debug
+
+;[si-000364000127]
+;user=iaxy2
+;pass=bitsy2
+;template=si-000364000126
+;flags += debug
+
+;
+;[*]
+;
+; If specified, the '*' provisioning is used for all devices which do not
+; have another provisioning entry within the file. If unspecified, no
+; provisioning will take place for devices which have no entry. DO NOT
+; USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING.
+;
+;template=default
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/indications.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,707 @@
+; indications.conf
+; Configuration file for location specific tone indications
+; used by the pbx_indications module.
+;
+; NOTE:
+; When adding countries to this file, please keep them in alphabetical
+; order according to the 2-character country codes!
+;
+; The [general] category is for certain global variables.
+; All other categories are interpreted as location specific indications
+;
+;
+[general]
+country=us ; default location
+
+
+; [example]
+; description = string
+; The full name of your country, in English.
+; alias = iso[,iso]*
+; List of other countries 2-letter iso codes, which have the same
+; tone indications.
+; ringcadence = num[,num]*
+; List of durations the physical bell rings.
+; dial = tonelist
+; Set of tones to be played when one picks up the hook.
+; busy = tonelist
+; Set of tones played when the receiving end is busy.
+; congestion = tonelist
+; Set of tones played when there is some congestion (on the network?)
+; callwaiting = tonelist
+; Set of tones played when there is a call waiting in the background.
+; dialrecall = tonelist
+; Not well defined; many phone systems play a recall dial tone after
hook
+; flash.
+; record = tonelist
+; Set of tones played when call recording is in progress.
+; info = tonelist
+; Set of tones played with special information messages
(e.g., "number is
+; out of service")
+; 'name' = tonelist
+; Every other variable will be available as a shortcut for
the "PlayList" command
+; but will not be used automatically by Asterisk.
+;
+;
+; The tonelist itself is defined by a comma-separated sequence of elements.
+; Each element consist of a frequency (f) with an optional duration (in ms)
+; attached to it (f/duration). The frequency component may be a mixture of
two
+; frequencies (f1+f2) or a frequency modulated by another frequency
(f1*f2).
+; The implicit modulation depth is fixed at 90%, though.
+; If the list element starts with a !, that element is NOT repeated,
+; therefore, only if all elements start with !, the tonelist is
time-limited,
+; all others will repeat indefinitely.
+;
+; concisely:
+; element = [!]freq[+|*freq2][/duration]
+; tonelist = element[,element]*
+;
+; Please note that SPACES ARE NOT ALLOWED in tone lists!
+;
+
+[at]
+description = Austria
+ringcadence = 1000,5000
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+dial = 420
+busy = 420/400,0/400
+ring = 420/1000,0/5000
+congestion = 420/200,0/200
+callwaiting = 420/40,0/1960
+dialrecall = 420
+; RECORDTONE - not specified
+record = 1400/80,0/14920
+info = 950/330,1450/330,1850/330,0/1000
+stutter = 380+420
+
+[au]
+description = Australia
+; Reference
http://www.acif.org.au/__data/page/3303/S002_2001.pdf
+; Normal Ring
+ringcadence = 400,200,400,2000
+; Distinctive Ring 1 - Forwarded Calls
+; 400,400,200,200,400,1400
+; Distinctive Ring 2 - Selective Ring 2 + Operator + Recall
+; 400,400,200,2000
+; Distinctive Ring 3 - Multiple Subscriber Number 1
+; 200,200,400,2200
+; Distinctive Ring 4 - Selective Ring 1 + Centrex
+; 400,2600
+; Distinctive Ring 5 - Selective Ring 3
+; 400,400,200,400,200,1400
+; Distinctive Ring 6 - Multiple Subscriber Number 2
+; 200,400,200,200,400,1600
+; Distinctive Ring 7 - Multiple Subscriber Number 3 + Data Privacy
+; 200,400,200,400,200,1600
+; Tones
+dial = 413+438
+busy = 425/375,0/375
+ring = 413+438/400,0/200,413+438/400,0/2000
+; XXX Congestion: Should reduce by 10 db every other cadence XXX
+congestion = 425/375,0/375,420/375,0/375
+callwaiting = 425/200,0/200,425/200,0/4400
+dialrecall = 413+438
+; Record tone used for Call Intrusion/Recording or Conference
+record = !425/1000,!0/15000,425/360,0/15000
+info = 425/2500,0/500
+; Other Australian Tones
+; The STD "pips" indicate the call is not an untimed local call
+std
= !525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100,!0/100,!525/100
+; Facility confirmation tone (eg. Call Forward Activated)
+facility = 425
+; Message Waiting "stutter" dialtone
+stutter = 413+438/100,0/40
+; Ringtone for calls to Telstra mobiles
+ringmobile = 400+450/400,0/200,400+450/400,0/2000
+
+[bg]
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+description = Bulgaria
+ringdance = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/150,0/150,425/150,0/4000
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+record = 1400/425,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425/1500,0/100
+
+[br]
+description = Brazil
+ringcadence = 1000,4000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/4000
+congestion = 425/250,0/250,425/750,0/250
+callwaiting = 425/50,0/1000
+; Dialrecall not used in Brazil standard (using UK standard)
+dialrecall = 350+440
+; Record tone is not used in Brazil, use busy tone
+record = 425/250,0/250
+; Info not used in Brazil standard (using UK standard)
+info = 950/330,1400/330,1800/330
+stutter = 350+440
+
+[be]
+description = Belgium
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,3000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/3000
+congestion = 425/167,0/167
+callwaiting = 1400/175,0/175,1400/175,0/3500
+; DIALRECALL - not specified
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440"
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = 900/330,1400/330,1800/330,0/1000
+stutter = 425/1000,0/250
+
+[ch]
+description = Switzerland
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/200,0/200,425/200,0/4000
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425+340/1100,0/1100
+
+[cl]
+description = Chile
+; According to specs from Telefonica CTC Chile
+ringcadence = 1000,3000
+dial = 400
+busy = 400/500,0/500
+ring = 400/1000,0/3000
+congestion = 400/200,0/200
+callwaiting = 400/250,0/8750
+dialrecall = !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+record = 1400/500,0/15000
+info = 950/333,1400/333,1800/333,0/1000
+stutter
= !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+
+[cn]
+description = China
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 450
+busy = 450/350,0/350
+ring = 450/1000,0/4000
+congestion = 450/700,0/700
+callwaiting = 450/400,0/4000
+dialrecall = 450
+record = 950/400,0/10000
+info = 450/100,0/100,450/100,0/100,450/100,0/100,450/400,0/400
+; STUTTER - not specified
+stutter = 450+425
+
+[cz]
+description = Czech Republic
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425/330,0/330,425/660,0/660
+busy = 425/330,0/330
+ring = 425/1000,0/4000
+congestion = 425/165,0/165
+callwaiting = 425/330,0/9000
+; DIALRECALL - not specified
+dialrecall
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425/330,0/330,425/660,0/660
+; RECORDTONE - not specified
+record = 1400/500,0/14000
+info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
+; STUTTER - not specified
+stutter = 425/450,0/50
+
+[de]
+description = Germany
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/480,0/480
+ring = 425/1000,0/4000
+congestion = 425/240,0/240
+callwaiting
= !425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,!0/5000,!425/200,!0/200,!425/200,0
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425+400
+
+[dk]
+description = Denmark
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = !425/200,!0/600,!425/200,!0/3000,!425/200,!0/200,!425/200,0
+; DIALRECALL - not specified
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; RECORDTONE - not specified
+record = 1400/80,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+; STUTTER - not specified
+stutter = 425/450,0/50
+
+[ee]
+description = Estonia
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+; CALLWAIT not in accordance to ITU
+callwaiting = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+; DIALRECALL - not specified
+dialrecall = 425/650,0/25
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; INFO not in accordance to ITU
+info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+; STUTTER not specified
+stutter
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[es]
+description = Spain
+ringcadence = 1500,3000
+dial = 425
+busy = 425/200,0/200
+ring = 425/1500,0/3000
+congestion = 425/200,0/200,425/200,0/200,425/200,0/600
+callwaiting = 425/175,0/175,425/175,0/3500
+dialrecall = !425/200,!0/200,!425/200,!0/200,!425/200,!0/200,425
+record = 1400/500,0/15000
+info = 950/330,0/1000
+dialout = 500
+
+
+[fi]
+description = Finland
+ringcadence = 1000,4000
+dial = 425
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/8000
+dialrecall = 425/650,0/25
+record = 1400/500,0/15000
+info = 950/650,0/325,950/325,0/30,1400/1300,0/2600
+stutter = 425/650,0/25
+
+[fr]
+description = France
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1500,3500
+; Dialtone can also be 440+330
+dial = 440
+busy = 440/500,0/500
+ring = 440/1500,0/3500
+; CONGESTION - not specified
+congestion = 440/250,0/250
+callwait = 440/300,0/10000
+; DIALRECALL - not specified
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330
+stutter
= !440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,!440/100,!0/100,440
+
+[gr]
+description = Greece
+ringcadence = 1000,4000
+dial = 425/200,0/300,425/700,0/800
+busy = 425/300,0/300
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/8000
+dialrecall = 425/650,0/25
+record = 1400/400,0/15000
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 425/650,0/25
+
+[hu]
+description = Hungary
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1250,3750
+dial = 425
+busy = 425/300,0/300
+ring = 425/1250,0/3750
+congestion = 425/300,0/300
+callwaiting = 425/40,0/1960
+dialrecall = 425+450
+; RECORDTONE - not specified
+record = 1400/400,0/15000
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 350+375+400
+
+[il]
+description = Israel
+ringcadence = 1000,3000
+dial = 414
+busy = 414/500,0/500
+ring = 414/1000,0/3000
+congestion = 414/250,0/250
+callwaiting = 414/100,0/100,414/100,0/100,414/600,0/3000
+dialrecall = !414/100,!0/100,!414/100,!0/100,!414/100,!0/100,414
+record = 1400/500,0/15000
+info = 1000/330,1400/330,1800/330,0/1000
+stutter
= !414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,!414/160,!0/160,414
+
+
+[in]
+description = India
+ringcadence = 400,200,400,2000
+dial = 400*25
+busy = 400/750,0/750
+ring = 400*25/400,0/200,400*25/400,0/2000
+congestion = 400/250,0/250
+callwaiting = 400/200,0/100,400/200,0/7500
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0/1000
+stutter
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[it]
+description = Italy
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+dial = 425/200,0/200,425/600,0/1000
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/400,0/100,425/250,0/100,425/150,0/14000
+dialrecall = 470/400,425/400
+record = 1400/400,0/15000
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 470/400,425/400
+
+[lt]
+description = Lithuania
+ringcadence = 1000,4000
+dial = 425
+busy = 425/350,0/350
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/150,0/150,425/150,0/4000
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+; STUTTER - not specified
+stutter
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[jp]
+description = Japan
+ringcadence = 1000,2000
+dial = 400
+busy = 400/500,0/500
+ring = 400+15/1000,0/2000
+congestion = 400/500,0/500
+callwaiting = 400+16/500,0/8000
+dialrecall = !400/200,!0/200,!400/200,!0/200,!400/200,!0/200,400
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter
= !400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,!400/100,!0/100,400
+
+[mx]
+description = Mexico
+ringcadence = 2000,4000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/200,0/600,425/200,0/10000
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = 950/330,0/30,1400/330,0/30,1800/330,0/1000
+stutter
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[my]
+description = Malaysia
+ringcadence = 2000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/400,0/200
+congestion = 425/500,0/500
+
+[nl]
+description = Netherlands
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+ringcadence = 1000,4000
+; Most of these 425's can also be 450's
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 425/500,0/9500
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter = 425/500,0/50
+
+[no]
+description = Norway
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/200,0/200
+callwaiting = 425/200,0/600,425/200,0/10000
+dialrecall = 470/400,425/400
+record = 1400/400,0/15000
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,0
+stutter = 470/400,425/400
+
+[nz]
+description = New Zealand
+;NOTE - the ITU has different tonesets for NZ, but according to some
residents there,
+; this is, indeed, the correct way to do it.
+ringcadence = 400,200,400,2000
+dial = 400
+busy = 400/250,0/250
+ring = 400+450/400,0/200,400+450/400,0/2000
+congestion = 400/375,0/375
+callwaiting = !400/200,!0/3000,!400/200,!0/3000,!400/200,!0/3000,!400/200
+dialrecall = !400/100!0/100,!400/100,!0/100,!400/100,!0/100,400
+record = 1400/425,0/15000
+info = 400/750,0/100,400/750,0/100,400/750,0/100,400/750,0/400
+stutter
= !400/100!0/100,!400/100,!0/100,!400/100,!0/100,!400/100!0/100,!400/100,!0/100,!400/100,!0/100,400
+unobtainable = 400/75,0/100,400/75,0/100,400/75,0/100,400/75,0/400
+
+[pl]
+description = Poland
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/500,0/500
+callwaiting = 425/150,0/150,425/150,0/4000
+; DIALRECALL - not specified
+dialrecall = 425/500,0/50
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; 950/1400/1800 3x0.33 on 1.0 off repeated 3 times
+info
= !950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000,!950/330,!1400/330,!1800/330,!0/1000
+; STUTTER - not specified
+stutter
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[pt]
+description = Portugal
+ringcadence = 1000,5000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/5000
+congestion = 425/200,0/200
+callwaiting = 440/300,0/10000
+dialrecall = 425/1000,0/200
+record = 1400/500,0/15000
+info = 950/330,1400/330,1800/330,0/1000
+stutter
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+
+[ru]
+description = Russia / ex Soviet Union
+ringcadence = 800,3200
+dial = 425
+busy = 425/350,0/350
+ring = 425/800,0/3200
+congestion = 425/350,0/350
+callwaiting = 425/200,0/5000
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+
+[se]
+description = Sweden
+ringcadence = 1000,5000
+dial = 425
+busy = 425/250,0/250
+ring = 425/1000,0/5000
+congestion = 425/250,0/750
+callwaiting = 425/200,0/500,425/200,0/9100
+dialrecall = !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+record = 1400/500,0/15000
+info
= !950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,!0/2024,!950/332,!0/24,!1400/332,!0/24,!1800/332,0
+stutter
= !425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425
+; stutter = 425/320,0/20 ; Real swedish standard, not used for now
+
+[sg]
+description = Singapore
+; Singapore
+; Reference:
http://www.ida.gov.sg/idaweb/doc/download/I397/ida_ts_pstn1_i4r2.pdf
+; Frequency specs are: 425 Hz +/- 20Hz; 24 Hz +/- 2Hz; modulation depth
100%; SIT +/- 50Hz
+ringcadence = 400,200,400,2000
+dial = 425
+ring = 425*24/400,0/200,425*24/400,0/2000 ; modulation should
be 100%, not 90%
+busy = 425/750,0/750
+congestion = 425/250,0/250
+callwaiting = 425*24/300,0/200,425*24/300,0/3200
+stutter
= !425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,!425/200,!0/200,!425/600,!0/200,425
+info = 950/330,1400/330,1800/330,0/1000 ; not currently in
use acc. to reference
+dialrecall = 425*24/500,0/500,425/500,0/2500 ; unspecified in IDA
reference, use repeating Holding Tone A,B
+record = 1400/500,0/15000 ; unspecified in IDA
reference, use 0.5s tone every 15s
+; additionally defined in reference
+nutone = 425/2500,0/500
+intrusion = 425/250,0/2000
+warning = 425/624,0/4376 ; end of period tone,
warning
+acceptance = 425/125,0/125
+holdinga = !425*24/500,!0/500 ; followed by holdingb
+holdingb = !425/500,!0/2500
+
+[th]
+description = Thailand
+ringcadence = 1000,4000
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+dial = 400*50
+busy = 400/500,0/500
+ring = 420/1000,0/5000
+congestion = 400/300,0/300
+callwaiting = 1000/400,10000/400,1000/400
+; DIALRECALL - not specified - use special dial tone instead.
+dialrecall = 400*50/400,0/100,400*50/400,0/100
+; RECORDTONE - not specified
+record = 1400/500,0/15000
+; INFO - specified as an announcement - use special information tones
instead
+info = 950/330,1400/330,1800/330
+; STUTTER - not specified
+stutter
= !400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,400
+
+[uk]
+description = United Kingdom
+ringcadence = 400,200,400,2000
+; These are the official tones taken from BT SIN350. The actual tones
+; used by BT include some volume differences so sound slightly different
+; from Asterisk-generated ones.
+dial = 350+440
+; Special dial is the intermittent dial tone heard when, for example,
+; you have a divert active on the line
+specialdial = 350+440/750,440/750
+; Busy is also called "Engaged"
+busy = 400/375,0/375
+; "Congestion" is the Beep-bip engaged tone
+congestion = 400/400,0/350,400/225,0/525
+; "Special Congestion" is not used by BT very often if at all
+specialcongestion = 400/200,1004/300
+unobtainable = 400
+ring = 400+450/400,0/200,400+450/400,0/2000
+callwaiting = 400/100,0/4000
+; BT seem to use "Special Call Waiting" rather than just "Call Waiting"
tones
+specialcallwaiting = 400/250,0/250,400/250,0/250,400/250,0/5000
+; "Pips" used by BT on payphones. (Sounds wrong, but this is what BT claim
it
+; is and I've not used a payphone for years)
+creditexpired = 400/125,0/125
+; These two are used to confirm/reject service requests on exchanges that
+; don't do voice announcements.
+confirm = 1400
+switching = 400/200,0/400,400/2000,0/400
+; This is the three rising tones Doo-dah-dee "Special Information Tone",
+; usually followed by the BT woman saying an appropriate message.
+info = 950/330,0/15,1400/330,0/15,1800/330,0/1000
+; Not listed in SIN350
+record = 1400/500,0/60000
+stutter = 350+440/750,440/750
+
+[us]
+description = United States / North America
+ringcadence = 2000,4000
+dial = 350+440
+busy = 480+620/500,0/500
+ring = 440+480/2000,0/4000
+congestion = 480+620/250,0/250
+callwaiting = 440/300,0/10000
+dialrecall
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[us-old]
+description = United States Circa 1950/ North America
+ringcadence = 2000,4000
+dial = 600*120
+busy = 500*100/500,0/500
+ring = 420*40/2000,0/4000
+congestion = 500*100/250,0/250
+callwaiting = 440/300,0/10000
+dialrecall
= !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter
= !600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,!600*120/100,!0/100,600*120
+
+[tw]
+description = Taiwan
+;
http://nemesis.lonestar.org/reference/telecom/signaling/dialtone.html
+;
http://nemesis.lonestar.org/reference/telecom/signaling/busy.html
+;
http://www.iproducts.com.tw/ee/kylink/06ky-1000a.htm
+;
http://www.pbx-manufacturer.com/ky120dx.htm
+;
http://www.nettwerked.net/tones.txt
+;
http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/taiw_sup/taiw2.htm
+;
+; busy tone 480+620Hz 0.5 sec. on ,0.5 sec. off
+; reorder tone 480+620Hz 0.25 sec. on,0.25 sec. off
+; ringing tone 440+480Hz 1 sec. on ,2 sec. off
+;
+ringcadence = 1000,4000
+dial = 350+440
+busy = 480+620/500,0/500
+ring = 440+480/1000,0/2000
+congestion = 480+620/250,0/250
+callwaiting = 350+440/250,0/250,350+440/250,0/3250
+dialrecall = 300/1500,0/500
+record = 1400/500,0/15000
+info = !950/330,!1400/330,!1800/330,0
+stutter
= !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
+
+[ve]
+; Tone definition source for ve found on
+; Reference:
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
+description = Venezuela / South America
+ringcadence = 1000,4000
+dial = 425
+busy = 425/500,0/500
+ring = 425/1000,0/4000
+congestion = 425/250,0/250
+callwaiting = 400+450/300,0/6000
+dialrecall = 425
+record = 1400/500,0/15000
+info = !950/330,!1440/330,!1800/330,0/1000
+
+
+[za]
+description = South Africa
+;
http://www.cisco.com/univercd/cc/td/doc/product/tel_pswt/vco_prod/safr_sup/saf02.htm
+; (definitions for other countries can also be found there)
+; Note, though, that South Africa uses two switch types in their network --
+; Alcatel switches -- mainly in the Western Cape, and Siemens elsewhere.
+; The former use 383+417 in dial, ringback etc. The latter use 400*33
+; I've provided both, uncomment the ones you prefer
+ringcadence = 400,200,400,2000
+; dial/ring/callwaiting for the Siemens switches:
+dial = 400*33
+ring = 400*33/400,0/200,400*33/400,0/2000
+callwaiting =
400*33/250,0/250,400*33/250,0/250,400*33/250,0/250,400*33/250,0/250
+; dial/ring/callwaiting for the Alcatel switches:
+; dial = 383+417
+; ring = 383+417/400,0/200,383+417/400,0/2000
+; callwaiting =
383+417/250,0/250,383+417/250,0/250,383+417/250,0/250,383+417/250,0/250
+congestion = 400/250,0/250
+busy = 400/500,0/500
+dialrecall = 350+440
+; XXX Not sure about the RECORDTONE
+record = 1400/500,0/10000
+info = 950/330,1400/330,1800/330,0/330
+stutter
= !400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,!400*33/100,!0/100,400*33
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/jabber.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,18 @@
+[general]
+;debug=yes ;;Turn on debugging by default.
+;autoprune=yes ;;Auto remove users from buddy list.
+;autoregister=yes ;;Auto register users from buddy list.
+
+;[asterisk] ;;label
+;type=client ;;Client or Component connection
+;serverhost=
astjab.org ;;Route to server for example,
+ ;;
talk.google.com
+;username=
aste...@astjab.org/asterisk ;;Username with optional roster.
+;secret=blah ;;Password
+;port=5222 ;;Port to use defaults to 5222
+;usetls=yes ;;Use tls or not
+;usesasl=yes ;;Use sasl or not
+;buddy=
mogo...@astjab.org ;;Manual addition of buddy to list.
+;statusmessage="I am available" ;;Have custom status message for
+ ;;Asterisk.
+;timeout=100 ;;Timeout on the message stack.
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/logger.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,69 @@
+;
+; Logging Configuration
+;
+; In this file, you configure logging to files or to
+; the syslog system.
+;
+; "logger reload" at the CLI will reload configuration
+; of the logging system.
+
+[general]
+; Customize the display of debug message time stamps
+; this example is the ISO 8601 date format (yyyy-mm-dd HH:MM:SS)
+; see strftime(3) Linux manual for format specifiers
+;dateformat=%F %T
+;
+; This appends the hostname to the name of the log files.
+;appendhostname = yes
+;
+; This determines whether or not we log queue events to a file
+; (defaults to yes).
+;queue_log = no
+;
+; This determines whether or not we log generic events to a file
+; (defaults to yes).
+;event_log = no
+;
+;
+; For each file, specify what to log.
+;
+; For console logging, you set options at start of
+; Asterisk with -v for verbose and -d for debug
+; See 'asterisk -h' for more information.
+;
+; Directory for log files is configures in asterisk.conf
+; option astlogdir
+;
+[logfiles]
+;
+; Format is "filename" and then "levels" of debugging to be included:
+; debug
+; notice
+; warning
+; error
+; verbose
+; dtmf
+;
+; Special filename "console" represents the system console
+;
+; We highly recommend that you DO NOT turn on debug mode if you are simply
+; running a production system. Debug mode turns on a LOT of extra
messages,
+; most of which you are unlikely to understand without an understanding of
+; the underlying code. Do NOT report debug messages as code issues, unless
+; you have a specific issue that you are attempting to debug. They are
+; messages for just that -- debugging -- and do not rise to the level of
+; something that merit your attention as an Asterisk administrator. Debug
+; messages are also very verbose and can and do fill up logfiles quickly;
+; this is another reason not to have debug mode on a production system
unless
+; you are in the process of debugging a specific issue.
+;
+;debug => debug
+;console => notice,warning,error
+console => notice,warning,error,verbose
+messages => error
+;full => notice,warning,error,debug,verbose
+full => error
+;syslog keyword : This special keyword logs to syslog facility
+;
+;syslog.local0 => notice,warning,error
+;
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/manager.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,42 @@
+;
+; AMI - The Asterisk Manager Interface
+;
+; Third party application call management support and PBX event supervision
+;
+; This configuration file is read every time someone logs in
+;
+; Use the "manager list commands" at the CLI to list available manager
commands
+; and their authorization levels.
+;
+; "manager show command <command>" will show a help text.
+;
+; ---------------------------- SECURITY NOTE
-------------------------------
+; Note that you should not enable the AMI on a public IP address. If
needed,
+; block this TCP port with iptables (or another FW software) and reach it
+; with IPsec, SSH, or SSL vpn tunnel. You can also make the manager
+; interface available over http if Asterisk's http server is enabled in
+; http.conf and if both "enabled" and "webenabled" are set to yes in
+; this file. Both default to no. httptimeout provides the maximum
+; timeout in seconds before a web based session is discarded. The
+; default is 60 seconds.
+;
+[general]
+displaysystemname = yes
+; enabled = no
+enabled = yes
+
+webenabled = yes
+port = 5038
+httptimeout=60
+bindaddr = 0.0.0.0
+displayconnects = yes
+;
+; Add a Unix epoch timestamp to events (not action responses)
+;
+timestampevents = yes
+
+;[MARS_Manager]
+;secret = YourSecret
+;read = system,call,log,verbose,command,agent,user,config;
+write = system,call,log,verbose,command,agent,user,config
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/misdn.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,426 @@
+;
+; chan_misdn sample config
+;
+
+; general section:
+;
+; for debugging and general setup, things that are not bound to port groups
+;
+
+[general]
+;
+; Sets the Path to the misdn-init.conf (for nt_ptp mode checking)
+;
+misdn_init=/etc/misdn-init.conf
+
+; set debugging flag:
+; 0 - No Debug
+; 1 - mISDN Messages and * - Messages, and * - State changes
+; 2 - Messages + Message specific Informations (e.g. bearer capability)
+; 3 - very Verbose, the above + lots of Driver specific infos
+; 4 - even more Verbose than 3
+;
+; default value: 0
+;
+debug=0
+
+
+
+; set debugging file and flags for mISDNuser (NT-Stack)
+;
+; flags can be or'ed with the following values:
+;
+; DBGM_NET 0x00000001
+; DBGM_MSG 0x00000002
+; DBGM_FSM 0x00000004
+; DBGM_TEI 0x00000010
+; DBGM_L2 0x00000020
+; DBGM_L3 0x00000040
+; DBGM_L3DATA 0x00000080
+; DBGM_BC 0x00000100
+; DBGM_TONE 0x00000200
+; DBGM_BCDATA 0x00000400
+; DBGM_MAN 0x00001000
+; DBGM_APPL 0x00002000
+; DBGM_ISDN 0x00004000
+; DBGM_SOCK 0x00010000
+; DBGM_CONN 0x00020000
+; DBGM_CDATA 0x00040000
+; DBGM_DDATA 0x00080000
+; DBGM_SOUND 0x00100000
+; DBGM_SDATA 0x00200000
+; DBGM_TOPLEVEL 0x40000000
+; DBGM_ALL 0xffffffff
+;
+
+ntdebugflags=0
+ntdebugfile=/var/log/misdn-nt.log
+
+; the big trace
+;
+; default value: [not set]
+;
+;tracefile=/var/log/asterisk/misdn.log
+
+
+; set to yes if you want mISDN_dsp to bridge the calls in HW
+;
+; default value: yes
+;
+bridging=no
+
+
+;
+; watches the L1s of every port. If one l1 is down it tries to
+; get it up. The timeout is given in seconds. with 0 as value it
+; does not watch the l1 at all
+;
+; default value: 0
+;
+; this option is only read at loading time of chan_misdn,
+; which means you need to unload and load chan_misdn to change the
+; value, an asterisk restart should do the trick
+;
+l1watcher_timeout=0
+
+; stops dialtone after getting first digit on nt Port
+;
+; default value: yes
+;
+stop_tone_after_first_digit=yes
+
+; whether to append overlapdialed Digits to Extension or not
+;
+; default value: yes
+;
+append_digits2exten=yes
+
+;;; CRYPTION STUFF
+
+; Whether to look for dynamic crypting attempt
+;
+; default value: no
+;
+dynamic_crypt=no
+
+; crypt_prefix, what is used for crypting Protocol
+;
+; default value: [not set]
+;
+crypt_prefix=**
+
+; Keys for cryption, you reference them in the dialplan
+; later also in dynamic encr.
+;
+; default value: [not set]
+;
+crypt_keys=test,muh
+
+; users sections:
+;
+; name your sections as you which but not "general" !
+; the sections are Groups, you can dial out in extensions.conf
+; with Dial(mISDN/g:extern/101) where extern is a section name,
+; chan_misdn tries every port in this section to find a
+; new free channel
+;
+
+; The default section is not a group section, it just contains config
elements
+; which are inherited by group sections.
+;
+
+[default]
+
+; define your default context here
+;
+; default value: default
+;
+context=misdn
+
+; language
+;
+; default value: en
+;
+language=en
+
+;
+; sets the musiconhold class
+;
+musicclass=default
+
+;
+; Either if we should produce DTMF Tones ourselves
+;
+senddtmf=yes
+
+;
+; If we should generate Ringing for chan_sip and others
+;
+far_alerting=no
+
+
+;
+; here you can define which bearers should be allowed
+;
+allowed_bearers=all
+
+; Prefixes for national and international, those are put before the
+; oad if an according dialplan is set by the other end.
+;
+; default values: nationalprefix : 0
+; internationalprefix : 00
+;
+nationalprefix=0
+internationalprefix=00
+
+; set rx/tx gains between -8 and 8 to change the RX/TX Gain
+;
+; default values: rxgain: 0
+; txgain: 0
+;
+rxgain=0
+txgain=0
+
+; some telcos especially in NL seem to need this set to yes, also in
+; switzerland this seems to be important
+;
+; default value: no
+;
+te_choose_channel=no
+
+
+
+;
+; This option defines, if chan_misdn should check the L1 on a PMP
+; before making a group call on it. The L1 may go down for PMP Ports
+; so we might need this.
+; But be aware! a broken or plugged off cable might be used for a group
call
+; as well, since chan_misdn has no chance to distinguish if the L1 is down
+; because of a lost Link or because the Provider shut it down...
+;
+; default: no
+;
+pmp_l1_check=no
+pp_l2_check=no
+
+
+
+;
+; in PMP this option defines which cause should be sent out to
+; the 3. caller. chan_misdn does not support callwaiting on TE
+; PMP side. This allows to modify the RELEASE_COMPLETE cause
+; at least.
+;
+reject_cause=16
+
+
+;
+; Send Setup_Acknowledge on incoming calls anyway (instead of PROCEEDING),
+; this requests additional Infos, so we can waitfordigits
+; without much issues. This works only for PTP Ports
+;
+; default value: no
+;
+need_more_infos=no
+
+
+;
+; set this to yes if you want to disconnect calls when a timeout occurs
+; for example during the overlapdial phase
+;
+nttimeout=no
+
+; set the method to use for channel selection:
+; standard - always choose the first free channel with the lowest
number
+; round_robin - use the round robin algorithm to select a channel. use
this
+; if you want to balance your load.
+;
+; default value: standard
+;
+method=standard
+
+;
+; dialplan means Type Of Number in ISDN Terms (for outgoing calls)
+;
+; there are different types of the dialplan:
+;
+; dialplan -> outgoing Number
+; localdialplan -> callerid
+; cpndialplan -> connected party number
+;
+; dialplan options:
+;
+; 0 - unknown
+; 1 - International
+; 2 - National
+; 4 - Subscriber
+;
+; This setting is used for outgoing calls
+;
+; default value: 0
+;
+dialplan=0
+localdialplan=0
+cpndialplan=0
+
+
+
+;
+; turn this to no if you don't mind correct handling of Progress Indicators
+;
+early_bconnect=yes
+
+
+;
+; turn this on if you like to send Tone Indications to a Incoming
+; isdn channel on a TE Port. Rarely used, only if the Telco allows
+; you to send indications by yourself, normally the Telco sends the
+; indications to the remote party.
+;
+; default: no
+;
+incoming_early_audio=no
+
+; uncomment the following to get into s extension at extension conf
+; there you can use DigitTimeout if you can't or don't want to use
+; isdn overlap dial.
+; note: This will jump into the s exten for every exten!
+;
+; default value: no
+;
+;always_immediate=no
+
+;
+; set this to yes if you want to generate your own dialtone
+; with always_immediate=yes, else chan_misdn generates the dialtone
+;
+; default value: no
+;
+nodialtone=no
+
+
+; uncomment the following if you want callers which called exactly the
+; base number (so no extension is set) jump to the s extension.
+; if the user dials something more it jumps to the correct extension
+; instead
+;
+; default value: no
+;
+;immediate=no
+
+; uncomment the following to have hold and retrieve support
+;
+; default value: no
+;
+;hold_allowed=yes
+
+; Pickup and Callgroup
+;
+; default values: not set = 0
+; range: 0-63
+;
+;callgroup=1
+;pickupgroup=1
+
+
+;
+; these are the exact isdn screening and presentation indicators
+; if -1 is given for both values the presentation indicators are used
+; from asterisks SetCallerPres application.
+; s=0, p=0 -> callerid presented not screened
+; s=1, p=1 -> callerid presented but screened (the remote end does not see
it!)
+;
+; default values s=-1, p=-1
+presentation=-1
+screen=-1
+
+; this enables echocancellation, with the given number of taps
+; be aware, move this setting only to outgoing portgroups!
+; A value of zero turns echocancellation off.
+;
+; possible values are: 0,32,64,128,256,yes(=128),no(=0)
+;
+; default value: no
+;
+;echocancel=no
+
+; this disables echocancellation when the call is bridged between
+; mISDN channels
+;
+; default value: no
+;
+echocancelwhenbridged=no
+
+
+; Set this to no to disable echotraining. You can enter a number > 10
+; the value is a multiple of 0.125 ms.
+;
+; default value: no
+; yes = 2000
+; no = 0
+;
+echotraining=no
+
+;
+; chan_misdns jitterbuffer, default 4000
+;
+jitterbuffer=4000
+
+;
+; change this threshold to enable dejitter functionality
+;
+jitterbuffer_upper_threshold=0
+
+
+;
+; change this to yes, if you want to bridge a mISDN data channel to
+; another channel type or to an application.
+;
+hdlc=no
+
+
+;
+; defines the maximum amount of incoming calls per port for
+; this group. Calls which exceed the maximum will be marked with
+; the channel variable MAX_OVERFLOW. It will contain the amount of
+; overflowed calls
+;
+max_incoming=-1
+
+;
+; defines the maximum amount of outgoing calls per port for this group
+; exceeding calls will be rejected
+;
+max_outgoing=-1
+
+[intern]
+; define your ports, e.g. 1,2 (depends on mISDN-driver loading order)
+ports=1,2
+; context where to go to when incoming Call on one of the above ports
+context=Intern
+
+[internPP]
+;
+; adding the postfix 'ptp' to a port number is obsolete now, chan_misdn
+; parses /etc/misdn-init.conf and sets the ptp mode to the corresponding
+; configs. For backwards compatibility you can still set ptp here.
+;
+ports=3
+
+[first_extern]
+; again port defs
+ports=4
+; again a context for incoming calls
+context=Extern1
+; msns for te ports, listen on those numbers on the above ports, and
+; indicate the incoming calls to asterisk
+; here you can give a comma separated list or simply an '*' for
+; any msn.
+msns=*
+
+; here an example with given msns
+[second_extern]
+ports=5
+context=Extern2
+callerid=15
+msns=102,144,101,104
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/modules.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,165 @@
+;
+; Asterisk configuration file
+;
+; Module Loader configuration file
+;
+
+[modules]
+autoload=yes
+;
+; Any modules that need to be loaded before the Asterisk core has been
+; initialized (just after the logger has been initialized) can be loaded
+; using 'preload'. This will frequently be needed if you wish to map all
+; module configuration files into Realtime storage, since the Realtime
+; driver will need to be loaded before the modules using those
configuration
+; files are initialized.
+;
+; An example of loading ODBC support would be:
+;preload => res_odbc.so
+;preload => res_config_odbc.so
+;
+noload => res_config_mysql.so ;
+;
+; load => res_features.so ; Call Parking Resource
+; NB noload => res_indications.so ; Indications Configuration
+; NB noload => res_monitor.so ; Call Monitoring Resource
+; load => res_musiconhold.so ; Music On Hold Resource
+; NB noload => cdr_csv.so ; Comma Separated Values CDR Backend
+noload => cdr_custom.so ; Customizable Comma Separated Values CDR Backend
+; noload => cdr_manager.so ; Asterisk Call Manager CDR Backend
+noload => cdr_mysql.so ; MySQL CDR Backend
+noload => cdr_pgsql.so ; PostgreSQL CDR Backend
+noload => cdr_sqlite.so ; SQLite CDR Backend
+noload => chan_agent.so ; Agent Proxy Channel
+; load => chan_iax2.so ; Inter Asterisk eXchange (Ver 2)
+; load => chan_local.so ; Local Proxy Channel
+; load => chan_sip.so ; Session Initiation Protocol (SIP)
+; NB noload => codec_a_mu.so ; A-law and Mulaw direct Coder/Decoder
+noload => codec_adpcm.so ; Adaptive Differential PCM Coder/Decoder
+noload => codec_alaw.so ; A-law Coder/Decoder
+noload => codec_g726.so ; ITU G.726-32kbps G726 Transcoder
+; load => codec_gsm.so ; GSM/PCM16 (signed linear) Codec Translation
+; load => codec_ulaw.so ; Mu-law Coder/Decoder
+noload => codec_speex.so ; Speex/PCM16 (signed linear) Codec Translator
+noload => format_au.so ; Sun Microsystems AU format (signed linear)
+noload => format_g723.so ; G.723.1 Simple Timestamp File Format
+noload => format_g726.so ; Raw G.726 (16/24/32/40kbps) data
+; NB noload => format_g729.so ; Raw G729 data
+; load => format_gsm.so ; Raw GSM data
+noload => format_h263.so ; Raw h263 data
+noload => format_jpeg.so ; JPEG (Joint Picture Experts Group) Image
+; load => format_pcm.so ; Raw uLaw 8khz Audio support (PCM)
+noload => format_pcm_alaw.so ; Raw aLaw 8khz PCM Audio support
+; noload => format_sln.so ; Raw Signed Linear Audio support (SLN)
+noload => format_vox.so ; Dialogic VOX (ADPCM) File Format
+; load => format_wav.so ; Microsoft WAV format (8000hz Signed Line
+; load => format_wav_gsm.so ; Microsoft WAV format (Proprietary GSM)
+noload => app_alarmreceiver.so ; Alarm Receiver Application
+noload => app_authenticate.so ; Authentication Application
+; NB noload => app_cdr.so ; Make sure asterisk doesn't save CDR
+; NB noload => app_chanisavail.so ; Check if channel is available
+noload => app_chanspy.so ; Listen in on any channel
+; NB noload => app_controlplayback.so ; Control Playback Application
+noload => app_cut.so ; Cuts up variables
+; NB noload => app_db.so ; Database access functions
+; load => app_dial.so ; Dialing Application
+noload => app_dictate.so ; Virtual Dictation Machine Application
+noload => app_directory.so ; Extension Directory
+noload => app_directed_pickup.so ; Directed Call Pickup Support
+noload => app_disa.so ; DISA (Direct Inward System Access) Application
+noload => app_dumpchan.so ; Dump channel variables Application
+; load => app_echo.so ; Simple Echo Application
+noload => app_enumlookup.so ; ENUM Lookup
+noload => app_eval.so ; Reevaluates strings
+; NB noload => app_exec.so ; Executes applications
+noload => app_externalivr.so ; External IVR application interface
+noload => app_forkcdr.so ; Fork The CDR into 2 seperate entities
+noload => app_getcpeid.so ; Get ADSI CPE ID
+; NB noload => app_groupcount.so ; Group Management Routines
+noload => app_ices.so ; Encode and Stream via icecast and ices
+noload => app_image.so ; Image Transmission Application
+noload => app_lookupblacklist.so ; Look up Caller*ID name/number from black
+noload => app_lookupcidname.so ; Look up CallerID Name from local databas
+; load => app_macro.so ; Extension Macros
+noload => app_math.so ; A simple math Application
+noload => app_md5.so ; MD5 checksum Application
+noload => app_milliwatt.so ; Digital Milliwatt (mu-law) Test Application
+; NB noload => app_mixmonitor.so ; Record a call and mix the audio during
the recording
+noload => app_parkandannounce.so ; Call Parking and Announce Application
+; load => app_playback.so ; Trivial Playback Application
+noload => app_privacy.so ; Require phone number to be entered, if n
+; NB noload => app_queue.so ; True Call Queueing
+noload => app_random.so ; Random goto
+; NB noload => app_read.so ; Read Variable Application
+noload => app_readfile.so ; Read in a file
+noload => app_realtime.so ; Realtime Data Lookup/Rewrite
+; NB noload => app_record.so ; Trivial Record Application
+; load => app_sayunixtime.so ; Say time
+noload => app_senddtmf.so ; Send DTMF digits Application
+noload => app_sendtext.so ; Send Text Applications
+; NB noload => app_setcallerid.so ; Set CallerID Application
+; NB noload => app_setcdruserfield.so ; CDR user field apps
+; NB noload => app_setcidname.so ; Set CallerID Name
+; NB noload => app_setcidnum.so ; Set CallerID Number
+noload => app_setrdnis.so ; Set RDNIS Number
+noload => app_settransfercapability.so ; Set ISDN Transfer Capability
+noload => app_sms.so ; SMS/PSTN handler
+noload => app_softhangup.so ; Hangs up the requested channel
+noload => app_sql_mysql.so ; Simple MySQL Interface
+noload => app_sql_postgres.so ; Simple PostgreSQL Interface
+; NB noload => app_stack.so ; Stack Routines
+; NB noload => app_system.so ; Generic System() application
+noload => app_talkdetect.so ; Playback with Talk Detection
+noload => app_test.so ; Interface Test Application
+; NB noload => app_transfer.so ; Transfer
+noload => app_txtcidname.so ; TXTCIDName
+noload => app_url.so ; Send URL Applications
+; NB noload => app_userevent.so ; Custom User Event Application
+; load => app_verbose.so ; Send verbose output
+noload => app_waitforring.so ; Waits until first ring after time
+noload => app_waitforsilence.so ; Wait For Silence Application
+noload => app_while.so ; While Loops and Conditional Execution
+noload => pbx_ael.so ; Asterisk Extension Language Compiler
+; load => pbx_config.so ; Text Extension Configuration
+; NB noload => pbx_functions.so ; Builtin dialplan functions
+noload => pbx_loopback.so ; Loopback Switch
+noload => pbx_realtime.so ; Realtime Switch
+; NB noload => pbx_spool.so ; Outgoing Spool Support
+; noload => pbx_wilcalu.so ; Wil Cal U (Auto Dialer)
+; NB noload => func_callerid.so ; Caller ID related dialplan functions
+noload => func_enum.so ; ENUM Functions
+noload => func_uri.so ; URI encoding / decoding functions
+noload => res_crypto.so ; Cryptographic Digital Signatures
+noload => app_meetme.so ; MeetMe conferencing
+
+; NB additions
+
+noload => app_amd.so
+noload => app_morsecode.so
+noload => app_channelredirect.so
+noload => app_followme.so
+noload => app_speech_utils.so
+
+noload => cdr_radius.so
+noload => format_h264.so
+noload => format_g722.so
+; NB noload => func_base64.so
+; NB noload => func_groupcount.so
+noload => func_rand.so
+noload => func_sha1.so
+load => func_language.so
+
+; NB NEW noload => res_clioriginate.so
+noload => res_speech.so
+noload => res_smdi.so
+
+; NB ADDED 02/2009
+;; BUG Voicemail noload => res_adsi.so
+noload => func_base64.so
+
+;
+; Module names listed in "global" section will have symbols globally
+; exported to modules loaded after them.
+;
+[global]
+chan_modem.so=no
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/musiconhold.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,11 @@
+;
+; Music on Hold -- Sample Configuration
+;
+
+[default]
+mode=files
+directory=/usr/lib/asterisk/moh-native
+random=yes
+
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/muted.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,39 @@
+#
+# Sample muted configuration file
+#
+# Copyright (C) 2004 Digium, Inc.
+#
+# What is this? Well, haven't you ever wished you could automatically
+# turn down the volume on your stereo, CDPlayer, etc, when a call comes in,
+# and then return it to normal when the call ends? Well, this is a possible
+# mechanism to make this happen!
+# You have to fire up the new utils/muted, which runs as a daemon in the
+# background. This daemon connects to asterisk via a manager interface, and
+# also reads this config file. When the channels mentioned
+# are activated, it tweaks the sound levels on the sound card(s).
+# So, depending on the sound card, you may be able to run all your sound
+# generating devices thru your sound card, and use this mechanism to quiet
+# them down while you are on the phone. If anyone figures out how to make
+# this work with kids, please inform!!
+#
+# First you have the host, username, and password
+# we use to connect to the asterisk system
+#
+host localhost
+user user
+pass pass
+#
+# List each channel we're supposed to watch
+#
+channel Zap/1
+channel Zap/2
+channel SIP/mark
+#
+# Mute level is the percentage of the current volume we should
+# lower the music to.
+#
+mutelevel 20
+#
+# Smooth fade makes the fadein/fadeout nicer sounding
+#
+smoothfade
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/osp.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,72 @@
+;
+; Open Settlement Protocol Sample Configuration File
+;
+;
+; This file contains configuration of providers that
+; are used by the OSP subsystem of Asterisk. The section
+; "general" is reserved for global options. Each other
+; section declares an OSP Provider. The provider "default"
+; is used when no provider is otherwise specified.
+;
+[general]
+;
+; Should hardware acceleration be enabled? May not be changed
+; on a reload.
+;
+;accelerate=yes
+;
+; Defines the token format that Asterisk can validate.
+; 0 - signed tokens only
+; 1 - unsigned tokens only
+; 2 - both signed and unsigned
+; The defaults to 0, i.e. the Asterisk can validate signed tokens only.
+;
+;tokenformat=0
+
+;[default]
+;
+; All paths are presumed to be under /var/lib/asterisk/keys unless
+; the path begins with '/'
+;
+; Specify the private keyfile. If unspecified, defaults to the name
+; of the section followed by "-privatekey.pem" (e.g.
default-privatekey.pem)
+;
+;privatekey=pkey.pem
+;
+; Specify the local certificate file. If unspecified, defaults to
+; the name of the section followed by "-localcert.pem"
+;
+;localcert=localcert.pem
+;
+; Specify one or more Certificate Authority keys. If none are listed,
+; a single one is added with the name "-cacert.pem"
+;
+;cacert=cacert_0.pem
+;
+; Specific parameters can be tuned as well:
+;
+; maxconnections: Max number of simultaneous connections to the provider
(default=20)
+; retrydelay: Extra delay between retries (default=0)
+; retrylimit: Max number of retries before giving up (default=2)
+; timeout: Timeout for response in milliseconds (default=500)
+;
+;maxconnections=20
+;retrydelay=0
+;retrylimit=2
+;timeout=500
+;
+; List all service points for this provider
+;
+;servicepoint=
http://osptestserver.transnexus.com:1080/osp
+;
+; Set the "source" for requesting authorization
+;
+;source=foo
+;
+; Set the authentication policy.
+; 0 - NO
+; 1 - YES
+; 2 - EXCLUSIVE
+; Default is 1, validate token but allow no token.
+;
+;authpolicy=1
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/privacy.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,3 @@
+[general]
+
+maxretries = 2 ;How many chances the caller has to enter their number
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/queues.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,203 @@
+[general]
+;
+; Global settings for call queues
+;
+; Persistent Members
+; Store each dynamic agent in each queue in the astdb so that
+; when asterisk is restarted, each agent will be automatically
+; readded into their recorded queues. Default is 'yes'.
+;
+persistentmembers = yes
+;
+; Note that a timeout to fail out of a queue may be passed as part of
+; an application call from extensions.conf:
+; Queue(queuename|[options]|[optionalurl]|[announceoverride]|[timeout])
+; example: Queue(dave|t|||45)
+
+;[markq]
+;
+; A sample call queue
+;
+; Musiconhold sets which music applies for this particular
+; call queue (configure classes in musiconhold.conf)
+;
+;musiconhold = default
+;
+; An announcement may be specified which is played for the member as
+; soon as they answer a call, typically to indicate to them which queue
+; this call should be answered as, so that agents or members who are
+; listening to more than one queue can differentiated how they should
+; engage the customer
+;
+;announce = queue-markq
+;
+; A strategy may be specified. Valid strategies include:
+;
+; ringall - ring all available channels until one answers (default)
+; roundrobin - take turns ringing each available interface
+; leastrecent - ring interface which was least recently called by this
queue
+; fewestcalls - ring the one with fewest completed calls from this queue
+; random - ring random interface
+; rrmemory - round robin with memory, remember where we left off last ring
pass
+;
+;strategy = ringall
+;
+; Second settings for service level (default 0)
+; Used for service level statistics (calls answered within service level
time
+; frame)
+;servicelevel = 60
+;
+; A context may be specified, in which if the user types a SINGLE
+; digit extension while they are in the queue, they will be taken out
+; of the queue and sent to that extension in this context.
+;
+;context = qoutcon
+;
+; How long do we let the phone ring before we consider this a timeout...
+;
+;timeout = 15
+;
+; How long do we wait before trying all the members again?
+;
+;retry = 5
+;
+; Weight of queue - when compared to other queues, higher weights get
+; first shot at available channels when the same channel is included in
+; more than one queue.
+;
+;weight=0
+;
+; After a successful call, how long to wait before sending a potentially
+; free member another call (default is 0, or no delay)
+;
+;wrapuptime=15
+;
+; Maximum number of people waiting in the queue (0 for unlimited)
+;
+;maxlen = 0
+;
+;
+; How often to announce queue position and/or estimated holdtime to caller
(0=off)
+;
+;announce-frequency = 90
+;
+;
+; How often to make any periodic announcement (see periodic-announce)
+;
+;periodic-announce-frequency=60
+;
+; Should we include estimated hold time in position announcements?
+; Either yes, no, or only once.
+; Hold time will be announced as the estimated time,
+; or "less than 2 minutes" when appropriate.
+;
+;announce-holdtime = yes|no|once
+
+;
+; What's the rounding time for the seconds?
+; If this is non-zero, then we announce the seconds as well as the minutes
+; rounded to this value.
+;
+; announce-round-seconds = 10
+;
+; Use these sound files in making position/holdtime announcements. The
+; defaults are as listed below -- change only if you need to.
+;
+;queue-youarenext = queue-youarenext ; ("You are now first in line.")
+;queue-thereare = queue-thereare ; ("There are")
+;queue-callswaiting = queue-callswaiting ; ("calls waiting.")
+;queue-holdtime = queue-holdtime ; ("The current est. holdtime is")
+;queue-minutes = queue-minutes ; ("minutes.")
+;queue-seconds = queue-seconds ; ("seconds.")
+;queue-thankyou = queue-thankyou ; ("Thank you for your patience.")
+;queue-lessthan = queue-less-than ; ("less than")
+;queue-reporthold = queue-reporthold ; ("Hold time")
+;periodic-announce = queue-periodic-announce ; ("All reps busy /
wait for next")
+;
+; Calls may be recorded using Asterisk's monitor resource
+; This can be enabled from within the Queue application, starting recording
+; when the call is actually picked up; thus, only successful calls are
+; recorded, and you are not recording while people are listening to MOH.
+; To enable monitoring, simply specify "monitor-format"; it will be
disabled
+; otherwise.
+;
+; You can specify the monitor filename with by calling
+; Set(MONITOR_FILENAME=foo)
+; Otherwise it will use MONITOR_FILENAME=${UNIQUEID}
+;
+; monitor-format = gsm|wav|wav49
+;
+; If you wish to have the two files joined together when the call ends,
set this
+; to yes.
+;
+; monitor-join = yes
+;
+; This setting controls whether callers can join a queue with no members.
There
+; are three choices:
+;
+; yes - callers can join a queue with no members or only unavailable
members
+; no - callers cannot join a queue with no members
+; strict - callers cannot join a queue with no members or only unavailable
+; members
+;
+; joinempty = yes
+;
+; If you wish to remove callers from the queue when new callers cannot
join,
+; set this setting to one of the same choices for 'joinempty'
+;
+; leavewhenempty = yes
+;
+;
+; If this is set to yes, the following manager events will be generated:
+; AgentCalled, AgentDump, AgentConnect, AgentComplete
+; (may generate some extra manager events, but probably ones you want)
+;
+; eventwhencalled = yes
+;
+; If this is set to no, the following manager events will be generated:
+; QueueMemberStatus
+; (may generate a WHOLE LOT of extra manager events)
+;
+; eventmemberstatusoff = no
+;
+; If you wish to report the caller's hold time to the member before they
are
+; connected to the caller, set this to yes.
+;
+; reportholdtime = no
+;
+;
+; If you wish to have a delay before the member is connected to the caller
(or
+; before the member hears any announcement messages), set this to the
number of
+; seconds to delay.
+;
+; memberdelay = 0
+;
+; If timeoutrestart is set to yes, then the timeout for an agent to answer
is
+; reset if a BUSY or CONGESTION is received. This can be useful if agents
+; are able to cancel a call with reject or similar.
+;
+; timeoutrestart = no
+;
+; Each member of this call queue is listed on a separate line in
+; the form technology/dialstring. "member" means a normal member of a
+; queue. An optional penalty may be specified after a comma, such that
+; entries with higher penalties are considered last.
+;
+;member => Zap/1
+;member => Zap/2
+;member => Agent/1001
+;member => Agent/1002
+
+;
+; Note that using agent groups is probably not what you want. Strategies
do
+; not propagate down to the Agent system so if you want round robin, least
+; recent, etc, you should list all the agents in this file individually
and not
+; use agent groups.
+;
+;member => Agent/@1 ; Any agent in group 1
+;member => Agent/:1,1 ; Any agent in group 1, wait for first
+ ; available, but consider with penalty
+
+#include queues_custom.conf
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/queues_custom.conf Sat Nov
14 22:46:08 2009
@@ -0,0 +1,11 @@
+; Queue Configuration
+[Queue1]
+music=default
+strategy=rrmemory
+timeout=20
+retry=5
+maxlen=0
+periodic-announce-frequency=30
+announce-frequency=60
+announce-holdtime=yes
+monitor-join=no
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/res_snmp.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,10 @@
+;
+; Configuration file for res_snmp
+;
+
+[general]
+; We run as a subagent per default -- to run as a full agent
+; we must run as root (to be able to bind to port 161)
+;subagent = yes
+; SNMP must be explicitly enabled to be active
+;enabled = yes
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/rtp.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,20 @@
+;
+; RTP Configuration
+;
+[general]
+;
+; RTP start and RTP end configure start and end addresses
+;
+; Defaults are rtpstart=5000 and rtpend=31000
+;
+rtpstart=10000
+rtpend=10128
+;
+; Whether to enable or disable UDP checksums on RTP traffic
+;
+;rtpchecksums=no
+;
+; The amount of time a DTMF digit with no 'end' marker should be
+; allowed to continue (in 'samples', 1/8000 of a second)
+;
+;dtmftimeout=3000
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/say.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,171 @@
+; say.conf
+;
+; language configuration
+;
+; The new language routines produce strings of the form
+; prefix:[format:]data
+; that are matched against the rules in this file to produce
+; an output.
+;
+; The data is generally the string to be spelled (either a number,
+; an ascii string or a date/time in the format specified below).
+; It is available, in the right hand side of a rule, as variable ${SAY}.
+;
+; The format is optional and normally used only for date/time.
+; The prefix is used to select the pronunciation - standard
+; prefixes are
+; num used for numbers
+; enum used for enumerations
+; date for dates
+; time for times
+; datetime for dates and times
+; char for character strings
+; phonetic for phonetic strings
+; digit for digit strings
+;
+; but others can be used at will.
+;
+; Processing occurs as follows:
+; If the format is empty, or there is no format, the entire
+; string is matched against one of the pattern on the left hand side.
+; On the first match, the various comma-separated components on the right
+; hand side are pronounced, as follows:
+; + a component starting with a prefix: (i.e. with a ':' in it)
+; is re-processed according to these rules;
+; + a component without a ':' in it is considered a filename and
+; the corresponding file is played.
+;
+; If the format is non-empty, the format is split into its components
+; (individual characters, or filenames in single quotes), and then
+; filenames are played, whereas single characters are used to
+; generate a new string format:pat:data to be processed.
+;
+; DATES/AND TIMES assume that the date info is available in
+; the form YYYYMMDDHHmm.ss-dow-doy
+; with 4 digits for the year, 2 for month, day, hour, minutes, seconds,
+; one digit for the day-of-week, and 3 digits for the day-of-year.
+;
+; Example:
+; datetime::200604172030.00-4-102
+; (typical format for a date) is first matched against the line
+; datetime::. => date:AdBY 'digits/at' IMp:${SAY}
+; which is normally present with the default format for dates.
+; In turn, the format string "AdBY 'digits/at' IMp" results in
+; the sequence
+; date:A:200604172030.00-4-102
+; date:d:200604172030.00-4-102
+; date:B:200604172030.00-4-102
+; date:Y:200604172030.00-4-102
+; digits/at
+; date:I:200604172030.00-4-102
+; date:M:200604172030.00-4-102
+; date:p:200604172030.00-4-102
+;
+;
+; Remember, normally X Z N are special, and the search is
+; case insensitive, so you must use [X] [N] [Z] .. if you
+; want exact match.
+
+; We start with the basic rules that might be more-or-less
+; language-independent
+
+[digit-base](!) ; base rule for digit strings
+ ; XXX incomplete yet
+ _digit:[0-9] => digits/${SAY}
+ _digit:[-] => letters/dash
+ _digit:[*] => letters/star
+ _digit:[@] => letters/at
+ _digit:[0-9]. => digit:${SAY:0:1}, digit:${SAY:1}
+
+[date-base](!) ; base rules for dates and times
+ ; the 'SAY' variable contains YYYYMMDDHHmm.ss-dow-doy
+ ; these rule map the strftime attributes.
+ _date:Y:. => num:${SAY:0:4} ; year, 19xx
+ _date:[Bb]:. => digits/mon-$[${SAY:4:2}-1] ; month name, 0..11
+ _date:[Aa]:. => digits/day-${SAY:16:1} ; day of week
+ _date:[de]:. => num:${SAY:6:2} ; day of month
+ _date:[hH]:. => num:${SAY:8:2} ; hour
+ _date:[I]:. => num:$[${SAY:8:2} % 12] ; hour 0-12
+ _date:[M]:. => num:${SAY:10:2} ; minute
+ ; XXX too bad the '?' function does not remove the quotes
+ ; _date:[pP]:. => digits/$[ ${SAY:10:2} > 12 ? "p-m" :: "a-m"] ; am pm
+ _date:[pP]:. => digits/p-m ; am pm
+ _date:[S]:. => num:${SAY:13:2} ; seconds
+
+[en-base](!)
+ _[n]um:0. => num:${SAY:1}
+ _[n]um:X => digits/${SAY}
+ _[n]um:1X => digits/${SAY}
+ _[n]um:[2-9]0 => digits/${SAY}
+ _[n]um:[2-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
+ _[n]um:XXX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
+
+ _[n]um:XXXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
+ _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
+ _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}
+
+ _[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
+ _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
+ _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}
+
+ _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
+ _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
+ _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
+
+ ; enumeration
+ _e[n]um:X => digits/h-${SAY}
+ _e[n]um:1X => digits/h-${SAY}
+ _e[n]um:[2-9]0 => digits/h-${SAY}
+ _e[n]um:[2-9][1-9] => num:${SAY:0:1}0, digits/h-${SAY:1}
+ _e[n]um:[1-9]XX => num:${SAY:0:1}, digits/hundred, enum:${SAY:1}
+
+[it](digit-base,date-base)
+ _[n]um:0. => num:${SAY:1}
+ _[n]um:X => digits/${SAY}
+ _[n]um:1X => digits/${SAY}
+ _[n]um:[2-9]0 => digits/${SAY}
+ _[n]um:[2-9][1-9] => digits/${SAY:0:1}0, num:${SAY:1}
+ _[n]um:1XX => digits/hundred, num:${SAY:1}
+ _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
+
+ _[n]um:1XXX => digits/thousand, num:${SAY:1}
+ _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
+ _[n]um:XXXXX => num:${SAY:0:2}, digits/thousands, num:${SAY:2}
+ _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousands, num:${SAY:3}
+
+ _[n]um:1XXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
+ _[n]um:[2-9]XXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:1}
+ _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
+ _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
+
+ _datetime::. => date:AdBY 'digits/at' IMp:${SAY}
+ _date::. => date:AdBY:${SAY}
+ _time::. => date:IMp:${SAY}
+
+[en](en-base,date-base,digit-base)
+ _datetime::. => date:AdBY 'digits/at' IMp:${SAY}
+ _date::. => date:AdBY:${SAY}
+ _time::. => date:IMp:${SAY}
+
+[de](date-base,digit-base)
+ _[n]um:0. => num:${SAY:1}
+ _[n]um:X => digits/${SAY}
+ _[n]um:1X => digits/${SAY}
+ _[n]um:[2-9]0 => digits/${SAY}
+ _[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
+ _[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1}
+ _[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
+ _[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1}
+ _[n]um:[2-9]XXX => digits/${SAY:0:1}, digits/thousand, num:${SAY:1}
+ _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
+ _[n]um:X00XXX => digits/${SAY:0:1}, digits/hundred, digits/thousand,
num:${SAY:3}
+ _[n]um:XXXXXX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
+ _[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1}
+ _[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1}
+ _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
+ _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
+
+ _datetime::. => date:AdBY 'digits/at' IMp:${SAY}
+ _date::. => date:AdBY:${SAY}
+ _time::. => date:IMp:${SAY}
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/sip.conf Sat Nov 14 22:46:08
2009
@@ -0,0 +1,55 @@
+[general]
+context=incoming ; Default context for incoming calls
+bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
+bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
+
+maxexpirey=3600
+defaultexpirey=3600
+notifymimetype=text/plain
+rtptimeout=60
+rtpholdtimeout=300
+
+limitonpeers=yes ; MUST be set to make ExtensionState / hints work !
+notifyringing=yes
+
+; srvlookup=yes ; Enable DNS SRV lookups on outbound calls
+srvlookup=no ; DO NOT 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 ternet
+
+;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
+;externhost = mydomain.tld
+; externhost=
td-mars.dyndns.org
+externrefresh = 300
+localnet=
192.168.1.0/255.255.255.0
+nat=yes
+
+; NB
+disallow=all ; First disallow all codecs
+allow=ulaw ; Allow codecs in order of preference
+; allow=g726
+allow=gsm ; Always allow GSM, it's cool :)
+ ;
+;musicclass=default ; Sets the default music on hold class for all SIP
calls
+ ; This may also be set for individual users/peers
+; NB
+;language=fr ; Default language setting for all users/peers
+ ; This may also be set for individual users/peers
+
+;-------------------------------------------------------
+
+; NOTE we are still in general context at include start
+#include sip_custom.conf
+
+
+
+
+
+
+
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/sip_custom.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,3 @@
+; Written by MARS
+
+; Local SIP Extensions definitions.
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/sip_notify.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,22 @@
+[polycom-check-cfg]
+Event=>check-sync
+Content-Length=>0
+
+; Untested
+[sipura-check-cfg]
+Event=>resync
+Content-Length=>0
+
+; Untested
+[grandstream-check-cfg]
+Event=>sys-control
+
+; Untested
+[cisco-check-cfg]
+Event=>check-sync
+Content-Length=>0
+
+; Tested
+[snom-check-cfg]
+Event=>check-sync\;reboot=false
+Content-Length=>0
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/smdi.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,43 @@
+; Asterisk SMDI configuration
+
+[interfaces]
+; Specify serial ports to listen for SMDI messages on below. These will be
+; referenced later in zapata.conf. If you do not specify any interfaces
then
+; SMDI will be disabled. Interfaces can have several different attributes
+; associated with them.
+
+; Set the number of stop bits to use per character here. The default is
no,
+; in which case one stop bit will be used.
+
+;twostopbits = no
+
+; Character size or bit length is the size of each character sent across
the
+; link. Character size can be 7 or 8. The default is 7.
+
+;charsize = 7
+
+; If you need parity checking enabled you can turn it on here. Acceptable
+; values are even, odd, and none. The default is even.
+
+;paritybit = even
+
+; The baudrate to use for this port. Acceptable values are 1200, 2400,
4800,
+; and 9600. The default is 9600.
+
+;baudrate = 1200
+
+; Often the numbering scheme for a set of mailboxes or extensions will not
be 7
+; or 10 digits (as SMDI requires). Use the msdstrip option to strip unused
+; digits from the start of numbers.
+
+;msdstrip = 0
+
+; Occasionally Asterisk and the SMDI switch may become out of sync. If
this
+; happens, Asterisk will appear one or several calls behind as it processes
+; voicemail requests. To prevent this from happening, adjust the
msgexpirytime.
+; This will make Asterisk discard old SMDI messages that have not yet been
+; processed. The default expiry time is 30000 milliseconds.
+
+;msgexpirytime = 30000
+
+;smdiport => /dev/ttyS0
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/users.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,88 @@
+;!
+;! Automatically generated configuration file
+;! Filename: users.conf (/etc/asterisk/users.conf)
+;! Generator: AppVoicemail
+;! Creation Date: Sun Dec 14 11:07:44 2008
+;!
+;!
+;! Automatically generated configuration file
+;! Filename: users.conf (/etc/asterisk/users.conf)
+;! Generator: AppVoicemail
+;! Creation Date: Sun Dec 14 11:01:07 2008
+;!
+;!
+;! Automatically generated configuration file
+;! Filename: users.conf (/etc/asterisk/users.conf)
+;! Generator: AppVoicemail
+;! Creation Date: Sat Dec 13 23:02:20 2008
+;!
+;!
+;! Automatically generated configuration file
+;! Filename: users.conf (/etc/asterisk/users.conf)
+;! Generator: AppVoicemail
+;! Creation Date: Sat Dec 13 17:02:26 2008
+;!
+;!
+;! Automatically generated configuration file
+;! Filename: users.conf (/etc/asterisk/users.conf)
+;! Generator: AppVoicemail
+;! Creation Date: Sat Dec 13 17:00:15 2008
+;!
+;
+; User configuration
+;
+; Creating entries in users.conf is a "shorthand" for creating individual
+; entries in each configuration file. Using users.conf is not intended to
+; provide you with as much flexibility as using the separate configuration
+; files (e.g. sip.conf, iax.conf, etc) but is intended to accelerate the
+; simple task of adding users. Note that creating individual items (e.g.
+; custom SIP peers, IAX friends, etc.) will allow you to override specific
+; parameters within this file. Parameter names here are the same as they
+; appear in the other configuration files. There is no way to change the
+; value of a parameter here for just one subsystem.
+;
+[general]
+;
+; Full name of a user
+;
+fullname = New User
+;
+; Starting point of allocation of extensions
+;
+userbase = 6000
+;
+; Create voicemail mailbox and use use macro-stdexten
+;
+hasvoicemail = yes
+;
+; Set voicemail mailbox 6000 password to 1234
+;
+vmsecret = 1234
+;
+; Create SIP Peer
+;
+hassip = yes
+;
+; Create IAX friend
+;
+hasiax = yes
+;
+; Create H.323 friend
+;
+;hash323 = yes
+;
+; Create manager entry
+;
+hasmanager = no
+;
+; Remaining options are not specific to users.conf entries but are general.
+;
+callwaiting = yes
+threewaycalling = yes
+callwaitingcallerid = yes
+transfer = yes
+canpark = yes
+cancallforward = yes
+callreturn = yes
+callgroup = 1
+pickupgroup = 1
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/voicemail.conf Sat Nov 14
22:46:08 2009
@@ -0,0 +1,22 @@
+; Voicemail Configuration
+[general]
+format=wav49
+mailcmd=/usr/sbin/mini_sendmail -t -v -
smail.vif.com
+emaildateformat=%A, %d %B %Y at %H:%M:%S
+minmessage=5
+maxsilence=5
+maxmessage=300
+emailsubject=MARS: New message (${VM_MSGNUM})
+emailbody=You just received a ${VM_DUR} long message (number
${VM_MSGNUM})\nMailbox: ${VM_MAILBOX}\nFrom: ${VM_CALLERID}\nOn:
${VM_DATE}.\nThanks!\n\n\t--MARS\n
+
+[default]
+300 => 300,,,,attach=yes|saycid=no|envelope=no|delete=no
+301 => 301,,,,attach=yes|saycid=no|envelope=no|delete=no
+302 => 302,,,,attach=yes|saycid=no|envelope=no|delete=no
+303 => 303,,,,attach=yes|saycid=no|envelope=no|delete=no
+304 => 304,,,,attach=yes|saycid=no|envelope=no|delete=no
+305 => 305,,,,attach=yes|saycid=no|envelope=no|delete=no
+306 => 306,,,,attach=yes|saycid=no|envelope=no|delete=no
+307 => 307,,,,attach=yes|saycid=no|envelope=no|delete=no
+
+#include voicemail_additional.conf
=======================================
--- /dev/null
+++ /trunk/package/webif-asterisk/etc/asterisk/voicemail_additional.conf
Sat Nov 14 22:46:08 2009
@@ -0,0 +1,1 @@
+
=======================================
***Additional files exist in this changeset.***