aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormcrane <mctch@yahoo.com>2009-06-10 05:39:33 -0600
committermcrane <mctch@yahoo.com>2009-06-10 05:39:33 -0600
commita24a6994a246ee3d869a17540a916288032dbfc6 (patch)
treee29be438e0f48f646d453f4ad782b62ae64a9dab
parent2805239ac2dca632d02d32445a1c2b48e288f39a (diff)
downloadpfsense-packages-a24a6994a246ee3d869a17540a916288032dbfc6.tar.gz
pfsense-packages-a24a6994a246ee3d869a17540a916288032dbfc6.tar.bz2
pfsense-packages-a24a6994a246ee3d869a17540a916288032dbfc6.zip
FreeSWITCH package add tiff2png for fax conversion, hunt group fix warning messages when adding next hunt groups, delete from hunt group list, IVR add examples for sip uri, IVR add call timeout, direct dial, and ring back tone. Hunt group add additional examples for sip uri.
-rw-r--r--config/freeswitch/freeswitch.inc72
-rw-r--r--config/freeswitch/freeswitch.xml2
-rw-r--r--config/freeswitch/freeswitch_hunt_group.tmp2
-rw-r--r--config/freeswitch/freeswitch_hunt_group_destinations_edit.tmp11
-rw-r--r--config/freeswitch/freeswitch_ivr_edit.tmp162
-rw-r--r--config/freeswitch/freeswitch_ivr_options_edit.tmp14
-rwxr-xr-xpkg_config.7.xml4
7 files changed, 217 insertions, 50 deletions
diff --git a/config/freeswitch/freeswitch.inc b/config/freeswitch/freeswitch.inc
index 4813dfac..15adc5f2 100644
--- a/config/freeswitch/freeswitch.inc
+++ b/config/freeswitch/freeswitch.inc
@@ -1534,7 +1534,9 @@ function sync_package_freeswitch_ivr()
$rowhelper['ivrname']
$rowhelper['recordingid']
$rowhelper['ivrtimeout']
+ $rowhelper['ivrcalltimeout']
$rowhelper['ivrcontext']
+ $rowhelper['ivrdirectdial']
$rowhelper['ivrconditionjs']
$rowhelper['ivrdescr']
*/
@@ -1695,8 +1697,29 @@ function sync_package_freeswitch_ivr()
$tmp .= " caller_id_name = session.getVariable(\"caller_id_name\");\n";
$tmp .= " caller_id_number = session.getVariable(\"caller_id_number\");\n";
$tmp .= "\n";
- $tmp .= " session.execute(\"set\", \"ringback=\"+us_ring); //set to ringtone\n";
- $tmp .= " session.execute(\"set\", \"transfer_ringback=\"+us_ring); //set to ringtone\n";
+
+ $tmp .= " session.execute(\"set\", \"continue_on_fail=true\");\n";
+ if (strlen($rowhelper['ivrcalltimeout']) == 0){
+ $tmp .= " session.execute(\"set\", \"call_timeout=30\");\n"; //ivrcalltimeout
+ }
+ else {
+ $tmp .= " session.execute(\"set\", \"call_timeout=".$rowhelper['ivrcalltimeout']."\");\n"; //ivrcalltimeout
+ }
+
+ if (isset($rowhelper['ivrringback'])){
+ if ($rowhelper['ivrringback'] == "ring"){
+ $tmp .= " session.execute(\"set\", \"ringback=\"+us_ring); //set to ringtone\n";
+ $tmp .= " session.execute(\"set\", \"transfer_ringback=\"+us_ring); //set to ringtone\n";
+ }
+ if ($rowhelper['ivrringback'] == "music"){
+ $tmp .= " session.execute(\"set\", \"ringback=\${hold_music}\"); //set to ringtone\n";
+ $tmp .= " session.execute(\"set\", \"transfer_ringback=\${hold_music}\"); //set to ringtone\n";
+ }
+ }
+ else {
+ $tmp .= " session.execute(\"set\", \"ringback=\${hold_music}\"); //set to ringtone\n";
+ $tmp .= " session.execute(\"set\", \"transfer_ringback=\${hold_music}\"); //set to ringtone\n";
+ }
$tmp .= "\n";
$tmp .= "//console_log( \"info\", \"IVR Server Time is: \"+Hours+\":\"+Mins+\" \\n\" );\n";
$tmp .= "\n";
@@ -1763,6 +1786,7 @@ function sync_package_freeswitch_ivr()
if ($actiondirecttype == "extension") {
$tmp .= " sofia_contact_".$actiondirectdest." = get_sofia_contact(\"".$actiondirectdest."\",domain_name, \"".$actiondirectprofile."\");\n";
$tmp .= " session.execute(\"bridge\", sofia_contact_".$actiondirectdest."); //".$actiondirectdest."\n";
+ $tmp .= " session.execute(\"voicemail\", \"".$actiondirectdest." XML default\");\n";
//$tmp .= " session.execute(\"transfer\", \"".$actiondirectdest." XML default\"); //".$actiondirectdest."\n";
}
if ($actiondirecttype == "voicemail") {
@@ -1808,6 +1832,7 @@ function sync_package_freeswitch_ivr()
if ($row['optiontype'] == "extension") {
$tmp .= " sofia_contact_".$row['optiondest']." = get_sofia_contact(\"".$row['optiondest']."\",domain_name, \"".$row['optionprofile']."\");\n";
$tmp .= " session.execute(\"bridge\", sofia_contact_".$row['optiondest']."); //".$row['optiondescr']."\n";
+ $tmp .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
}
if ($row['optiontype'] == "voicemail") {
//$tmp .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
@@ -1883,6 +1908,7 @@ function sync_package_freeswitch_ivr()
if ($row['optiontype'] == "extension") {
$tmpaction .= " sofia_contact_".$row['optiondest']." = get_sofia_contact(\"".$row['optiondest']."\",domain_name, \"".$row['optionprofile']."\");\n";
$tmpaction .= " session.execute(\"bridge\", sofia_contact_".$row['optiondest']."); //".$row['optiondescr']."\n";
+ $tmpaction .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
}
if ($row['optiontype'] == "voicemail") {
//$tmpaction .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
@@ -1907,10 +1933,12 @@ function sync_package_freeswitch_ivr()
} //end if count
$tmp .= $tmpaction;
- $tmp .= " else {\n";
- $tmp .= " session.execute(\"transfer\", dtmf.digits+\" XML default\");\n";
- //$tmp .= $tmpactiondefault;
- $tmp .= " }\n";
+ if ($rowhelper['ivrdirectdial'] == "true") {
+ $tmp .= " else {\n";
+ $tmp .= " session.execute(\"transfer\", dtmf.digits+\" XML default\");\n";
+ //$tmp .= $tmpactiondefault;
+ $tmp .= " }\n";
+ }
$tmp .= "\n";
unset($tmpaction);
@@ -1957,6 +1985,7 @@ function sync_package_freeswitch_ivr()
if ($actiondirecttype == "extension") {
$tmp .= " sofia_contact_".$actiondirectdest." = get_sofia_contact(\"".$actiondirectdest."\",domain_name, \"".$actiondirectprofile."\");\n";
$tmp .= " session.execute(\"bridge\", sofia_contact_".$actiondirectdest."); //".$actiondirectdest."\n";
+ $tmp .= " session.execute(\"voicemail\", \"".$actiondirectdest." XML default\");\n";
//$tmp .= " session.execute(\"transfer\", \"".$actiondirectdest." XML default\"); //".$actiondirectdest."\n";
}
if ($actiondirecttype == "voicemail") {
@@ -1999,6 +2028,7 @@ function sync_package_freeswitch_ivr()
if ($row['optiontype'] == "extension") {
$tmp .= " sofia_contact_".$row['optiondest']." = get_sofia_contact(\"".$row['optiondest']."\",domain_name, \"".$row['optionprofile']."\");\n";
$tmp .= " session.execute(\"bridge\", sofia_contact_".$row['optiondest']."); //".$row['optiondescr']."\n";
+ $tmp .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
}
if ($row['optiontype'] == "voicemail") {
//$tmp .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
@@ -2030,7 +2060,7 @@ function sync_package_freeswitch_ivr()
$tmp .= " //pickup the remaining digits\n";
$tmp .= " //http://wiki.freeswitch.org/wiki/Session_getDigits\n";
$tmp .= " //getDigits(length, terminators, timeout, digit_timeout, abs_timeout)\n";
- $tmp .= " dtmf.digits += session.getDigits(3, \"#\", 3000);\n";
+ $tmp .= " dtmf.digits += session.getDigits(4, \"#\", 3000);\n";
$tmp .= "\n";
$tmp .= " console_log( \"info\", \"IVR Digit Pressed: \" + dtmf.digits + \"\\n\" );\n";
$tmp .= "\n";
@@ -2074,6 +2104,7 @@ function sync_package_freeswitch_ivr()
if ($row['optiontype'] == "extension") {
$tmpantiaction .= " sofia_contact_".$row['optiondest']." = get_sofia_contact(\"".$row['optiondest']."\",domain_name, \"".$row['optionprofile']."\");\n";
$tmpantiaction .= " session.execute(\"bridge\", sofia_contact_".$row['optiondest']."); //".$row['optiondescr']."\n";
+ $tmpantiaction .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
}
if ($row['optiontype'] == "voicemail") {
//$tmpantiaction .= " session.execute(\"voicemail\", \"".$row['optiondest']." XML default\");\n";
@@ -2097,10 +2128,12 @@ function sync_package_freeswitch_ivr()
} //if count
$tmp .= $tmpantiaction;
- $tmp .= " else {\n";
- $tmp .= " session.execute(\"transfer\", dtmf.digits+\" XML default\");\n";
- //$tmp .= $tmpantiactiondefault;
- $tmp .= " }\n";
+ if ($rowhelper['ivrdirectdial'] == "true") {
+ $tmp .= " else {\n";
+ $tmp .= " session.execute(\"transfer\", dtmf.digits+\" XML default\");\n";
+ //$tmp .= $tmpantiactiondefault;
+ $tmp .= " }\n";
+ }
$tmp .= "\n";
unset($tmpantiaction);
@@ -2421,7 +2454,7 @@ function sync_package_freeswitch()
function freeswitch_php_install_command()
{
global $config;
- $freeswitch_package_version = "0.8.9";
+ $freeswitch_package_version = "0.9.0";
$freeswitch_build_version = "1.0.4 pre 6";
$freeswitch_build_revision = "13238";
@@ -2435,6 +2468,9 @@ function freeswitch_php_install_command()
conf_mount_rw();
config_lock();
+ //used with fax to png, and fax to pdf conversion
+ exec("pkg_add -r tiff2png");
+
if (!is_dir('/usr/local/www/packages/')) {
exec("mkdir /usr/local/www/packages/");
}
@@ -2557,6 +2593,18 @@ function freeswitch_php_install_command()
exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_extensions_edit.tmp");
exec("cp /tmp/freeswitch_extensions_edit.tmp /usr/local/www/packages/freeswitch/freeswitch_extensions_edit.php");
unlink_if_exists("/tmp/freeswitch_extensions_edit.tmp");
+
+ exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_fax.tmp");
+ exec("cp /tmp/freeswitch_fax.tmp /usr/local/www/packages/freeswitch/freeswitch_fax.php");
+ unlink_if_exists("/tmp/freeswitch_fax.tmp");
+
+ exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_fax_edit.tmp");
+ exec("cp /tmp/freeswitch_fax_edit.tmp /usr/local/www/packages/freeswitch/freeswitch_fax_edit.php");
+ unlink_if_exists("/tmp/freeswitch_fax_edit.tmp");
+
+ exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/fax_to_email.tmp");
+ exec("cp /tmp/fax_to_email.tmp /usr/local/www/packages/freeswitch/fax_to_email.php");
+ unlink_if_exists("/tmp/fax_to_email.tmp");
exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_features.tmp");
exec("cp /tmp/freeswitch_features.tmp /usr/local/www/packages/freeswitch/freeswitch_features.php");
diff --git a/config/freeswitch/freeswitch.xml b/config/freeswitch/freeswitch.xml
index 7479a58f..bdd69937 100644
--- a/config/freeswitch/freeswitch.xml
+++ b/config/freeswitch/freeswitch.xml
@@ -44,7 +44,7 @@
<requirements>Describe your package requirements here</requirements>
<faq>Currently there are no FAQ items provided.</faq>
<name>FreeSWITCH Settings</name>
- <version>0.8.9</version>
+ <version>0.9.0</version>
<title>FreeSWITCH: Settings</title>
<include_file>/usr/local/pkg/freeswitch.inc</include_file>
<menu>
diff --git a/config/freeswitch/freeswitch_hunt_group.tmp b/config/freeswitch/freeswitch_hunt_group.tmp
index 5448396a..911b7d5b 100644
--- a/config/freeswitch/freeswitch_hunt_group.tmp
+++ b/config/freeswitch/freeswitch_hunt_group.tmp
@@ -40,7 +40,7 @@ $a_hunt_group = &$config['installedpackages']['freeswitchhuntgroup']['config'];
if ($_GET['act'] == "del") {
if ($_GET['type'] == 'huntgroup') {
if ($a_hunt_group[$_GET['id']]) {
- if file_exists("/usr/local/freeswitch/scripts/huntgroup_".$_GET['huntgroupid'].".js")) {
+ if (file_exists("/usr/local/freeswitch/scripts/huntgroup_".$_GET['huntgroupid'].".js")) {
unlink("/usr/local/freeswitch/scripts/huntgroup_".$_GET['huntgroupid'].".js");
}
unset($a_hunt_group[$_GET['id']]);
diff --git a/config/freeswitch/freeswitch_hunt_group_destinations_edit.tmp b/config/freeswitch/freeswitch_hunt_group_destinations_edit.tmp
index 1188438c..aa4117fa 100644
--- a/config/freeswitch/freeswitch_hunt_group_destinations_edit.tmp
+++ b/config/freeswitch/freeswitch_hunt_group_destinations_edit.tmp
@@ -132,8 +132,15 @@ display_top_tabs(build_menu());
<td width="22%" valign="top" class="vncellreq">Destination</td>
<td width="78%" class="vtable">
<input name="destinationnumber" type="text" class="formfld" id="destinationnumber" size="40" value="<?=htmlspecialchars($pconfig['destinationnumber']);?>">
- <br> <span class="vexpl">Destination<br>
- e.g. <em>1001</em></span></td>
+ <br>
+ <span class="vexpl">
+ <!--<b>examples:</b><br />-->
+ extension: 1001<br />
+ voicemail: 1001<br />
+ sip uri (voicemail): sofia/default/*98@${domain}<br />
+ sip uri (external number): sofia/gateway/gatewayname/12081231234<br />
+ sip uri (auto attendant): sofia/default/5002@${domain}<br />
+ </span>
</tr>
<tr>
<td width="22%" valign="top" class="vncellreq">Type</td>
diff --git a/config/freeswitch/freeswitch_ivr_edit.tmp b/config/freeswitch/freeswitch_ivr_edit.tmp
index 603e4af5..87dd1394 100644
--- a/config/freeswitch/freeswitch_ivr_edit.tmp
+++ b/config/freeswitch/freeswitch_ivr_edit.tmp
@@ -130,9 +130,12 @@ if (isset($id) && $a_ivr[$id]) {
$pconfig['ivrextension'] = $a_ivr[$id]['ivrextension'];
$pconfig['ivrname'] = $a_ivr[$id]['ivrname'];
$pconfig['recordingidaction'] = $a_ivr[$id]['recordingidaction'];
- $pconfig['recordingidantiaction'] = $a_ivr[$id]['recordingidantiaction'];
+ $pconfig['recordingidantiaction'] = $a_ivr[$id]['recordingidantiaction'];
$pconfig['ivrtimeout'] = $a_ivr[$id]['ivrtimeout'];
- $pconfig['ivrcontext'] = $a_ivr[$id]['ivrcontext'];
+ $pconfig['ivrcalltimeout'] = $a_ivr[$id]['ivrcalltimeout'];
+ $pconfig['ivrcontext'] = $a_ivr[$id]['ivrcontext'];
+ $pconfig['ivrdirectdial'] = $a_ivr[$id]['ivrdirectdial'];
+ $pconfig['ivrringback'] = $a_ivr[$id]['ivrringback'];
$pconfig['ivrconditionjs'] = ($a_ivr[$id]['ivrconditionjs']);
$pconfig['ivrdescr'] = $a_ivr[$id]['ivrdescr'];
}
@@ -170,7 +173,10 @@ if ($_POST) {
$ivrent['recordingidaction'] = $_POST['recordingidaction'];
$ivrent['recordingidantiaction'] = $_POST['recordingidantiaction'];
$ivrent['ivrtimeout'] = $_POST['ivrtimeout'];
+ $ivrent['ivrcalltimeout'] = $_POST['ivrcalltimeout'];
$ivrent['ivrcontext'] = $_POST['ivrcontext'];
+ $ivrent['ivrdirectdial'] = $_POST['ivrdirectdial'];
+ $ivrent['ivrringback'] = $_POST['ivrringback'];
$ivrent['ivrconditionjs'] = base64_encode($_POST['ivrconditionjs']);
$ivrent['ivrdescr'] = $_POST['ivrdescr'];
@@ -195,8 +201,25 @@ if ($_POST) {
include("head.inc");
?>
-
+<script language="Javascript">
+function sf() { document.forms[0].savetopath.focus(); }
+</script>
+<script language="Javascript" type="text/javascript" src="/edit_area/edit_area_full.js"></script>
+<script language="Javascript" type="text/javascript">
+ // initialisation
+ editAreaLoader.init({
+ id: "ivrconditionjs" // id of the textarea to transform
+ ,start_highlight: true
+ ,allow_toggle: false
+ ,language: "en"
+ ,syntax: "js"
+ ,toolbar: "search, go_to_line,|, fullscreen, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help"
+ ,syntax_selection_allow: "css,html,js,php,xml,c,cpp,sql"
+ ,show_line_colors: true
+ });
+</script>
<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
+
<?php include("fbegin.inc"); ?>
<p class="pgtitle">FreeSWITCH: IVR: Edit</p>
<?php if ($input_errors) print_input_errors($input_errors); ?>
@@ -288,39 +311,112 @@ display_top_tabs(build_menu());
}
?>
<tr>
- <td width="22%" valign="top" class="vncellreq">Timeout</td>
+ <td width="22%" valign="top" class="vncellreq">IVR Timeout</td>
<td width="78%" class="vtable">
<input name="ivrtimeout" type="text" class="formfld" id="ivrtimeout" size="40" value="<?=htmlspecialchars($pconfig['ivrtimeout']);?>">
- <br><span class="vexpl">After the recording concludes the
+ <br>
+ <span class="vexpl">After the recording concludes the
timeout sets the time in seconds to continue to wait for DTMF.
If the DTMF is <br />not detected during that time the 't'
- timeout option is executed.</span>
+ timeout option is executed.
+ </span>
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncellreq">Call Timeout</td>
+ <td width="78%" class="vtable">
+ <input name="ivrcalltimeout" type="text" class="formfld" id="ivrcalltimeout" size="40" value="<?=htmlspecialchars($pconfig['ivrcalltimeout']);?>">
+ <br>
+ <span class="vexpl">
+ Call timeout is the time in seconds to ring the destination. After this time is exceeded calls
+ to extensions will be sent to voicemail. default: 30 seconds
+ </span>
</td>
</tr>
<tr>
- <td width="22%" valign="top" class="vncell">Context</td>
+ <td width="22%" valign="top" class="vncellreq">Context</td>
<td width="78%" class="vtable">
<input name="ivrcontext" type="text" class="formfld" id="ivrextension" size="40" value="<?=htmlspecialchars($pconfig['ivrcontext']);?>">
<br> <span class="vexpl">e.g. <em>default</em></span></td>
</tr>
<tr>
- <td width="22%" valign="top" class="vncell">Description</td>
+ <td width="22%" valign="top" class="vncellreq">Direct Dial</td>
+ <td width="78%" class="vtable">
+ <?php
+ echo " <select name='ivrdirectdial' class='formfld'>\n";
+ echo " <option></option>\n";
+ if (strlen($pconfig['ivrdirectdial']) == 0) { //set default
+ echo " <option value='true'>enable</option>\n";
+ echo " <option selected='yes' value='false'>disabled</option>\n";
+ }
+ else {
+ if (htmlspecialchars($pconfig['ivrdirectdial']) == "true") {
+ echo " <option selected='yes' value='true'>enabled</option>\n";
+ }
+ else {
+ echo " <option value='true'>enable</option>\n";
+ }
+ if (htmlspecialchars($pconfig['ivrdirectdial']) == "false") {
+ echo " <option selected='yes' value='false'>disabled</option>\n";
+ }
+ else {
+ echo " <option value='false'>disable</option>\n";
+ }
+ }
+
+ echo " </select>\n";
+ ?>
+ <br><span class="vexpl">Allows callers to dial directly to extensions and feature codes that are up to 5 digits in length.</span>
+ </td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncellreq">Ring Back</td>
+ <td width="78%" class="vtable">
+ <?php
+ echo " <select name='ivrringback' class='formfld'>\n";
+ echo " <option></option>\n";
+ if (htmlspecialchars($pconfig['ivrringback']) == "ring") {
+ echo " <option selected='yes'>ring</option>\n";
+ }
+ else {
+ echo " <option>ring</option>\n";
+ }
+ if (htmlspecialchars($pconfig['ivrringback']) == "music") {
+ echo " <option selected='yes'>music</option>\n";
+ }
+ else {
+ echo " <option>music</option>\n";
+ }
+ echo " </select>\n";
+ ?>
+ <br>
+ <span class="vexpl">
+ Defines what the caller will hear while destination is being called. The choices are music
+ (music on hold) ring (ring tone.) default: music
+ </span>
+ </td>
+ </tr>
+
+ <tr>
+ <td width="22%" valign="top" class="vncellreq">Description</td>
<td width="78%" class="vtable">
<input name="ivrdescr" type="text" class="formfld" id="descr" size="40" value="<?=htmlspecialchars($pconfig['ivrdescr']);?>">
- <br> <span class="vexpl">You may enter a description here
- for your reference (not parsed).</span></td>
+ <br>
+ <span class="vexpl">
+ You may enter a description here for your reference (not parsed).
+ </span>
+ </td>
</tr>
-
<tr>
- <td width="22%" valign="top" class="vncell">Javascript Condition</td>
+ <td width="22%" valign="top" class="vncellreq">Javascript Condition</td>
<td width="78%" class="vtable">
<?php
if (strlen(htmlspecialchars(base64_decode($pconfig['ivrconditionjs']))) == 0) {
- echo "<textarea name=\"ivrconditionjs\" cols=\"50\" rows=\"7\" wrap=\"off\">".$ivrconditionjs."</textarea>\n";
+ echo "<textarea name=\"ivrconditionjs\" id=\"ivrconditionjs\" cols=\"75\" rows=\"10\" wrap=\"off\">".$ivrconditionjs."</textarea>\n";
}
else {
- echo "<textarea name=\"ivrconditionjs\" cols=\"50\" rows=\"7\" wrap=\"off\">".htmlspecialchars(base64_decode($pconfig['ivrconditionjs']))."</textarea>\n";
+ echo "<textarea name=\"ivrconditionjs\" id=\"ivrconditionjs\" cols=\"75\" rows=\"10\" wrap=\"off\">".htmlspecialchars(base64_decode($pconfig['ivrconditionjs']))."</textarea>\n";
}
?>
<br> <span class="vexpl">A simple valid condition is:
@@ -387,11 +483,12 @@ display_top_tabs(build_menu());
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
- <td width="20%" class="listhdrr">Option</td>
- <td width="25%" class="listhdrr">Type</td>
- <td width="25%" class="listhdrr">Destination</td>
- <td width="25%" class="listhdr">Description</td>
- <td width="10%" class="list">
+ <td width="30" class="listhdrr">Option</td>
+ <td width="30" class="listhdrr">Type</td>
+ <td width="30" class="listhdrr">Profile</td>
+ <td width="150" class="listhdrr">Destination</td>
+ <td width="30%" class="listhdr">Description</td>
+ <td width="40" class="list">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="17"></td>
@@ -415,6 +512,9 @@ display_top_tabs(build_menu());
<?=$ent['optiontype'];?>&nbsp;
</td>
<td class="listr" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$i;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
+ <?=$ent['optionprofile'];?>&nbsp;
+ </td>
+ <td class="listr" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$i;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
<?=$ent['optiondest'];?>&nbsp;
</td>
<td class="listbg" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$id;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
@@ -436,7 +536,7 @@ display_top_tabs(build_menu());
}
?>
<tr>
- <td class="list" colspan="4"></td>
+ <td class="list" colspan="5"></td>
<td class="list">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
@@ -449,7 +549,7 @@ display_top_tabs(build_menu());
<tr>
- <td class="list" colspan="4"></td>
+ <td class="list" colspan="5"></td>
<td class="list"></td>
</tr>
</table>
@@ -485,11 +585,12 @@ display_top_tabs(build_menu());
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
- <td width="20%" class="listhdrr">Option</td>
- <td width="25%" class="listhdrr">Type</td>
- <td width="25%" class="listhdrr">Destination</td>
- <td width="25%" class="listhdr">Description</td>
- <td width="10%" class="list">
+ <td width="30" class="listhdrr">Option</td>
+ <td width="30" class="listhdrr">Type</td>
+ <td width="30" class="listhdrr">Profile</td>
+ <td width="150" class="listhdrr">Destination</td>
+ <td width="30%" class="listhdr">Description</td>
+ <td width="40" class="list">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="17"></td>
@@ -499,7 +600,7 @@ display_top_tabs(build_menu());
</td>
</tr>
- <?php
+ <?php
$i = 0;
if (count($a_ivr_options) > 0) {
foreach ($a_ivr_options as $ent) {
@@ -513,6 +614,9 @@ display_top_tabs(build_menu());
<?=$ent['optiontype'];?>&nbsp;
</td>
<td class="listr" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$i;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
+ <?=$ent['optionprofile'];?>&nbsp;
+ </td>
+ <td class="listr" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$i;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
<?=$ent['optiondest'];?>&nbsp;
</td>
<td class="listbg" ondblclick="document.location='freeswitch_ivr_options_edit.php?id=<?=$id;?>&parentid=<?=$parentid;?>&ivrid=<?=$ivrid;?>';">
@@ -534,7 +638,7 @@ display_top_tabs(build_menu());
}
?>
<tr>
- <td class="list" colspan="4"></td>
+ <td class="list" colspan="5"></td>
<td class="list">
<table border="0" cellspacing="0" cellpadding="1">
<tr>
@@ -547,7 +651,7 @@ display_top_tabs(build_menu());
<tr>
- <td class="list" colspan="4"></td>
+ <td class="list" colspan="5"></td>
<td class="list"></td>
</tr>
</table>
diff --git a/config/freeswitch/freeswitch_ivr_options_edit.tmp b/config/freeswitch/freeswitch_ivr_options_edit.tmp
index 1a7af9d5..8f925813 100644
--- a/config/freeswitch/freeswitch_ivr_options_edit.tmp
+++ b/config/freeswitch/freeswitch_ivr_options_edit.tmp
@@ -154,7 +154,7 @@ display_top_tabs(build_menu());
else {
echo " <option>voicemail</option>\n";
}
- if (htmlspecialchars($pconfig['huntgrouptimeouttype']) == "sip uri") {
+ if (htmlspecialchars($pconfig['optiontype']) == "sip uri") {
echo " <option selected='yes'>sip uri</option>\n";
}
else {
@@ -192,8 +192,16 @@ display_top_tabs(build_menu());
<td width="22%" valign="top" class="vncellreq">Destination</td>
<td width="78%" class="vtable">
<input name="optiondest" type="text" class="formfld" id="optiondest" size="40" value="<?=htmlspecialchars($pconfig['optiondest']);?>">
- <br> <span class="vexpl">Destination<br>
- e.g. <em>1001</em></span></td>
+ <br>
+ <span class="vexpl">
+ <!--<b>examples:</b><br />-->
+ extension: 1001<br />
+ voicemail: 1001<br />
+ sip uri (voicemail): sofia/default/*98@${domain}<br />
+ sip uri (external number): sofia/gateway/gatewayname/12081231234<br />
+ sip uri (auto attendant): sofia/default/5002@${domain}<br />
+ </span>
+ </td>
</tr>
<tr>
<td width="22%" valign="top" class="vncell">Description</td>
diff --git a/pkg_config.7.xml b/pkg_config.7.xml
index ff4f4846..84130f18 100755
--- a/pkg_config.7.xml
+++ b/pkg_config.7.xml
@@ -87,12 +87,12 @@
<package>
<name>FreeSWITCH</name>
<website>http://www.freeswitch.org/</website>
- <descr>FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow. </descr>
+ <descr>FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow. pfSense 1.2.3 or higher is recommended.</descr>
<category>Services</category>
<pkginfolink>http://doc.pfsense.org/index.php/FreeSWITCH</pkginfolink>
<config_file>http://www.pfsense.com/packages/config/freeswitch/freeswitch.xml</config_file>
<depends_on_package_base_url>http://files.pfsense.org/packages/7/All/</depends_on_package_base_url>
- <version>0.8.9</version>
+ <version>0.9.0</version>
<status>Beta</status>
<required_version>1.2.1</required_version>
<maintainer>markjcrane@gmail.com</maintainer>