/** * @pram string; can be a trunk id, all or *, or registered/reg for just trunks that are registered * @pram boolean; true disables trunk, false is enables trunk */ function core_trunks_disable($trunk, $switch) { switch ($trunk) { case 'all': case '*': $trunks = core_trunks_getDetails(); break; case 'reg': case 'registered': foreach (core_trunks_getDetails() as $t) { if ($reg = core_trunks_getTrunkRegister($t['trunkid'])) { $trunks[] = $t; } } break; case '': return false; //cannot call without a trunk break; default: $trunks[] = core_trunks_getDetails($trunk); break; } //return if no trunks! if (empty($trunks)) { return false; } foreach ($trunks as $t) { $trunk = core_trunks_getDetails($t['trunkid']); $regstring = core_trunks_getTrunkRegister($t['trunkid']); $userconfig = core_trunks_getTrunkUserConfig($t['trunkid']); $peerdetails = core_trunks_getTrunkPeerDetails($t['trunkid']); $disabled = $switch ? 'on' : 'off'; core_trunks_edit($trunk['trunkid'], $trunk['channelid'], $trunk['dialoutprefix'], $trunk['maxchans'], $trunk['outcid'], $peerdetails, $trunk['usercontext'], $userconfig, $regstring, $trunk['keepcid'], $trunk['failscript'], $disabled, $trunk['name'], $trunk['provider'], $trunk['continue']); } }
// Fallthrough to addtrunk now... // case "addtrunk": if ($tech == 'pjsip') { $channelid = !empty($_REQUEST['trunk_name']) ? $_REQUEST['trunk_name'] : ''; } $trunknum = core_trunks_add($tech, $channelid, $dialoutprefix, $maxchans, $outcid, $peerdetails, $usercontext, $userconfig, $register, $keepcid, trim($failtrunk), $disabletrunk, $trunk_name, $provider, $continue, $dialopts); core_trunks_update_dialrules($trunknum, $dialpattern_insert); needreload(); redirect_standard(); break; case "edittrunk": if ($tech == 'pjsip') { $channelid = !empty($_REQUEST['trunk_name']) ? $_REQUEST['trunk_name'] : ''; } core_trunks_edit($trunknum, $channelid, $dialoutprefix, $maxchans, $outcid, $peerdetails, $usercontext, $userconfig, $register, $keepcid, trim($failtrunk), $disabletrunk, $trunk_name, $provider, $continue, $dialopts); // this can rewrite too, so edit is the same core_trunks_update_dialrules($trunknum, $dialpattern_insert, true); needreload(); redirect_standard('extdisplay'); break; case "deltrunk": core_trunks_del($trunknum); core_trunks_delete_dialrules($trunknum); core_routing_trunk_delbyid($trunknum); needreload(); redirect_standard(); break; case "populatenpanxx7": case "populatenpanxx10": $dialpattern_array = $dialpattern_insert;
$reg = $register . $gw; /* Extract the allow/disallow now */ $tech = $trunk_details['tech']; $outcid = $trunk_details['outcid']; $maxchans = $trunk_details['maxchans']; $dialoutprefix = $trunk_details['dialoutprefix']; $keepcid = $trunk_details['keepcid']; $failtrunk = $trunk_details['failscript']; $disabletrunk = $trunk_details['disabled']; // TODO: trunk_name, provider with 2.6 /* $provider = $trunk_details['provider']; $trunk_name = $trunk_details['name']; */ core_trunks_edit($trunknum, $channelid, $dialoutprefix, $maxchans, $outcid, $peer_stuff, $usercontext, $userconfig, $reg, $keepcid, $failtrunk, $disabletrunk); $need_reload = true; $json_array['status'] = 'success'; $json_array['trunk_updated'][$gidx] = $trunknum; } } /* if we made changes then we have to set the needsreload status and send back the reload bar to be inserted */ if ($need_reload) { needreload(); if ($_POST['send_reload'] == 'yes') { ob_start(); if (!@(include 'views/freepbx_reloadbar.php')) { @(include '../../views/freepbx_reloadbar.php'); //TODO for debugging