aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/freeswitch_dev/freeswitch.inc23
-rw-r--r--config/freeswitch_dev/freeswitch_hunt_group_edit.tmp17
2 files changed, 38 insertions, 2 deletions
diff --git a/config/freeswitch_dev/freeswitch.inc b/config/freeswitch_dev/freeswitch.inc
index 22d8478f..aaeb2767 100644
--- a/config/freeswitch_dev/freeswitch.inc
+++ b/config/freeswitch_dev/freeswitch.inc
@@ -1172,6 +1172,29 @@ function sync_package_freeswitch_hunt_group()
} //end if strlen huntgroupid; add the Hunt Group to the dialplan
+ //--- begin: pin number ------------------------------------
+ if ($rowhelper['huntgrouppin']) > 0) {
+ echo "var pin = '".$rowhelper['huntgrouppin']."';\n";
+ echo "if (pin.length > 0) {\n";
+ echo " var dtmf = new Object();\n";
+ echo " dtmf.digits = \"\";\n";
+ echo " digitmaxlength = 6;\n";
+ echo " session.execute(\"set\", \"playback_terminators=#\");\n";
+ echo " session.streamFile( \"/usr/local/freeswitch/sounds/custom/8000/please_enter_the_pin_number.wav\", mycb, \"dtmf\");\n";
+ echo " session.collectInput( mycb, dtmf, timeoutpin );\n";
+ echo "\n";
+ echo " if (dtmf.digits == pin || pin.length == 0) {\n";
+ echo " //continue\n";
+ echo " }\n";
+ echo " else {\n";
+ echo " console_log( \"info\", \"Pin: \" + dtmf.digits + \" is incorrect\\n\" );\n";
+ echo " session.streamFile( \"/usr/local/freeswitch/sounds/custom/8000/your_pin_number_is_incorect_goodbye.wav\", mycb, \"dtmf\");\n";
+ echo " session.hangup();\n";
+ echo " }\n";
+ echo "}";
+ }
+ //--- end: pin number ------------------------------------
+
//Get the list of destinations then build the Hunt Group javascript
$tmp = "";
$tmp .= "\n";
diff --git a/config/freeswitch_dev/freeswitch_hunt_group_edit.tmp b/config/freeswitch_dev/freeswitch_hunt_group_edit.tmp
index 29915f67..82fa87e0 100644
--- a/config/freeswitch_dev/freeswitch_hunt_group_edit.tmp
+++ b/config/freeswitch_dev/freeswitch_hunt_group_edit.tmp
@@ -58,7 +58,8 @@ if (isset($id) && $a_hunt_group[$id]) {
$pconfig['huntgrouptimeoutdestination'] = $a_hunt_group[$id]['huntgrouptimeoutdestination'];
$pconfig['huntgrouptimeouttype'] = $a_hunt_group[$id]['huntgrouptimeouttype'];
$pconfig['huntgroupringback'] = $a_hunt_group[$id]['huntgroupringback'];
- $pconfig['huntgroupcidnameprefix'] = $a_hunt_group[$id]['huntgroupcidnameprefix'];
+ $pconfig['huntgroupcidnameprefix'] = $a_hunt_group[$id]['huntgroupcidnameprefix'];
+ $pconfig['huntgrouppin'] = $a_hunt_group[$id]['huntgrouppin'];
$pconfig['huntgroupdescr'] = $a_hunt_group[$id]['huntgroupdescr'];
}
@@ -97,7 +98,8 @@ if ($_POST) {
$huntgroupent['huntgrouptimeoutdestination'] = $_POST['huntgrouptimeoutdestination'];
$huntgroupent['huntgrouptimeouttype'] = $_POST['huntgrouptimeouttype'];
$huntgroupent['huntgroupringback'] = $_POST['huntgroupringback'];
- $huntgroupent['huntgroupcidnameprefix'] = $_POST['huntgroupcidnameprefix'];
+ $huntgroupent['huntgroupcidnameprefix'] = $_POST['huntgroupcidnameprefix'];
+ $huntgroupent['huntgrouppin'] = $_POST['huntgrouppin'];
$huntgroupent['huntgroupdescr'] = $_POST['huntgroupdescr'];
if (isset($id) && $a_hunt_group[$id]) {
@@ -284,6 +286,17 @@ display_top_tabs(build_menu());
</td>
</tr>
<tr>
+ <td width="22%" valign="top" class="vncell">PIN</td>
+ <td width="78%" class="vtable">
+ <input name="huntgrouppin" type="text" class="formfld" id="huntgrouppin" size="40" value="<?=htmlspecialchars($pconfig['huntgrouppin']);?>">
+ <br>
+ <span class="vexpl">
+ If this is provided then the caller will be required to enter the PIN number. (optional)
+ </span>
+ </td>
+ </tr>
+
+ <tr>
<td width="22%" valign="top" class="vncell">Description</td>
<td width="78%" class="vtable">
<input name="huntgroupdescr" type="text" class="formfld" id="descr" size="40" value="<?=htmlspecialchars($pconfig['huntgroupdescr']);?>">