Início›SIP Trunk para Asterisk
SIP Trunk

SIP Trunk para Asterisk

Entroncamento SIP para Asterisk configurado direto nos arquivos, com PJSIP, autenticação por registro ou por IP autorizado, codecs G.711a e G.729, failover entre rotas e concorrência sob demanda. Abaixo estão os blocos de pjsip.conf e extensions.conf, os comandos de conferência e os erros que mais aparecem em campo.

A GCLOUD LTDA® é uma empresa brasileira de telefonia em nuvem, sediada em Joinville (SC), que fornece entroncamento SIP para centrais Asterisk em todo o Brasil. Este guia é para quem administra o Asterisk pelos arquivos de configuração, sem interface web por cima.

A configuração usa PJSIP, o driver recomendado há várias versões e o único a partir do Asterisk 21, que removeu o chan_sip. Vale do Asterisk 16 ao 22. Se a sua central tem Issabel ou FreePBX por cima, siga o guia específico: a interface reescreve esses arquivos.

O que está incluído

Como configurar o tronco no Asterisk

Antes de começar. Os valores de host, usuário e senha são individuais da sua conta e chegam no e-mail de ativação. Nos blocos abaixo eles aparecem como marcadores em destaque: substitua pelos dados que você recebeu. O formato de numeração (nacional com DDD ou E.164 com +55) também é combinado na ativação. Se ainda não tem conta, peça os dados de teste no WhatsApp.
  1. Transporte UDP Em /etc/asterisk/pjsip.conf, confira se já existe um transporte UDP. Se não existir, crie:
    [transport-udp]
    type=transport
    protocol=udp
    bind=0.0.0.0:5060
    ; só se a central estiver atrás de NAT:
    ;external_media_address=SEU-IP-PUBLICO
    ;external_signaling_address=SEU-IP-PUBLICO
    ;local_net=SUA-REDE-INTERNA
    As três linhas comentadas só entram se a central estiver atrás de NAT, com o IP público e a rede interna.
  2. Tronco com registro No mesmo arquivo, acrescente o tronco, substituindo os marcadores:
    [gcloud-auth]
    type=auth
    auth_type=userpass
    username=SEU-USUARIO
    password=SUA-SENHA
    
    [gcloud-registro]
    type=registration
    transport=transport-udp
    outbound_auth=gcloud-auth
    server_uri=sip:SEU-HOST-SIP:5060
    client_uri=sip:SEU-USUARIO@SEU-HOST-SIP:5060
    contact_user=SEU-USUARIO
    retry_interval=60
    
    [gcloud]
    type=aor
    contact=sip:SEU-HOST-SIP:5060
    qualify_frequency=60
    
    [gcloud]
    type=endpoint
    transport=transport-udp
    context=entrada-gcloud
    disallow=all
    allow=alaw,g729
    aors=gcloud
    outbound_auth=gcloud-auth
    from_user=SEU-USUARIO
    from_domain=SEU-HOST-SIP
    direct_media=no
    rtp_symmetric=yes
    force_rport=yes
    rewrite_contact=yes
    dtmf_mode=rfc4733
    
    [gcloud-identify]
    type=identify
    endpoint=gcloud
    match=SEU-HOST-SIP
    from_user e from_domain são obrigatórios: sem eles o registro volta 403 Forbidden. direct_media=no mantém o áudio passando pela central, e dtmf_mode=rfc4733 faz a digitação funcionar em URA.
  3. Se a conta for por IP autorizado Nesse modo não há usuário e senha. Remova as seções [gcloud-auth] e [gcloud-registro] e a linha outbound_auth do endpoint, informe o IP público da central para a GCLOUD liberar e use, no match do [gcloud-identify], os IPs da GCLOUD que a engenharia informa na ativação.
  4. Plano de discagem Em /etc/asterisk/extensions.conf, crie os contextos de entrada e de saída e inclua saida-gcloud no contexto dos ramais:
    [entrada-gcloud]
    ; chamadas recebidas: o DID chega em ${EXTEN}
    exten => _X.,1,Dial(PJSIP/1000,30)     ; troque pelo destino: ramal, fila ou URA
     same => n,Hangup()
    exten => _+X.,1,Goto(entrada-gcloud,${EXTEN:1},1)   ; DID entregue em E.164
    
    [saida-gcloud]
    ; ramais discam 0 + DDD + número
    exten => _0XXXXXXXXX.,1,Set(CALLERID(num)=SEU-DID)
     same => n,Dial(PJSIP/${EXTEN:1}@gcloud,60)         ; formato nacional com DDD
     ; se a conta usa E.164: Dial(PJSIP/+55${EXTEN:1}@gcloud,60)
     same => n,Hangup()
    O formato de numeração, nacional com DDD ou E.164, é combinado na ativação. Enviar no formato errado é a causa mais comum de “chamada não completa” logo depois de subir o tronco.
  5. Carregar e conferir Recarregue e confira:
    asterisk -rx "module reload res_pjsip.so"
    asterisk -rx "dialplan reload"
    asterisk -rx "pjsip show registrations"
    asterisk -rx "pjsip show endpoint gcloud"
    O registro deve aparecer como Registered, e o endpoint com o contato disponível e a latência em milissegundos.
  6. Testar Faça uma chamada de saída para um celular e uma de entrada para o DID. Com pjsip set logger on no console você acompanha a sinalização das duas pontas em tempo real.

Firewall e portas

Libere na sua borda e no firewall da central (iptables, nftables ou fail2ban):

ServiçoPortaProtocolo
Sinalização SIP5060UDP
Mídia RTP10000–20000UDP

A faixa de RTP é a padrão do Asterisk e pode ser conferida em /etc/asterisk/rtp.conf. Se a central estiver atrás de NAT, as linhas external_media_address, external_signaling_address e local_net do transporte são obrigatórias. Sem elas, o cenário clássico é a chamada completar e o áudio vir só de um lado. Se usa fail2ban, coloque o host da GCLOUD na lista de ignorados.

Problemas mais comuns em campo

Áudio em uma via só (one-way audio)
É NAT na grande maioria dos casos. Confirme direct_media=no, rtp_symmetric=yes, force_rport=yes e rewrite_contact=yes no endpoint, as linhas de NAT do transporte e a faixa RTP 10000–20000/UDP liberada.
O tronco não registra
Rode pjsip show registrations. 403 Forbidden normalmente é senha incorreta ou from_user/from_domain ausentes; Request Timeout costuma ser bloqueio de 5060/UDP no caminho. Em conta por IP autorizado, não deve existir a seção de registro.
Chamadas recebidas rejeitadas ou caindo no contexto errado
O Asterisk não associou a chamada ao endpoint da GCLOUD. Confira o match do [gcloud-identify]: ele precisa conter o endereço de onde a chamada chega. Com pjsip set logger on dá para ver o IP de origem.
A chamada cai sozinha em torno de 30 segundos
Sinal clássico de o ACK do SIP não estar chegando ao destino, quase sempre por NAT ou por regra de firewall que só permite tráfego de saída. Ative pjsip set logger on e verifique se o ACK sai da central e se há resposta.
A URA não reconhece os dígitos
Praticamente sempre DTMF fora do padrão. Use dtmf_mode=rfc4733 no endpoint. Se a central estiver transcodificando para G.729, teste forçando alaw: compressão agressiva degrada a detecção de tom.
Chamadas de saída rejeitadas com Bina inválida
No Brasil, o número apresentado precisa pertencer à sua conta. Confira o CALLERID(num) no plano de discagem e o from_user do endpoint. Número de terceiro é bloqueado na origem.

Tarifas

DestinoValorObservação
FixoR$ 0,11/minQualquer fixo do Brasil, local ou não
CelularR$ 0,15/minTodas as operadoras móveis
Chamada recebidaR$ 0,00Receber não tem custo por minuto

Valores de referência, sujeitos a proposta comercial. Tempo mínimo de cobrança de 30 segundos, conforme padrão de mercado. Sem taxa de ativação e sem fidelidade. Portabilidade de números custa R$ 20,00 por número, cobrada uma vez.

Dúvidas frequentes

O SIP Trunk funciona com qual versão do Asterisk?
Funciona do Asterisk 16 ao 22 com a configuração PJSIP deste guia. Por ser SIP padrão, versões mais antigas também funcionam, mas com os nomes de parâmetros do chan_sip.
Ainda posso usar chan_sip?
Até o Asterisk 20, sim: os parâmetros são os mesmos do guia de SIP Trunk para Issabel, que usa chan_sip. A partir do Asterisk 21 o chan_sip foi removido, então o caminho é PJSIP.
Preciso de IP fixo?
Não. Com autenticação por registro, a central se registra na GCLOUD e o IP pode ser dinâmico. IP fixo só é necessário se você optar pela autenticação por IP autorizado, que dispensa usuário e senha.
Quantas chamadas simultâneas o tronco suporta?
A concorrência é definida sob demanda, conforme o perfil de tráfego da central. Não há um limite fixo de canais imposto por padrão: o dimensionamento é acertado na proposta e pode ser ampliado depois.
Consigo manter os números que já uso hoje?
Sim, por portabilidade numérica. O processo é regulamentado pela Anatel (Resolução 460/2007) e conduzido pela equipe da GCLOUD junto à operadora cedente. O tronco pode ser instalado e testado antes da portabilidade, para a migração acontecer sem interrupção.
A GCLOUD ajuda na configuração?
Sim. O atendimento técnico é feito por engenheiros de rede e telefonia. Você pode mandar um SIP trace no WhatsApp e receber a análise da causa, em vez de um roteiro genérico de primeiro nível.
Preciso do G.729 para economizar banda?
Não é obrigatório. O G.711a (alaw) é o padrão no Brasil e entrega a melhor qualidade, consumindo cerca de 87 kbps por chamada com overhead. O G.729 reduz para cerca de 31 kbps e ajuda quando o link é limitado, mas exige o módulo de codec instalado (codec_g729).

Guias para outras centrais

O tronco é o mesmo em qualquer central SIP. Se a sua não é Asterisk, veja o guia específico:

Manda o cenário que a gente valida

Quantidade de ramais, tráfego mensal e a versão do seu Asterisk. Devolvemos o dimensionamento de concorrência e a proposta e, se quiser, um tronco de teste antes de qualquer contrato.

Falar no WhatsApp
Próximos passos

Ainda ficou alguma dúvida?

A parte técnica está resolvida. Falta a comercial.