aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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>