0) { //update $ent['dialplanincludeid'] = $_POST['dialplanincludeid']; } else { //add $ent['dialplanincludeid'] = guid(); } $ent['extensionname'] = $_POST['extensionname']; $ent['order'] = $_POST['order']; //$ent['context'] = $_POST['context']; $ent['context'] = 'default'; $ent['enabled'] = $_POST['enabled']; $ent['descr'] = $_POST['descr']; $ent['opt1name'] = $_POST['opt1name']; $ent['opt1value'] = $_POST['opt1value']; if (isset($id) && $a_dialplan_includes[$id]) { $a_dialplan_includes = $config['freeswitchdialplanincludes']['config']; if (count($a_dialplan_includes)>0) { foreach($a_dialplan_includes as $rowhelper) { //$rowhelper['dialplanincludeid']; //$rowhelper['extensionname']; //$rowhelper['context']; //$rowhelper['enabled']; $filenamechanged = false; if ($rowhelper['dialplanincludeid'] == $_POST['dialplanincludeid']) { if ($rowhelper['extensionname'] != $_POST['extensionname']) { //if the extension name has changed then remove the current dialplan xml file //to prepare for the new file $filenamechanged = true; } if ($rowhelper['order'] != $_POST['order']) { //if the order has changed then remove the current dialplan xml file //to prepare for the new file $filenamechanged = true; } if ($_POST['enabled'] == "false") { //if the extension name is disabled then remove the dialplan xml file $filenamechanged = true; } if ($filenamechanged){ $dialplanincludefilename = $rowhelper['order']."_".$rowhelper['extensionname'].".xml"; if (file_exists("/usr/local/freeswitch/conf/dialplan/default/".$dialplanincludefilename)) { unlink("/usr/local/freeswitch/conf/dialplan/default/".$dialplanincludefilename); } unset($dialplanincludefilename); } } unset($filenamechanged); } //end foreach } //end count //update the config $a_dialplan_includes[$id] = $ent; } else { //add to the config $a_dialplan_includes[] = $ent; } write_config(); sync_package_freeswitch_dialplan_includes(); header("Location: freeswitch_dialplan_includes.php"); exit; } } $pgtitle = "FreeSWITCH: Dialplan: Edit"; include("head.inc"); ?>

Dialplan:
Dialplan Include general settings.


Extension Name
Supported characters are 'a-z', 'A-Z', '0-9', underscore '_', and period '.'.
Enabled \n"; echo " \n"; switch (htmlspecialchars($pconfig['enabled'])) { case "true": echo " \n"; echo " \n"; break; case "false": echo " \n"; echo " \n"; break; default: echo " \n"; echo " \n"; } echo " \n"; ?>
Order \n"; echo " \n"; if (strlen(htmlspecialchars($pconfig['order']))> 0) { echo " \n"; } $i=0; while($i<=999) { if (strlen($i) == 1) { echo " \n"; } if (strlen($i) == 2) { echo " \n"; } if (strlen($i) == 3) { echo " \n"; } $i++; } echo " \n"; ?>
Processing of each dialplan include is determined by this order.
Description
You may enter a description here for your reference (not parsed).
  0 && $a_dialplan_includes[$id]) { echo "\n"; echo " \n"; echo " \n"; echo " \n"; } ?>


"; //print_r ($a_dialplan_includes); //echo ""; //if ($savemsg) print_info_box($savemsg); //if (file_exists($d_hostsdirty_path)): echo"

"; //print_info_box_np("The FreeSWITCH recordings have been changed.
You must apply the changes in order for them to take effect."); //echo"
"; //endif; ?>

Conditions and Actions
The following conditions, actions and anti-actions are used in the dialplan to direct call flow. Each is processed in order until you reach the action tag which tells FreeSWITCH what action to perform. You are not limited to only one condition or action tag for a given extension.


0) { foreach ($a_dialplan_include_details as $ent) { if ($ent['tag'] == "condition" && $dialplanincludeid == $ent['dialplanincludeid']) { ?> 0) { foreach ($a_dialplan_include_details as $ent) { if ($ent['tag'] == "action" && $dialplanincludeid == $ent['dialplanincludeid']) { ?> 0) { foreach ($a_dialplan_include_details as $ent) { if ($ent['tag'] == "anti-action" && $dialplanincludeid == $ent['dialplanincludeid']) { ?> 0) { foreach ($a_dialplan_include_details as $ent) { if ($ent['tag'] == "param" && $dialplanincludeid == $ent['dialplanincludeid']) { ?>
Tag Type Data