Produto
Troncos SIP
Tronco SIP é o link de voz com a operadora. Cadastre uma vez, vincule a Site e Nó de telefonia, configure DDRs/CAP pool, e Campanhas Outbound discam por ele.
Atualizado em
O que é
Tronco SIP é o link de voz entre o Interaflow e a operadora — o “cano” pelo qual chamadas saem (outbound) e entram (inbound). Cada tronco corresponde a uma conexão SIP configurada com a operadora, tipicamente identificada por:
- Host e porta do servidor SIP da operadora.
- Credenciais quando a operadora exige autenticação.
- Codecs suportados.
- Limite de canais simultâneos contratado.
A configuração feita aqui é traduzida automaticamente para os
arquivos de configuração do Asterisk (pjsip.conf ou sip.conf)
sem você precisar editar arquivo nenhum.
Drivers suportados
O Interaflow suporta dois drivers SIP do Asterisk:
| Driver | Quando usar |
|---|---|
| pjsip (padrão) | Stack moderna, recomendada para novos troncos. Suporta TLS, transporte WebSocket, melhor diagnóstico. |
| chan_sip (legado) | Mantido para compatibilidade com troncos antigos que não migraram. Não use para configuração nova. |
A escolha do driver impacta os campos exibidos no formulário —
campos como peer_type, insecure, sendrpid, trustrpid,
canreinvite aparecem apenas para chan_sip.
Como o tronco se posiciona
Um tronco está sempre associado a:
- Tenant — o tronco pertence a uma conta SaaS específica.
- Site — qual infraestrutura processa as chamadas dele (Cloud ou On-Prem). O Site decide a “geografia” da chamada.
- Telephony Node (opcional) — qual nó concreto recebe as
chamadas (
classifier,media). Quando vazio, usa o nó Cloud padrão do Site. - CAP Pool (opcional) — pool de capacidade compartilhada entre vários troncos quando a operadora cobra por limite agregado de link, e não por trunk individual.
- DDRs — números de identificação (Caller IDs) usados nas chamadas de saída.
Campos principais
Identificação e conexão
- Nome — identificador do endpoint/peer (ex.: “sigavox”).
Curto, sem espaço, costuma virar a chave usada no
pjsip.conf/sip.conf. - Descrição — contexto humano.
- Host — IP ou domínio da operadora.
- Porta —
5060por padrão. - Transporte —
udp,tcpoutls.
Autenticação
- Username / Password — credenciais SIP. A senha é criptografada com Fernet no banco; nunca aparece em texto puro na UI.
- Auth username — quando a operadora exige usuário diferente do username principal.
- Registro — se o tronco precisa fazer
REGISTERperiódico no servidor SIP da operadora. Marque quando aplicável e ajuste oregister_expiry(padrão 300 s).
Alguns peers (operadoras com IP autorizado por whitelist) não exigem autenticação — username/password ficam em branco.
Codecs e DTMF
- Codecs — lista priorizada (
alaw,ulaw,alaw).alawé o padrão no Brasil;ulawaparece em troncos internacionais. - DTMF Mode — como tons DTMF são transmitidos:
rfc2833(chan_sip),rfc4733(pjsip),inbandouinfo. Padrão depende do driver.
Capacidade e Caller ID
- Max channels — limite de canais simultâneos do tronco (padrão 30). Use o que a operadora contratou; canais acima do limite são rejeitados.
- CAP Pool — quando a capacidade real é do link (ex.: VPL1 com 100 canais agregando vários troncos), associe ao pool. O controle passa a ser pela soma agregada, não pelo limite individual.
- Caller ID Mode:
standard—Set(CALLERID(num)=DDR)no dialplan. Funciona com operadoras como Claro.pai_header— usa cabeçalhoP-Asserted-Identity. Necessário para operadoras como TIM que ignoram o CALLERID padrão. Exige preencherpai_header_ip(IP do servidor SIP).
DDRs (Caller IDs)
DDRs são os números que aparecem como bina nas chamadas outbound. Há duas formas de configurar:
- DDRs específicos do tronco — cadastrados na aba do tronco, com possível distribuição por DDD destino.
- DDR Pool — quando vários troncos compartilham um pool global de DDRs (operação multi-tronco com mesmo CNPJ).
A escolha entre standard e pai_header costuma ser do dia 1 — operadoras diferentes exigem caminhos diferentes; experimente com a documentação técnica da operadora.
Contexto e identidade
- Context entrada — contexto Asterisk usado para chamadas
recebidas pelo tronco (
from-trunkpor padrão). Define o ponto de entrada no dialplan. - From user / From domain — sobrescrevem o
From:SIP quando necessário.
Campos chan_sip específicos
Quando o driver é chan_sip, alguns campos adicionais aparecem
para reproduzir comportamentos do driver legado: insecure
(invite,port), sendrpid, trustrpid, qualify (monitora peer
com OPTIONS), nat (force_rport,comedia), canreinvite,
silencesuppression. Essas opções são herança de configuração de
sip.conf e não devem ser usadas em troncos novos — prefira pjsip.
Status
- Ativo — tronco gera configuração e fica disponível para Campanhas e roteamento. Padrão para troncos em uso.
- Inativo — tronco fica desativado sem precisar excluir.
Para acompanhar status em tempo real (registro válido, canais ocupados agora, latência), use o Monitor de Tráfego e a tela de Status de Troncos (sidebar Telefonia).
Como o tronco é usado
- Campanhas Outbound referenciam o tronco diretamente
(
campanha.tronco_sip_id) ou usam uma Rota de Saída que pode aplicar failover entre troncos. - Chamadas inbound entram pelo
context_entradaconfigurado e são roteadas conforme a regra do dialplan (DID → Canal → rota).
Detalhes em Rotas de Saída e Monitor de Tráfego.
Boas práticas
- Comece com PJSIP. A não ser que esteja migrando configuração legada existente, todo tronco novo deve ser PJSIP.
- Documente a configuração com a operadora. Cabeçalhos exigidos (PAI), codecs aceitos, limite de canais — capture isso em cada tronco.
- Use CAP Pool quando o link é compartilhado. Sem isso, vários troncos podem somar canais acima do que o link suporta.
- Combine com DDR Pool quando o mesmo CNPJ atende com vários troncos — uniformiza bina sem duplicar cadastro.
- Acompanhe o registro. Tronco sem registro válido aparece com problema no Monitor de Tráfego — investigue antes de discar.
- Cuidado com
callerid_modeerrado. TIM ignorando bina porque está emstandardé o sintoma típico — mude parapai_headercom IP correto.
Limites conhecidos
- Sem geração automática de DDRs. DDRs precisam ser cadastrados manualmente (no tronco ou no pool).
chan_sipé legado. Não há roadmap para evoluir o driver legado; foco é PJSIP.- Senha visível para admins do tenant que abrem o tronco para edição (descriptografada em runtime). Não é renderizada em logs.
- Sem teste integrado de tronco (“ligar para um número de validação”) — diagnóstico se faz pelo Monitor de Tráfego ou logs do Asterisk.
Erros comuns
- Esquecer de marcar
register = truequando a operadora exige. Sem registro, o tronco não recebe inbound. - Codec único quando a operadora não suporta. Especifique
ulaw,alawpara fallback se a operadora pode entregar em qualquer um. callerid_mode = standardem operadora que exige PAI. Bina sai como número genérico; receptor não reconhece a chamada.- Estouro de
max_channels_trunk. Campanhas grandes saturam tronco pequeno; cheque no Monitor de Tráfego e suba o limite (com a operadora) ou use CAP Pool agregado. - Excluir tronco com Campanhas apontando. A relação fica órfã; desative em vez de excluir.