Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ include "root.php"; require_once "includes/require.php"; require_once "includes/checkauth.php"; if (permission_exists('outbound_route_add')) { //access granted } else { echo "access denied"; exit; } //show the header require_once "includes/header.php"; require_once "includes/paging.php"; //get the http post values and set theme as php variables if (count($_POST)>0) { $dialplan_name = check_str($_POST["dialplan_name"]); $dialplan_order = check_str($_POST["dialplan_order"]); $dialplan_expression = check_str($_POST["dialplan_expression"]); $prefix_number = check_str($_POST["prefix_number"]); $condition_field_1 = check_str($_POST["condition_field_1"]); $condition_expression_1 = check_str($_POST["condition_expression_1"]); $condition_field_2 = check_str($_POST["condition_field_2"]); $condition_expression_2 = check_str($_POST["condition_expression_2"]); $gateway = check_str($_POST["gateway"]); $limit = check_str($_POST["limit"]); //set the default type $gateway_type = 'gateway'; $gateway_2_type = 'gateway'; $gateway_3_type = 'gateway'; //set the gateway type to enum if (strtolower(substr($gateway, 0, 7)) == "enum") { $gateway_type = 'enum'; } //set the gateway type to freetdm if (strtolower(substr($gateway, 0, 7)) == "freetdm") { $gateway_type = 'freetdm'; } //set the gateway type to dingaling if (strtolower(substr($gateway, 0, 4)) == "xmpp") { $gateway_type = 'xmpp'; } //set the gateway_uuid and gateway_name if ($gateway_type == "gateway") { $gateway_array = explode(":",$gateway); $gateway_uuid = $gateway_array[0]; $gateway_name = $gateway_array[1]; } else { $gateway_name = ''; $gateway_uuid = ''; } //set the gateway_2 variable $gateway_2 = check_str($_POST["gateway_2"]); //set the gateway type to enum if (strtolower(substr($gateway_2, 0, 4)) == "enum") { $gateway_2_type = 'enum'; } //set the gateway type to freetdm if (strtolower(substr($gateway_2, 0, 7)) == "freetdm") { $gateway_2_type = 'freetdm'; } //set the gateway type to dingaling if (strtolower(substr($gateway_2, 0, 4)) == "xmpp") { $gateway_2_type = 'xmpp'; } //set the gateway_2_id and gateway_2_name if ($gateway_2_type == "gateway" && strlen($_POST["gateway_2"]) > 0) { $gateway_2_array = explode(":",$gateway_2); $gateway_2_id = $gateway_2_array[0]; $gateway_2_name = $gateway_2_array[1]; } else { $gateway_2_id = ''; $gateway_2_name = ''; } //set the gateway_3 variable $gateway_3 = check_str($_POST["gateway_3"]); //set the gateway type to enum if (strtolower(substr($gateway_3, 0, 4)) == "enum") { $gateway_3_type = 'enum'; } //set the gateway type to freetdm if (strtolower(substr($gateway_3, 0, 7)) == "freetdm") { $gateway_3_type = 'freetdm'; } //set the gateway type to dingaling if (strtolower(substr($gateway_3, 0, 4)) == "xmpp") { $gateway_3_type = 'xmpp'; } //set the gateway_3_id and gateway_3_name if ($gateway_3_type == "gateway" && strlen($_POST["gateway_3"]) > 0) { $gateway_3_array = explode(":",$gateway_3); $gateway_3_id = $gateway_3_array[0]; $gateway_3_name = $gateway_3_array[1]; } else { $gateway_3_id = ''; $gateway_3_name = ''; } if (permission_exists('outbound_route_any_gateway')) { //get the domain_uuid for gateway $sql = "select * from v_gateways "; $sql .= "where gateway_uuid = '$gateway_uuid' "; $sql .= "and gateway = '$gateway_name' "; $sql .= "and enabled = 'true' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $gateway_domain_uuid = $row["domain_uuid"]; break; } unset ($prep_statement); //get the domain_uuid for gateway_2 $sql = "select * from v_gateways "; $sql .= "where gateway_uuid = '$gateway_2_id' "; $sql .= "and gateway = '$gateway_2_name' "; $sql .= "and enabled = 'true' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $gateway_2_domain_uuid = $row["domain_uuid"]; break; } unset ($prep_statement); //get the domain_uuid for gateway_3 $sql = "select * from v_gateways "; $sql .= "where gateway_uuid = '$gateway_3_id' "; $sql .= "and gateway = '$gateway_3_name' "; $sql .= "and enabled = 'true' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $gateway_3_domain_uuid = $row["domain_uuid"]; break; } unset ($prep_statement); } $dialplan_enabled = check_str($_POST["dialplan_enabled"]); $dialplan_description = check_str($_POST["dialplan_description"]); if (strlen($dialplan_enabled) == 0) { $dialplan_enabled = "true"; } //set default to enabled } //process the http form values if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { //check for all required data if (strlen($gateway) == 0) { $msg .= "Please provide: Gateway Name
\n"; } //if (strlen($gateway_2) == 0) { $msg .= "Please provide: Alternat 1
\n"; } //if (strlen($gateway_3) == 0) { $msg .= "Please provide: Alternat 2
\n"; } if (strlen($dialplan_expression) == 0) { $msg .= "Please provide: Dialplan Expression
\n"; } //if (strlen($dialplan_name) == 0) { $msg .= "Please provide: Extension Name
\n"; } //if (strlen($condition_field_1) == 0) { $msg .= "Please provide: Condition Field
\n"; } //if (strlen($condition_expression_1) == 0) { $msg .= "Please provide: Condition Expression
\n"; } //if (strlen($limit) == 0) { $msg .= "Please provide: Limit
\n"; } //if (strlen($dialplan_enabled) == 0) { $msg .= "Please provide: Enabled True or False
\n"; } //if (strlen($description) == 0) { $msg .= "Please provide: Description
\n"; } if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { require_once "includes/header.php"; require_once "includes/persistformvar.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "includes/footer.php"; return; } if (strlen(trim($_POST['dialplan_expression']))> 0) { $tmp_array = explode("\n", $_POST['dialplan_expression']); foreach($tmp_array as $dialplan_expression) { $dialplan_expression = trim($dialplan_expression); if (strlen($dialplan_expression)>0) { if (count($_SESSION["domains"]) > 1) { if (permission_exists('outbound_route_any_gateway')) { $tmp_gateway_name = $_SESSION['domains'][$gateway_domain_uuid]['domain_name'] .'-'.$gateway_name; } else { $tmp_gateway_name = $_SESSION['domains'][$_SESSION['domain_uuid']]['domain_name'] .'-'.$gateway_name; } if (strlen($gateway_2_name) > 0) { if (permission_exists('outbound_route_any_gateway')) { $tmp_gateway_2_name = $_SESSION['domains'][$gateway_2_domain_uuid]['domain_name'] .'-'.$gateway_2_name; } else { $tmp_gateway_2_name = $_SESSION['domains'][$_SESSION['domain_uuid']]['domain_name'] .'-'.$gateway_2_name; } } if (strlen($gateway_3_name) > 0) { if (permission_exists('outbound_route_any_gateway')) { $tmp_gateway_3_name = $_SESSION['domains'][$gateway_3_domain_uuid]['domain_name'] .'-'.$gateway_3_name; } else { $tmp_gateway_3_name = $_SESSION['domains'][$_SESSION['domain_uuid']]['domain_name'] .'-'.$gateway_3_name; } } } else { $tmp_gateway_name = $gateway_name; if (strlen($gateway_2_name) > 0) { $tmp_gateway_2_name = $gateway_2_name; } if (strlen($gateway_3_name) > 0) { $tmp_gateway_3_name = $gateway_3_name; } } switch ($dialplan_expression) { case "^(\d{7})$": $label = "7 digits"; $abbrv = "7d"; break; case "^(\d{8})$": $label = "8 digits"; $abbrv = "8d"; break; case "^(\d{9})$": $label = "9 digits"; $abbrv = "9d"; break; case "^(\d{10})$": $label = "10 digits"; $abbrv = "10d"; break; case "^\+?(\d{11})$": $label = "11 digits"; $abbrv = "11d"; break; case "^(\d{12})$": $label = "12 digits"; $abbrv = "12d"; break; case "^(\d{13})$": $label = "13 digits"; $abbrv = "13d"; break; case "^(\d{14})$": $label = "14 digits"; $abbrv = "14d"; break; case "^(\d{12,15})$": $label = "International"; $abbrv = "Intl"; break; case "^(311)$": $label = "311"; $abbrv = "311"; break; case "^(411)$": $label = "411"; $abbrv = "411"; break; case "^(911)$": $label = "911"; $abbrv = "911"; break; case "^9(\d{3})$": $label = "dial 9, 3 digits"; $abbrv = "9.3d"; break; case "^9(\d{4})$": $label = "dial 9, 4 digits"; $abbrv = "9.4d"; break; case "^9(\d{7})$": $label = "dial 9, 7 digits"; $abbrv = "9.7d"; break; case "^9(\d{10})$": $label = "dial 9, 10 digits"; $abbrv = "9.10d"; break; case "^9(\d{11})$": $label = "dial 9, 11 digits"; $abbrv = "9.11d"; break; case "^9(\d{12})$": $label = "dial 9, 12 digits"; $abbrv = "9.Intl"; break; case "^9(\d{13})$": $label = "dial 9, 13 digits"; $abbrv = "9.13d"; break; case "^9(\d{14})$": $label = "dial 9, 14 digits"; break; case "^9(\d{12,15})$": $label = "dial 9, International"; $abbrv = "9.Intl"; break; case "^1?(8(00|55|66|77|88)[2-9]\d{6})$": $label = "toll free"; $abbrv = "tollfree"; break; default: $label = $dialplan_expression; $abbrv = filename_safe($dialplan_expression); } if ($gateway_type == "gateway") { $dialplan_name = $gateway_name.".".$abbrv; $action_data = "sofia/gateway/".$tmp_gateway_name."/".$prefix_number."\$1"; } if (strlen($gateway_2_name) > 0 && $gateway_2_type == "gateway") { $extension_2_name = $gateway_2_name.".".$abbrv; $bridge_2_data .= "sofia/gateway/".$tmp_gateway_2_name."/".$prefix_number."\$1"; } if (strlen($gateway_3_name) > 0 && $gateway_3_type == "gateway") { $extension_3_name = $gateway_3_name.".".$abbrv; $bridge_3_data .= "sofia/gateway/".$tmp_gateway_3_name."/".$prefix_number."\$1"; } if ($gateway_type == "freetdm") { $dialplan_name = "freetdm.".$abbrv; $action_data = $gateway."/1/a/".$prefix_number."\$1"; } if ($gateway_2_type == "freetdm") { $extension_2_name = "freetdm.".$abbrv; $bridge_2_data .= $gateway_2."/1/a/".$prefix_number."\$1"; } if ($gateway_3_type == "freetdm") { $extension_3_name = "freetdm.".$abbrv; $bridge_3_data .= $gateway_3."/1/a/".$prefix_number."\$1"; } if ($gateway_type == "xmpp") { $dialplan_name = "xmpp.".$abbrv; $action_data = "dingaling/gtalk/+".$prefix_number."\$1@voice.google.com"; } if ($gateway_2_type == "xmpp") { $extension_2_name = "xmpp.".$abbrv; $bridge_2_data .= "dingaling/gtalk/+".$prefix_number."\$1@voice.google.com"; } if ($gateway_3_type == "xmpp") { $extension_3_name = "xmpp.".$abbrv; $bridge_3_data .= "dingaling/gtalk/+".$prefix_number."\$1@voice.google.com"; } if ($gateway_type == "enum") { if (strlen($bridge_2_data) == 0) { $dialplan_name = "enum.".$abbrv; } else { $dialplan_name = $extension_2_name; } $action_data = "\${enum_auto_route}"; } if ($gateway_2_type == "enum") { $bridge_2_data .= "\${enum_auto_route}"; } if ($gateway_3_type == "enum") { $bridge_3_data .= "\${enum_auto_route}"; } if (strlen($dialplan_order) == 0) { $dialplan_order ='333'; } $dialplan_context = $_SESSION['context']; $dialplan_continue = 'false'; $app_uuid = '8c914ec3-9fc0-8ab5-4cda-6c9288bdc9a3'; //add the main dialplan include entry $dialplan_uuid = uuid(); $sql = "insert into v_dialplans "; $sql .= "("; $sql .= "domain_uuid, "; $sql .= "dialplan_uuid, "; $sql .= "app_uuid, "; $sql .= "dialplan_name, "; $sql .= "dialplan_order, "; $sql .= "dialplan_continue, "; $sql .= "dialplan_context, "; $sql .= "dialplan_enabled, "; $sql .= "dialplan_description "; $sql .= ") "; $sql .= "values "; $sql .= "("; $sql .= "'".$_SESSION['domain_uuid']."', "; $sql .= "'$dialplan_uuid', "; $sql .= "'$app_uuid', "; $sql .= "'$dialplan_name', "; $sql .= "'$dialplan_order', "; $sql .= "'$dialplan_continue', "; $sql .= "'$dialplan_context', "; $sql .= "'$dialplan_enabled', "; $sql .= "'$dialplan_description' "; $sql .= ")"; if ($v_debug) { echo $sql."
"; } $db->exec(check_sql($sql)); unset($sql); $dialplan_detail_tag = 'condition'; //condition, action, antiaction $dialplan_detail_type = 'destination_number'; $dialplan_detail_data = $dialplan_expression; $dialplan_detail_order = '005'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'sip_h_X-accountcode=${accountcode}'; $dialplan_detail_order = '010'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'sip_h_X-Tag='; $dialplan_detail_order = '012'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'call_direction=outbound'; $dialplan_detail_order = '015'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'hangup_after_bridge=true'; $dialplan_detail_order = '020'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'effective_caller_id_name=${outbound_caller_id_name}'; $dialplan_detail_order = '025'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; if ($dialplan_expression == '^(911)$') { $dialplan_detail_data = 'effective_caller_id_number=${emergency_caller_id_number}'; } else { $dialplan_detail_data = 'effective_caller_id_number=${outbound_caller_id_number}'; } $dialplan_detail_order = '030'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'inherit_codec=true'; $dialplan_detail_order = '035'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); if (strlen($bridge_2_data) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'set'; $dialplan_detail_data = 'continue_on_fail=true'; $dialplan_detail_order = '040'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); } if ($gateway_type == "enum" || $gateway_2_type == "enum") { $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'enum'; $dialplan_detail_data = $prefix_number."$1 e164.org"; $dialplan_detail_order = '045'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); } if (strlen($limit) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'limit'; $dialplan_detail_data = "db \${domain} outbound ".$limit." !USER_BUSY"; $dialplan_detail_order = '050'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); } $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'bridge'; $dialplan_detail_data = $action_data; $dialplan_detail_order = '055'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); if (strlen($bridge_2_data) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'bridge'; $dialplan_detail_data = $bridge_2_data; $dialplan_detail_order = '060'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); } if (strlen($bridge_3_data) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction $dialplan_detail_type = 'bridge'; $dialplan_detail_data = $bridge_3_data; $dialplan_detail_order = '065'; $dialplan_detail_group = ''; dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); } unset($bridge_2_data); unset($bridge_3_data); unset($label); unset($abbrv); unset($dialplan_expression); unset($action_data); } //if strlen } //end for each //synchronize the xml config save_dialplan_xml(); //changes in the dialplan may affect routes in the hunt groups save_hunt_group_xml(); } //synchronize the xml config save_dialplan_xml(); //redirect the user require_once "includes/header.php"; echo "\n"; echo "
\n"; echo "Update Complete\n"; echo "
\n"; require_once "includes/footer.php"; return; } //end if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) ?> "; echo "\n"; echo "\n"; echo " \n"; echo ""; echo "
\n"; echo "
"; echo "
\n"; echo "
\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
Outbound Routes\n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo " Outbound dialplans have one or more conditions that are matched to attributes of a call. \n"; echo " When a call matches the conditions the call is then routed to the gateway.\n"; echo " \n"; echo "
"; echo "
\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo ""; echo "
\n"; echo " Gateway:\n"; echo "\n"; if (if_group("superadmin")) { echo "\n"; echo "\n"; } //set the onchange if (if_group("superadmin")) { $onchange = "onchange='changeToInput(this);'"; } else { $onchange = ''; } $sql = "select * from v_gateways "; $sql .= "where enabled = 'true' "; if (permission_exists('outbound_route_any_gateway')) { $sql .= " order by domain_uuid = '$domain_uuid' "; } else { $sql .= " and domain_uuid = '$domain_uuid' "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); echo "\n"; echo "
\n"; echo "Select the gateway to use with this outbound route.\n"; echo "
\n"; echo " Alternate 1:\n"; echo "\n"; $sql = "select * from v_gateways "; $sql .= "where enabled = 'true' "; if (permission_exists('outbound_route_any_gateway')) { $sql .= "order by domain_uuid = '$domain_uuid' "; } else { $sql .= "and domain_uuid = '$domain_uuid' "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); echo "\n"; echo "
\n"; echo "Select another gateway as an alternative to use if the first one fails.\n"; echo "
\n"; echo " Alternate 2:\n"; echo "\n"; $sql = "select * from v_gateways "; $sql .= "where enabled = 'true' "; if (permission_exists('outbound_route_any_gateway')) { $sql .= "order by domain_uuid = '$domain_uuid' "; } else { $sql .= "and domain_uuid = '$domain_uuid' "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); echo "\n"; echo "
\n"; echo "Select another gateway as an alternative to use if the second one fails.\n"; echo "
Dialplan Expression:"; echo " \n"; echo "
\n"; echo " \n"; echo " \n"; echo "
\n"; echo " Shortcut to create the outbound dialplan entries for this Gateway. \n"; echo "
\n"; echo " Prefix:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Enter a prefix number to add to the beginning of the destination number.\n"; echo "
\n"; echo " Limit:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Enter limit to restrict the number of outbound calls.\n"; echo "
\n"; echo " Order:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Select the order number. The order number determines the order of the outbound routes when there is more than one.\n"; echo "
\n"; echo " Enabled:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Choose to enable or disable the outbound route.\n"; echo "
\n"; echo " Description:\n"; echo "\n"; echo " \n"; echo "
\n"; echo "Enter a description for the outbound route.\n"; echo "
\n"; if ($action == "update") { echo " \n"; } echo " \n"; echo "
"; echo "
"; echo "
"; echo "
"; echo ""; echo "

"; //show the footer require_once "includes/footer.php"; ?>