'', 'context' => 'entrada-pstn', 'echocancel' => 'yes', 'echocancelwhenbridged' => 'yes', 'echotraining' => 'yes', 'group' => '', 'mfcr2_allow_collect_calls' => 'yes', 'mfcr2_category' => 'national_subscriber', 'mfcr2_double_answer' => 'no', 'mfcr2_get_ani_first' => 'yes', 'mfcr2_max_ani' => '20', 'mfcr2_max_dnis' => '4', 'rxgain' => '', 'txgain' => '', 'param_opc'); $isdn_def = array('channel' => '', 'context' => 'entrada-pstn', 'echocancel' => 'yes', 'echocancelwhenbridged' => 'yes', 'echotraining' => 'yes', 'group' => '', 'overlapdial' => 'yes', 'pridialplan' => 'national', 'rxgain' => '-1,0%', 'signalling' => 'pri_net', 'switchtype' => 'national', 'txgain' => '0', 'param_opc'); $anl_def = array('signalling' => 'fxs_ks', 'busycount' => '4', 'busydetect' => 'yes', 'callerid' => 'asreceived', 'channel' => '', 'cidsignalling' => 'dtmf', 'cidstart' => 'ring', 'context' => 'entrada-pstn', 'echocancel' => '512', 'echocancelwhenbridged' => 'yes', 'echotraining' => 'yes', 'group' => '', 'rxgain' => '4', 'txgain' => '4', 'param_opc'); $tipoDisp = isset($_POST['interface']) ? strtoupper($_POST['interface']) : 'R2'; $dispositivo = isset($_POST['dispositivo']) ? $_POST['dispositivo'] : '0'; $arDef = ($tipoDisp == 'R2') ? $r2_def : (($tipoDisp == 'ISDN') ? $isdn_def : $anl_def); if (IsPostBack() && $salvar) { $id = $_POST["id"]; $nome = LimpaString($_POST["nome"], true); $nomeOld = trim($_POST["nomeOld"]); $dispo = trim($_POST["dispositivo"]); $chn = trim($_POST["channel"]); $grupo_span = $_POST["group"]; $param = preg_split('/[\,,;]/', $_POST["channel"], -1); $param = explode('-', $param[0]); $_POST["channel_1"] = soNumero($param[0] ? $param[0] : 0); $_POST["channel_2"] = soNumero($param[1] ? $param[1] : 0); $existeRamal = $nomeOld <> $nome ? _VerificaNomeTronco($dbcon, $nome) : false; if ($existeRamal) { $msg = $existeRamal; } else if (VerificaContrato($dbcon, $contrato, $id)) { $msg = "Este contrato já esta associado a outro \"Tronco\"!"; } else if (!$dispo) { $msg = "Informe um \"Dispositivo\" para realizar o cadastro!"; } else if (!$chn) { $msg = "Informe um \"Canal de Comunicação\" para realizar o cadastro!"; } else if ($nome == false) { $msg = "Informe um \"Nome\" para realizar o cadastro!"; } else if (!$grupo_span) { $msg = "Campo \"Grupo Span\" é obrigatório!"; } else { $arSql = $tipoDisp == 'R2' ? $r2 : ($tipoDisp == 'ISDN' ? $isdn : $anl); /* * Captura os valores para a query. */ $arQuery = array(); foreach ($_POST as $key => $value) { if (array_search($key, $arSql) !== false) { $arQuery[$key] = $value; } } /* * Prepara a query para insersão ou atualização. */ $fields = ''; $values = ''; if ($acao == "inseri") { $arQuery['tipo_cadastro'] = 'T'; foreach ($arQuery as $key => $value) { $fields .= !$fields ? "\"$key\"" : ",\"$key\""; $values .= !$values ? QuotedStr($value) : ("," . QuotedStr($value)); } $query = "insert into pbx_troncos_dahdi($fields)values($values)"; } if ($acao == "edita") { foreach ($arQuery as $key => $value) { if (array_search($key, $notUpdate) === false) { $fields .= !$fields ? sprintf("\"%s\" = %s", $key, QuotedStr($value)) : sprintf(",\n\"%s\" = %s", $key, QuotedStr($value)); } } $query = "update pbx_troncos_dahdi set $fields where id = '$id'"; } //echo $query; exit; pg_query($dbcon, $query); GeraDahdi($dbcon, 1); if (!$msg) { echo ""; } } } if ($msg) { echo ""; $dados = array(); foreach ($_POST as $key => $value) $dados[$key] = $value; } else if (IsPostBack() && !$salvar) { $troca = ($_SESSION["SS_tipoDisp"] != $tipoDisp); $dados = array(); foreach ($_POST as $key => $value) $dados[$key] = $value; if ($troca) foreach ($arDef as $key => $value) $dados[$key] = $value; if ($insere) { if ($tipoDisp == 'ANL') $campo = 'fxsks'; else $campo = 'channel'; $query = "select $campo from pbx_troncos_dahdi where id = '$dispositivo'"; $result = pg_query($dbcon, $query); $row = pg_fetch_row($result); $dados['channel'] = $row[0]; } $_SESSION["SS_tipoDisp"] = $tipoDisp; } else { if ($acao == "edita") { $id = $_GET["id"] ?? "0"; $query = "SELECT * FROM pbx_troncos_dahdi where tipo_cadastro = 'T' and id=$id"; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); $tipoDisp = $dados['interface']; $disabled = 'disabled="disabled"'; } else { /* $query = "SELECT * FROM pbx_troncos_dahdi where 1=2"; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result);] */ $_SESSION["SS_tipoDisp"] = $tipoDisp; $dados = array(); foreach ($arDef as $key => $value) $dados[$key] = $value; } } foreach ($dados as $key => $value) $GLOBALS[$key] = $value; $nomeOld = isset($dados["nomeOld"]) ? $dados["nomeOld"] : $dados["nome"]; //$displayValue = ($acao=='edita') || (!empty($msg)); ?>
CADASTRO DE TRONCO DAHDI
Interface \n"; echo "\n"; } ?>
Tarifação
Portabilidade
Dispositivo
Nome />
Mac
Span
Qtde Canais
Cascata
Framing
Modo de Recebimento
Mfcr2 Variant
Fonte de Sincronismo
Line Built-Out
Spannum
Coding
Checagem Erros(crc4)
ANI antes DNIS
Digitos ANI
Digitos DNIS
Categoria do Chamador
Bloquear Chamada a cobrar
Duplo Atendimento
Cancelamento de Eco
Cancelamento Eco/Bridged
Treino de Eco
Módulo Cancelamento/Eco
Canais de Comunicação
Canais de Comunicação(cas)
Canal de Sinalização(dchan)
Canal de Sinalização(bchan)
Canal de Sinalização(alaw)
Quantidade de Tons Ocupado
Detectar Tom de Ocupado
Bina
fxsks
Tipo de Sinalização da Bina
Tipo de Sinalização do Audio
Tipo
Plano de Discagem
Plano Discagem Local
Enviar Digitos
Contexto de Entrada
Grupo Span
Ganho Tx
Ganho Rx
Parametros Opcionais
Ex.:
param=valor;
param1=valor1;
------------"; $query = "SELECT id, ( nome || '(' || interface || ')' ) as nome FROM pbx_troncos_dahdi where tipo_cadastro = 'D' order by nome"; $result = pg_query($db, $query); while ($row = pg_fetch_array($result)) { $id = $row['id']; $nome = $row["nome"]; if ($dispId == $id) $sel = "selected"; else $sel = ""; $item .= ""; } return $item; } ?>