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.
⚠️ Insira um número com 10 dígitos.
⚠️ A senha não pode estar vazia.
⚠️ Insira um endereço IP válido.
(→AG561) |
(→AG561) |
||
| Line 18: | Line 18: | ||
</medium><br><br> | </medium><br><br> | ||
| − | <label for="campo1">Número chave (10 dígitos):</label><br> | + | <div class="campo"> |
| − | + | <label for="campo1"><b>Número chave (10 dígitos):</b></label><br> | |
| − | + | <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> | ||
| − | <label for="campo2">Senha conta SIP:</label><br> | + | <div class="campo"> |
| − | + | <label for="campo2"><b>Senha conta SIP:</b></label><br> | |
| − | + | <input type="password" id="campo2" placeholder="Digite a senha" /> | |
| + | <small id="erro2" class="erro">⚠️ A senha não pode estar vazia.</small> | ||
| + | </div> | ||
| − | <label for="campo3">IP SBC:</label><br> | + | <div class="campo"> |
| − | + | <label for="campo3"><b>IP SBC:</b></label><br> | |
| − | + | <input type="text" id="campo3" placeholder="192.168.0.1" /> | |
| + | <small id="erro3" class="erro">⚠️ Insira um endereço IP válido.</small> | ||
| + | </div> | ||
<button id="botaoGerar" onclick="gerarResposta()">Gerar script CLI</button> | <button id="botaoGerar" onclick="gerarResposta()">Gerar script CLI</button> | ||
</div> | </div> | ||
| − | <!-- | + | <!-- Resultado --> |
<div id="resultado" style="margin-top:15px; font-weight:bold; color:#336699;"></div> | <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> | <button id="botaoCopiar" style="display:none; margin-top:10px;" onclick="copiarResposta()">Copiar</button> | ||
<style> | <style> | ||
| − | /* | + | /* Layout mais compacto */ |
| + | .campo { | ||
| + | margin-bottom: 8px; | ||
| + | display: flex; | ||
| + | align-items: center; | ||
| + | gap: 6px; | ||
| + | flex-wrap: wrap; | ||
| + | } | ||
| + | |||
| + | .campo label { | ||
| + | font-weight: bold; | ||
| + | color: #333; | ||
| + | display: block; | ||
| + | margin-bottom: 3px; | ||
| + | } | ||
| + | |||
input { | input { | ||
| − | padding: | + | padding: 6px; |
border: 1px solid #ccc; | border: 1px solid #ccc; | ||
border-radius: 6px; | border-radius: 6px; | ||
| − | width: | + | width: 180px; |
| − | |||
transition: border-color 0.2s ease; | transition: border-color 0.2s ease; | ||
} | } | ||
| Line 53: | Line 71: | ||
outline: none; | outline: none; | ||
border-color: #007bff; | border-color: #007bff; | ||
| − | box-shadow: 0 0 | + | box-shadow: 0 0 3px rgba(0, 123, 255, 0.4); |
| + | } | ||
| + | |||
| + | .erro { | ||
| + | color: red; | ||
| + | display: none; | ||
| + | font-size: 12px; | ||
} | } | ||
| − | /* Botões | + | /* Botões */ |
button { | button { | ||
background-color: #007bff; | background-color: #007bff; | ||
| Line 62: | Line 86: | ||
border: none; | border: none; | ||
border-radius: 6px; | border-radius: 6px; | ||
| − | padding: | + | padding: 8px 16px; |
| − | font-size: | + | font-size: 14px; |
cursor: pointer; | cursor: pointer; | ||
box-shadow: 0 2px 4px rgba(0,0,0,0.2); | box-shadow: 0 2px 4px rgba(0,0,0,0.2); | ||
| Line 73: | Line 97: | ||
box-shadow: 0 3px 6px rgba(0,0,0,0.3); | box-shadow: 0 3px 6px rgba(0,0,0,0.3); | ||
transform: translateY(-1px); | transform: translateY(-1px); | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| Line 95: | Line 114: | ||
const v3 = document.getElementById("campo3").value.trim(); | const v3 = document.getElementById("campo3").value.trim(); | ||
| − | |||
const regexNumero = /^\d{10}$/; | 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}$/; | 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}$/; | ||
| Line 101: | Line 119: | ||
let valido = true; | let valido = true; | ||
| − | |||
if (!regexNumero.test(v1)) { | if (!regexNumero.test(v1)) { | ||
document.getElementById("erro1").style.display = "inline"; | document.getElementById("erro1").style.display = "inline"; | ||
| Line 109: | Line 126: | ||
} | } | ||
| − | |||
if (!v2) { | if (!v2) { | ||
document.getElementById("erro2").style.display = "inline"; | document.getElementById("erro2").style.display = "inline"; | ||
| Line 117: | Line 133: | ||
} | } | ||
| − | |||
if (!regexIP.test(v3)) { | if (!regexIP.test(v3)) { | ||
document.getElementById("erro3").style.display = "inline"; | document.getElementById("erro3").style.display = "inline"; | ||
| Line 131: | Line 146: | ||
} | } | ||
| − | const resposta = | + | const resposta = |
"config sip peer trunk1 delete<br>" + | "config sip peer trunk1 delete<br>" + | ||
"config sip prack yes<br>" + | "config sip prack yes<br>" + | ||
| Line 171: | Line 186: | ||
</html> | </html> | ||
| − | |||
Revision as of 02:44, 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