Como criar um tronco SIP brasileiro no FreePBX (e no Issabel)?
Por NumioPublicado em
No FreePBX (e no Issabel, que é a mesma base) o caminho é Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk. Na aba *General*, dê um nome ao tronco e preencha o *Outbound CallerID* com o número. Na aba *pjsip Settings → General*, os quatro dados do painel: Username = o número, Auth username = o número, Secret = a senha, SIP Server = o servidor, SIP Server Port = 5060.
Depois vêm as duas rotas. A rota de entrada (*Inbound Routes*) usa o número como DID Number e manda pro destino que você quiser — ramal, fila, URA. A rota de saída (*Outbound Routes*) define o padrão de discagem e aponta pro tronco. Sem a rota de entrada, a chamada chega no PABX e morre; sem a de saída, ninguém consegue ligar.
Um número = um tronco. Com vários números, crie um tronco por número e uma rota de entrada por DID — é isso que permite que cada setor tenha o próprio telefone público.
Campos do tronco (pjsip Settings → General)
| Campo do FreePBX | Valor |
|---|---|
| Username | O número com DDD, sem +55 |
| Auth username | O mesmo número |
| Secret | A senha SIP do painel |
| SIP Server | O servidor do painel |
| SIP Server Port | 5060 |
| Context | from-trunk |
| Transport | 0.0.0.0-udp |
| Authentication | Outbound |
| Registration | Send |
| Outbound CallerID (aba General) | O número, sem +55 |
Em Advanced, deixe *Codecs* só com alaw e ulaw, *DTMF Mode* em RFC 4733 e *Rewrite Contact* marcado. Se o PABX está atrás de NAT, preencha também *External Address* e *Local Networks* em Settings → Asterisk SIP Settings — é o passo mais esquecido do FreePBX.
Rota de entrada e rota de saída
1. Inbound Route
Connectivity → Inbound Routes → Add. DID Number = o número com DDD (sem +55). Set Destination = ramal, fila, URA ou grupo. Repita pra cada número.
2. Outbound Route
Connectivity → Outbound Routes → Add. Em *Trunk Sequence*, escolha o tronco. Em *Dial Patterns*, use
XXXXXXXXXXXpra celular (DDD + 9 dígitos) eXXXXXXXXXXpra fixo, com prefixo removido se o seu plano interno usa 0.3. Apply Config
O botão vermelho no topo. Nada vale até aplicar.
4. Confira o registro
Reports → Asterisk Info → Registries, ou no console:
asterisk -rx "pjsip show registrations". Precisa estar *Registered*.5. Teste nos dois sentidos
Ligue de um celular pro número (tem que cair no destino da rota de entrada) e do ramal pro celular (tem que aparecer o número como identificador).
Issabel muda alguma coisa?
Muda o menu, não o conteúdo: em Issabel o caminho é PBX → PBX Configuration → Trunks, e as abas têm os mesmos campos. Versões mais antigas trazem só o chan_sip — nesse caso, o tronco vira host=SERVIDOR, username=SEU_NUMERO, secret=SUA_SENHA, type=friend, insecure=invite,port, disallow=all, allow=alaw, nat=force_rport,comedia, com a linha de registro SEU_NUMERO:SUA_SENHA@SERVIDOR.
Erros comuns no FreePBX
| Sintoma | Causa provável |
|---|---|
| Tronco "Unregistered" | Senha regenerada no painel, transporte diferente de UDP ou firewall bloqueando a saída |
| Chamada entra e cai na hora | Falta rota de entrada com o DID exato (com DDD, sem +55) |
| Ligação sai mas o destino vê outro número | Outbound CallerID em branco ou diferente do número do tronco |
| Áudio só de um lado | External Address / Local Networks não preenchidos, ou SIP ALG ligado no roteador |
| Chamada cai em 30 s | SIP ALG, ou NAT sem keep-alive |
Perguntas frequentes
chan_pjsip. O chan_sip está descontinuado no Asterisk que o FreePBX moderno usa.
O número com DDD e sem +55, exatamente como ele é discado.
Sim — cada número tem credencial própria. As rotas de entrada é que separam os destinos.
É sempre o número do tronco. Preencher o Outbound CallerID com ele evita divergência nos relatórios.
Serve: mesma base Asterisk, mesmos campos, menu diferente.
Dá, quando o PABX tem IP público fixo: informe o IP no painel e deixe Registration em None.