. */ /* Determines how many columns per row for the codecs and formats the table */ $cols_per_row = 4; $width = (100.0 / $cols_per_row); $tabindex = 0; $dispnum = "sipsettings"; $error_displays = array(); $action = isset($_POST['action'])?$_POST['action']:''; $sip_settings['nat'] = isset($_POST['nat']) ? $_POST['nat'] : 'yes'; $sip_settings['nat_mode'] = isset($_POST['nat_mode']) ? $_POST['nat_mode'] : 'externip'; $sip_settings['externip_val'] = isset($_POST['externip_val']) ? htmlspecialchars($_POST['externip_val']) : ''; $sip_settings['externhost_val'] = isset($_POST['externhost_val']) ? htmlspecialchars($_POST['externhost_val']) : ''; $sip_settings['externrefresh'] = isset($_POST['externrefresh']) ? htmlspecialchars($_POST['externrefresh']) : '120'; $p_idx = 0; $n_idx = 0; while (isset($_POST["localnet_$p_idx"])) { if ($_POST["localnet_$p_idx"] != '') { $sip_settings["localnet_$n_idx"] = htmlspecialchars($_POST["localnet_$p_idx"]); $sip_settings["netmask_$n_idx"] = htmlspecialchars($_POST["netmask_$p_idx"]); $n_idx++; } $p_idx++; } $codecs = array( 'ulaw' => '', 'alaw' => '', 'slin' => '', 'g726' => '', 'gsm' => '', 'g729' => '', 'ilbc' => '', 'g723' => '', 'g726aal2' => '', 'adpcm' => '', 'lpc10' => '', 'speex' => '', 'g722' => '', ); foreach (array_keys($codecs) as $codec) { $codecs[$codec] = isset($_POST[$codec]) ? $_POST[$codec] : ''; } $sip_settings['codecs'] = $codecs; $sip_settings['g726nonstandard'] = isset($_POST['g726nonstandard']) ? $_POST['g726nonstandard'] : 'no'; $sip_settings['t38pt_udptl'] = isset($_POST['t38pt_udptl']) ? $_POST['t38pt_udptl'] : 'no'; $video_codecs = array( 'h261' => '', 'h263' => '', 'h263p' => '', 'h264' => '', ); foreach (array_keys($video_codecs) as $codec) { $video_codecs[$codec] = isset($_POST[$codec]) ? $_POST[$codec] : ''; } $sip_settings['video_codecs'] = $video_codecs; $sip_settings['videosupport'] = isset($_POST['videosupport']) ? $_POST['videosupport'] : 'no'; $sip_settings['maxcallbitrate'] = isset($_POST['maxcallbitrate']) ? htmlspecialchars($_POST['maxcallbitrate']) : '384'; $sip_settings['canreinvite'] = isset($_POST['canreinvite']) ? $_POST['canreinvite'] : 'no'; $sip_settings['rtptimeout'] = isset($_POST['rtptimeout']) ? htmlspecialchars($_POST['rtptimeout']) : '30'; $sip_settings['rtpholdtimeout'] = isset($_POST['rtpholdtimeout']) ? htmlspecialchars($_POST['rtpholdtimeout']) : '300'; $sip_settings['rtpkeepalive'] = isset($_POST['rtpkeepalive']) ? htmlspecialchars($_POST['rtpkeepalive']) : '0'; $sip_settings['checkmwi'] = isset($_POST['checkmwi']) ? htmlspecialchars($_POST['checkmwi']) : '10'; $sip_settings['notifyringing'] = isset($_POST['notifyringing']) ? $_POST['notifyringing'] : 'yes'; $sip_settings['notifyhold'] = isset($_POST['notifyhold']) ? $_POST['notifyhold'] : 'yes'; $sip_settings['registertimeout'] = isset($_POST['registertimeout']) ? htmlspecialchars($_POST['registertimeout']) : '20'; $sip_settings['registerattempts'] = isset($_POST['registerattempts']) ? htmlspecialchars($_POST['registerattempts']) : '0'; $sip_settings['maxexpiry'] = isset($_POST['maxexpiry']) ? htmlspecialchars($_POST['maxexpiry']) : '3600'; $sip_settings['minexpiry'] = isset($_POST['minexpiry']) ? htmlspecialchars($_POST['minexpiry']) : '60'; $sip_settings['defaultexpiry'] = isset($_POST['defaultexpiry']) ? htmlspecialchars($_POST['defaultexpiry']) : '120'; $sip_settings['jbenable'] = isset($_POST['jbenable']) ? $_POST['jbenable'] : 'no'; $sip_settings['jbforce'] = isset($_POST['jbforce']) ? $_POST['jbforce'] : 'no'; $sip_settings['jbimpl'] = isset($_POST['jbimpl']) ? $_POST['jbimpl'] : 'fixed'; $sip_settings['jbmaxsize'] = isset($_POST['jbmaxsize']) ? htmlspecialchars($_POST['jbmaxsize']) : '200'; $sip_settings['jbresyncthreshold'] = isset($_POST['jbresyncthreshold']) ? htmlspecialchars($_POST['jbresyncthreshold']) : '1000'; $sip_settings['jblog'] = isset($_POST['jblog']) ? $_POST['jblog'] : 'no'; $sip_settings['sip_language'] = isset($_POST['sip_language']) ? htmlspecialchars($_POST['sip_language']) : ''; $sip_settings['context'] = isset($_POST['context']) ? htmlspecialchars($_POST['context']) : ''; $sip_settings['bindaddr'] = isset($_POST['bindaddr']) ? htmlspecialchars($_POST['bindaddr']) : ''; $sip_settings['bindport'] = isset($_POST['bindport']) ? htmlspecialchars($_POST['bindport']) : ''; $sip_settings['allowguest'] = isset($_POST['allowguest']) ? $_POST['allowguest'] : 'yes'; $sip_settings['srvlookup'] = isset($_POST['srvlookup']) ? $_POST['srvlookup'] : 'no'; $p_idx = 0; $n_idx = 0; while (isset($_POST["sip_custom_key_$p_idx"])) { if ($_POST["sip_custom_key_$p_idx"] != '') { $sip_settings["sip_custom_key_$n_idx"] = htmlspecialchars($_POST["sip_custom_key_$p_idx"]); $sip_settings["sip_custom_val_$n_idx"] = htmlspecialchars($_POST["sip_custom_val_$p_idx"]); $n_idx++; } $p_idx++; } switch ($action) { case "edit": //just delete and re-add if (($errors = sipsettings_edit($sip_settings)) !== true) { $error_displays = process_errors($errors); } else { needreload(); //redirect_standard(); } break; default: /* only get them if first time load, if they pressed submit, use values from POST */ $sip_settings = sipsettings_get(); } $error_displays = array_merge($error_displays,sipsettings_check_custom_files()); ?>