Difference between revisions of "Digitronco SIP internet - Oi"

From Aligera Docs
Jump to navigation Jump to search
 
(35 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
É necessário a versão de firmware 9.2 ou superior.
 
É necessário a versão de firmware 9.2 ou superior.
  
−
Executar o script abaixo:
+
<html>
 +
<!-- Formulário SIP com validação -->
 +
<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>
 +
 
 +
  <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.
 +
  </medium><br><br>
 +
 
 +
  <div class="campo">
 +
    <label for="campo1"><b>Número chave (10 dígitos):</b></label>
 +
    <div class="linha">
 +
      <input type="text" id="campo1" placeholder="5135000100" maxlength="10" minlength="10" />
 +
      <small id="erro1" class="erro">⚠️ Insira um número com 10 dígitos.</small>
 +
    </div>
 +
  </div>
 +
 
 +
  <div class="campo">
 +
    <label for="campo2"><b>Senha conta SIP:</b></label>
 +
    <div class="linha">
 +
      <input type="password" id="campo2" placeholder="Digite a senha" />
 +
      <small id="erro2" class="erro">⚠️ A senha não pode estar vazia.</small>
 +
    </div>
 +
  </div>
 +
 
 +
  <div class="campo">
 +
    <label for="campo3"><b>IP SBC OI:</b></label>
 +
    <div class="linha">
 +
      <input type="text" id="campo3" placeholder="192.168.0.1" />
 +
      <small id="erro3" class="erro">⚠️ Insira um endereço IP válido.</small>
 +
    </div>
 +
  </div>
 +
 
 +
  <button id="botaoGerar" onclick="gerarResposta()">Gerar script CLI</button>
 +
</div>
 +
 
 +
<!-- Resultado -->
 +
<div id="resultado" style="margin-top:15px; font-weight:bold; color:#336699;"></div>
 +
<button id="botaoCopiar" style="display:none; margin-top:10px;" onclick="copiarResposta()">Copiar</button>
 +
 
 +
<style>
 +
  /* Layout vertical com campos compactos */
 +
  .campo {
 +
    margin-bottom: 10px;
 +
  }
 +
 
 +
  .linha {
 +
    display: flex;
 +
    align-items: center;
 +
    gap: 6px;
 +
    flex-wrap: wrap;
 +
  }
 +
 
 +
  label {
 +
    font-weight: bold;
 +
    color: #333;
 +
    display: block;
 +
    margin-bottom: 4px;
 +
  }
 +
 
 +
  input {
 +
    padding: 6px;
 +
    border: 1px solid #ccc;
 +
    border-radius: 6px;
 +
    width: 200px;
 +
    transition: border-color 0.2s ease;
 +
  }
 +
 
 +
  input:focus {
 +
    outline: none;
 +
    border-color: #007bff;
 +
    box-shadow: 0 0 3px rgba(0, 123, 255, 0.4);
 +
  }
 +
 
 +
  .erro {
 +
    color: red;
 +
    display: none;
 +
    font-size: 12px;
 +
    white-space: nowrap;
 +
  }
 +
 
 +
  /* Botões */
 +
  button {
 +
    background-color: #007bff;
 +
    color: white;
 +
    border: none;
 +
    border-radius: 6px;
 +
    padding: 8px 16px;
 +
    font-size: 14px;
 +
    cursor: pointer;
 +
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
 +
    transition: all 0.2s ease;
 +
  }
 +
 
 +
  button:hover {
 +
    background-color: #0056b3;
 +
    box-shadow: 0 3px 6px rgba(0,0,0,0.3);
 +
    transform: translateY(-1px);
 +
  }
 +
 
 +
  #botaoCopiar {
 +
    background-color: #28a745;
 +
  }
 +
 
 +
  #botaoCopiar:hover {
 +
    background-color: #1e7e34;
 +
  }
 +
</style>
 +
 
 +
<script>
 +
function gerarResposta() {
 +
  const v1 = document.getElementById("campo1").value.trim();
 +
  const v2 = document.getElementById("campo2").value.trim();
 +
  const v3 = document.getElementById("campo3").value.trim();
 +
 
 +
  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;
 +
 
 +
  if (!regexNumero.test(v1)) {
 +
    document.getElementById("erro1").style.display = "inline";
 +
    valido = false;
 +
  } else {
 +
    document.getElementById("erro1").style.display = "none";
 +
  }
 +
 
 +
  if (!v2) {
 +
    document.getElementById("erro2").style.display = "inline";
 +
    valido = false;
 +
  } else {
 +
    document.getElementById("erro2").style.display = "none";
 +
  }
 +
 
 +
  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";
 +
    return;
 +
  }
 +
 
 +
  const resposta =
 +
    "config sip peer trunk1 delete<br>" +
 +
    "config sip prack yes<br>" +
 +
    "config sip session_expires 300<br>" +
 +
    "config sip session_minse 90<br>" +
 +
    "config sip bindport 5060<br>" +
 +
    "config sip peer "+v1+" register yes<br>" +
 +
    "config sip peer "+v1+" username "+v1+"<br>" +
 +
    "config sip peer "+v1+" secret "+v2+"<br>" +
 +
    "config sip peer "+v1+" host "+v3+"<br>" +
 +
    "config sip peer "+v1+" port 5061<br>" +
 +
    "config sip peer "+v1+" contactuser "+v1+"<br>" +
 +
    "config sip peer "+v1+" dtmfmode rfc2833<br>" +
 +
    "config sip peer "+v1+" transport tls<br>" +
 +
    "config sip peer "+v1+" codecs alaw<br>" +
 +
    "config sip peer "+v1+" options_keepalive yes<br>" +
 +
    "config dialplan rule sip_trunk1_default source_peer sip "+v1+"<br>" +
 +
    "config dialplan rule sip_trunk1_default destination_peer tdm group1<br>" +
 +
    "config dialplan rule sip_trunk1_default outgoing_called {:-4}<br>" +
 +
    "config dialplan rule tdm_group1_default source_peer tdm group1<br>" +
 +
    "config dialplan rule tdm_group1_default destination_peer sip "+v1+"<br>" +
 +
    "config dialplan rule tdm_group1_default outgoing_callerid "+v1+"<br>" +
 +
    "config save<br>" +
 +
    "config apply<br>" +
 +
    "system reboot<br>" +
 +
    "!";
 +
 
 +
  document.getElementById("resultado").innerHTML = resposta;
 +
  document.getElementById("botaoCopiar").style.display = "inline-block";
 +
}
 +
 
 +
function copiarResposta() {
 +
  const texto = document.getElementById("resultado").innerText;
 +
  navigator.clipboard.writeText(texto)
 +
    .then(() => alert("✅ Script copiado para a área de transferência!"))
 +
    .catch(err => alert("❌ Falha ao copiar: " + err));
 +
}
 +
</script>
 +
 
 +
</html>
 +
 
 +
 
 +
 
 +
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.
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 
config sip peer trunk1 delete
 
config sip peer trunk1 delete
 
!
 
!
 
config sip prack yes
 
config sip prack yes
−
config sip session_expires 600
+
config sip session_expires 300
 
config sip session_minse 90
 
config sip session_minse 90
 +
config sip bindport 5060
 
!
 
!
 
config sip peer <numero_chave> register yes
 
config sip peer <numero_chave> register yes
Line 28: Line 227:
 
!
 
!
 
config dialplan rule sip_trunk1_default source_peer sip <numero_chave>
 
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 destination_peer sip <numero_chave>
 +
config dialplan rule tdm_group1_default outgoing_callerid <numero_chave>
 
!
 
!
 
config save
 
config save
Line 38: Line 241:
  
 
==AGOS==
 
==AGOS==
−
É necessário a versão de firmware AGOS 4.58.5 ou supeior.
+
É necessário a versão de firmware AGOS 4.58.5 ou superior.
 +
 
 +
Através da interface CLI, executar o script abaixo:
  
−
Executar o script abaixo:
+
Obs. Os campos entre <> devem ser alterados de acordo com os dados de sua conta, a qual a operadora enviou.
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 
config sip peer trunk1 delete
 
config sip peer trunk1 delete
 
!
 
!
 
config sip prack yes
 
config sip prack yes
−
config sip session_expires 600
+
config sip session_expires 300
 
config sip session_minse 90
 
config sip session_minse 90
 +
config sip bindport 5060
 
!
 
!
 
config sip peer <numero_chave> register yes
 
config sip peer <numero_chave> register yes
Line 60: Line 266:
 
!
 
!
 
config dialplan rule sip_trunk1_default source_peer sip <numero_chave>
 
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 destination_peers 1 peer sip <numero_chave>
 +
config dialplan rule tdm_group1_default outgoing_callerid <numero_chave>
 
!
 
!
 
config save
 
config save

Latest revision as of 14:42, 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.

⚠️ Insira um número com 10 dígitos.
⚠️ A senha não pode estar vazia.
⚠️ Insira um endereço IP válido.


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