'', '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"; } ?>
>
>R2
>ISDN
>ANALOGICA
Tarifação
Portabilidade
Dispositivo
Nome
/>
Mac
Span
Qtde Canais
Cascata
>Master
>Slave
Framing
>cas
>ccs
Modo de Recebimento
>Via rede publica
>Via PABX
Mfcr2 Variant
Fonte de Sincronismo
>Externo
>Primário
>Secundário
>Terciário
Line Built-Out
>0: 0 db (CSU) / 0-133 feet (DSX-1)
>1: 133-266 feet (DSX-1)
>2: 266-399 feet (DSX-1)
>3: 399-533 feet (DSX-1)
>4: 533-655 feet (DSX-1)
>5: -7.5db (CSU)
>6: -15db (CSU)
>7: -22.5db (CSU)
Spannum
Coding
Checagem Erros(crc4)
>Sim
>Não
ANI antes DNIS
>Sim
>Não
Digitos ANI
Digitos DNIS
Categoria do Chamador
>Assinante Nacional
>Assinante Nacional Prioritario
>Assinante Internacional
>Ligação a cobrar
Bloquear Chamada a cobrar
>Sim
>Não
Duplo Atendimento
>Sim
>Não
Cancelamento de Eco
>Sim
>Não
>16
>32
>64
>128
>256
>512
Cancelamento Eco/Bridged
>Sim
>Não
Treino de Eco
>Sim
>Não
Módulo Cancelamento/Eco
>mg2
>oslec
>kb1
>sec2
>sec
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
>bell
>v23
>dtmf
Tipo de Sinalização do Audio
>Ring
>Inversão de Polaridade
Tipo
>5ess
>euroisdn
>national
>dms100
>4ess
>Qsig
Plano de Discagem
>private
>national
>international
>unknown
>dynamic
>redundant
Plano Discagem Local
Enviar Digitos
>Sim
>Não
Contexto de Entrada
Grupo Span
Ganho Tx
Ganho Rx
Parametros Opcionais
Ex.:
param=valor;
param1=valor1;