Difference between revisions of "Digitronco SIP internet - Oi"

From Aligera Docs
Jump to navigation Jump to search
Line 9: Line 9:
  
 
<html>
 
<html>
−
<!-- Formulário simples para MediaWiki -->
+
<!-- Formulário SIP com validação -->
 
<div id="Formulario_561_OI" style="background-color:#e6f0ff; padding:20px; border-radius:8px; width:fit-content;">
 
<div id="Formulario_561_OI" style="background-color:#e6f0ff; padding:20px; border-radius:8px; width:fit-content;">
  
 
   <h3>Insira os dados da conta SIP fornecidos pela operadora:</h3>
 
   <h3>Insira os dados da conta SIP fornecidos pela operadora:</h3>
  
−
  <!-- Aviso de privacidade -->
 
 
   <medium style="color:gray; font-style:italic;">
 
   <medium style="color:gray; font-style:italic;">
 
     🔒 As informações inseridas não são armazenadas nem enviadas — o processamento ocorre apenas no seu navegador.
 
     🔒 As informações inseridas não são armazenadas nem enviadas — o processamento ocorre apenas no seu navegador.
 
   </medium><br><br>
 
   </medium><br><br>
  
−
   <label>Número chave (10 dígitos):</label><br>
+
   <label for="campo1">Número chave (10 dígitos):</label><br>
−
   <input type="text" id="campo1" placeholder="5135000100" maxlength="10" minlength="10" /><br><br>
+
   <input type="text" id="campo1" placeholder="5135000100" maxlength="10" minlength="10" /><br>
 +
  <small id="erro1" style="color:red; display:none;">⚠️ Insira um número com 10 dígitos.</small><br><br>
  
−
   <label>Senha conta SIP:</label><br>
+
   <label for="campo2">Senha conta SIP:</label><br>
−
   <input type="password" id="campo2" placeholder="Digite a senha" /><br><br>
+
   <input type="password" id="campo2" placeholder="Digite a senha" /><br>
 +
  <small id="erro2" style="color:red; display:none;">⚠️ A senha não pode estar vazia.</small><br><br>
  
−
   <label>IP SBC:</label><br>
+
   <label for="campo3">IP SBC:</label><br>
−
   <input type="text" id="campo3" placeholder="192.168.0.1" /><br><br>
+
   <input type="text" id="campo3" placeholder="192.168.0.1" /><br>
 +
  <small id="erro3" style="color:red; display:none;">⚠️ Insira um endereço IP válido.</small><br><br>
  
 
   <button id="botaoGerar" onclick="gerarResposta()">Gerar script CLI</button>
 
   <button id="botaoGerar" onclick="gerarResposta()">Gerar script CLI</button>
Line 38: Line 40:
  
 
<style>
 
<style>
−
   /* Estilo geral dos botões */
+
   /* Campos de entrada */
 +
  input {
 +
    padding: 8px;
 +
    border: 1px solid #ccc;
 +
    border-radius: 6px;
 +
    width: 200px;
 +
    margin-top: 4px;
 +
    transition: border-color 0.2s ease;
 +
  }
 +
 
 +
  input:focus {
 +
    outline: none;
 +
    border-color: #007bff;
 +
    box-shadow: 0 0 4px rgba(0, 123, 255, 0.5);
 +
  }
 +
 
 +
  /* Botões estilizados */
 
   button {
 
   button {
 
     background-color: #007bff;
 
     background-color: #007bff;
Line 51: Line 69:
 
   }
 
   }
  
−
  /* Efeito ao passar o mouse */
 
 
   button:hover {
 
   button:hover {
 
     background-color: #0056b3;
 
     background-color: #0056b3;
Line 58: Line 75:
 
   }
 
   }
  
−
  /* Efeito ao clicar */
 
 
   button:active {
 
   button:active {
 
     transform: translateY(1px);
 
     transform: translateY(1px);
Line 64: Line 80:
 
   }
 
   }
  
−
  /* Botão copiar com cor secundária */
 
 
   #botaoCopiar {
 
   #botaoCopiar {
 
     background-color: #28a745;
 
     background-color: #28a745;
Line 80: Line 95:
 
   const v3 = document.getElementById("campo3").value.trim();
 
   const v3 = document.getElementById("campo3").value.trim();
  
−
   if (!v1 || !v2 || !v3) {
+
  // Expressões regulares para validação
−
     document.getElementById("resultado").innerHTML = "⚠️ Preencha todos os campos!";
+
  const regexNumero = /^\d{10}$/;
 +
  const regexIP = /^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}$/;
 +
 
 +
  let valido = true;
 +
 
 +
  // Validação campo 1
 +
   if (!regexNumero.test(v1)) {
 +
    document.getElementById("erro1").style.display = "inline";
 +
    valido = false;
 +
  } else {
 +
    document.getElementById("erro1").style.display = "none";
 +
  }
 +
 
 +
  // Validação campo 2
 +
  if (!v2) {
 +
    document.getElementById("erro2").style.display = "inline";
 +
    valido = false;
 +
  } else {
 +
    document.getElementById("erro2").style.display = "none";
 +
  }
 +
 
 +
  // Validação campo 3
 +
  if (!regexIP.test(v3)) {
 +
    document.getElementById("erro3").style.display = "inline";
 +
    valido = false;
 +
  } else {
 +
    document.getElementById("erro3").style.display = "none";
 +
  }
 +
 
 +
  if (!valido) {
 +
     document.getElementById("resultado").innerHTML = "⚠️ Corrija os erros acima antes de gerar o script.";
 
     document.getElementById("botaoCopiar").style.display = "none";
 
     document.getElementById("botaoCopiar").style.display = "none";
 
     return;
 
     return;

Revision as of 02:34, 16 October 2025


Configurações para a operadora Oi

Acesse o equipamento utilizando a interface CLI, porta 22 SSH. Mais detalhes sobre a conexão podem ser obtidos no manual do equipamento.

AG561

É necessário a versão de firmware 9.2 ou superior.

Insira os dados da conta SIP fornecidos pela operadora:

🔒 As informações inseridas não são armazenadas nem enviadas — o processamento ocorre apenas no seu navegador.















Copie o script e cole na interface CLI.


Outra forma de configurar o AG561 é elaborar o script manualmente seguindo o modelo abaixo:

Através da interface CLI, executar o script abaixo:

Obs. Os campos entre <> devem ser alterados de acordo com os dados de sua conta, a qual a operadora enviou.

config sip peer trunk1 delete
!
config sip prack yes
config sip session_expires 300
config sip session_minse 90
config sip bindport 5060
!
config sip peer <numero_chave> register yes
config sip peer <numero_chave> username <numero_chave>
config sip peer <numero_chave> secret <senha>
config sip peer <numero_chave> host <ip_sbc_oi>
config sip peer <numero_chave> port 5061
config sip peer <numero_chave> contactuser <numero_chave>
config sip peer <numero_chave> dtmfmode rfc2833
config sip peer <numero_chave> transport tls
config sip peer <numero_chave> codecs alaw
config sip peer <numero_chave> options_keepalive yes
!
config dialplan rule sip_trunk1_default source_peer sip <numero_chave>
config dialplan rule sip_trunk1_default destination_peer tdm group1
config dialplan rule sip_trunk1_default outgoing_called {:-4}
!
config dialplan rule tdm_group1_default source_peer tdm group1
config dialplan rule tdm_group1_default destination_peer sip <numero_chave>
config dialplan rule tdm_group1_default outgoing_callerid <numero_chave>
!
config save
config apply
!
system reboot

AGOS

É necessário a versão de firmware AGOS 4.58.5 ou superior.

Através da interface CLI, executar o script abaixo:

Obs. Os campos entre <> devem ser alterados de acordo com os dados de sua conta, a qual a operadora enviou.

config sip peer trunk1 delete
!
config sip prack yes
config sip session_expires 300
config sip session_minse 90
config sip bindport 5060
!
config sip peer <numero_chave> register yes
config sip peer <numero_chave> username <numero_chave>
config sip peer <numero_chave> secret <senha>
config sip peer <numero_chave> host <ip_sbc_oi>
config sip peer <numero_chave> port 5061
config sip peer <numero_chave> contactuser <numero_chave>
config sip peer <numero_chave> dtmfmode rfc2833
config sip peer <numero_chave> transport tls
config sip peer <numero_chave> codecs alaw
config sip peer <numero_chave> options_keepalive yes
!
config dialplan rule sip_trunk1_default source_peer sip <numero_chave>
config dialplan rule sip_trunk1_default outgoing_called {:-4}
!
config dialplan rule tdm_group1_default destination_peers 1 peer sip <numero_chave>
config dialplan rule tdm_group1_default outgoing_callerid <numero_chave>
!
config save
config apply
!
system reboot