Este repositório contém ambientes para testes com o Asterisk (v13, v16, v18, v18.10), com foco em configuração de WebRTC e telefonia IP.
. ├── asterisk │ ├── 13/ │ ├── 16/ │ ├── 18/ │ └── 18.10/ # Versão usada para testes com WebRTC ├── backend/ # Backend para integração futura (Node.js) └── README.md
cd asterisk/18.10
./docker-build.sh
./docker-run.sh
./docker-exec.sh
./docker-destroy.sh
- Navegador compatível com WebRTC (Chrome ou Firefox)
- Certificado TLS válido no Asterisk
- Porta 8089 liberada para WebSocket
- Página frontend para registrar e fazer chamadas com WebRTC
Estrutura: frontend/ ├── index.html ├── config.js └── script.js
<title>WebRTC Test</title> Ligar <script src="https://unpkg.com/[email protected]/dist/sip.min.js"></script> <script src="config.js"></script> <script src="script.js"></script>const config = { uri: 'sip:ramal1000@SEU_IP_PUBLICO', password: 'senha1000', wsServers: 'wss://SEU_IP_PUBLICO:8089/ws', };
const userAgent = new SIP.UA(config);
function makeCall() { const session = userAgent.invite('sip:1001@SEU_IP_PUBLICO', { media: { constraints: { audio: true, video: false }, render: { remote: document.getElementById('remoteVideo'), }, }, }); }
- http.conf com enabled=yes, bindaddr=0.0.0.0, tlsenable=yes, tlsbindaddr=0.0.0.0:8089
- pjsip.conf com webrtc=yes, transport=ws e tls
- Certificados TLS válidos em /etc/asterisk/keys/
- Codec opus e ulaw habilitados
- Porta 8089 liberada para WebSocket seguro (wss)
- Navegador acessando frontend via HTTPS (necessário para capturar mídia)
Você pode usar ngrok ou configurar um domínio com HTTPS para facilitar testes locais via WebRTC com segurança.