Difference between revisions of "Digitronco SIP internet - Oi"
Jump to navigation
Jump to search
🔒 As informações inseridas não são armazenadas nem enviadas — o processamento ocorre apenas no seu navegador.
(→AG561) |
|||
| (41 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | |||
Configurações para a operadora Oi | 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== | ==AG561== | ||
| − | É necessário | + | É necessário a versão de firmware 9.2 ou superior. |
| + | |||
| + | <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 | + | 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 | + | É 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. | |
<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 | + | 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 61: | 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:
⚠️ 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 rebootAGOS
É 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