Configuração de tronco PJSIP no Asterisk: registre um número ZuteSIP

Atualizado em 2026-09-30 · Pela equipe ZuteSIP (ZuteSIP Inc.)

Resposta curta: Para conectar o Asterisk à ZuteSIP, adicione cinco seções ao pjsip.conf para um tronco: uma registration apontando para sip.zutesipdialer.com, um auth com seu usuário e senha SIP, um aor, um endpoint limitado a ulaw e alaw e um identify que reconheça o nosso servidor. Depois, roteie o DID no extensions.conf e disque para fora pelo endpoint.

Esta é a versão para Asterisk puro, para quem gerencia os arquivos de configuração diretamente. Ela segue o layout de tronco dos exemplos oficiais do res_pjsip, com os valores da ZuteSIP já preenchidos.

01

O que você precisa

  • ✓ Um número ZuteSIP, com o usuário e a senha SIP dele, na página do número no painel.
  • ✓ O Asterisk com o res_pjsip carregado (qualquer versão com suporte atualmente).
  • ✓ Acesso ao shell para editar /etc/asterisk/pjsip.conf e extensions.conf, e o CLI do Asterisk para os testes.
02

Valores da ZuteSIP usados na configuração

ConfiguraçãoValor
Servidor SIP / registrar / domíniosip.zutesipdialer.com
Transporte e portaUDP ou TCP 5060; TLS 5061
Usuário<SIP_USERNAME> (na página do número no painel)
Senha<SIP_PASSWORD> (na mesma página)
AutenticaçãoDigest (usuário + senha), baseada em registro
CodecsG.711 µ-law (PCMU) e G.711 A-law (PCMA)
DTMFRFC 2833 (eventos RTP) ou SIP INFO
DID de entrada<YOUR_NUMBER> no formato E.164
03

pjsip.conf: transporte e tronco

Cole isto no pjsip.conf e substitua os marcadores. Pule o bloco de transport se você já tiver um transporte UDP. Para TCP ou TLS, crie o transporte correspondente e use a porta 5061 com TLS.

O identify reconhece as chamadas pelo endereço de origem do nosso tráfego SIP; o Asterisk resolve o hostname quando a configuração é carregada.

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
; behind NAT also set:
; external_media_address=<PUBLIC_IP>
; external_signaling_address=<PUBLIC_IP>
; local_net=192.168.0.0/16

[zutesip]
type=registration
transport=transport-udp
outbound_auth=zutesip-auth
server_uri=sip:sip.zutesipdialer.com:5060
client_uri=sip:<SIP_USERNAME>@sip.zutesipdialer.com
contact_user=<YOUR_NUMBER>
retry_interval=60

[zutesip-auth]
type=auth
auth_type=userpass
username=<SIP_USERNAME>
password=<SIP_PASSWORD>

[zutesip]
type=aor
contact=sip:sip.zutesipdialer.com:5060
qualify_frequency=60

[zutesip]
type=endpoint
transport=transport-udp
context=from-zutesip
disallow=all
allow=ulaw,alaw
dtmf_mode=rfc4733
outbound_auth=zutesip-auth
aors=zutesip
from_user=<SIP_USERNAME>
from_domain=sip.zutesipdialer.com
callerid=<YOUR_NUMBER>
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes

[zutesip]
type=identify
endpoint=zutesip
match=sip.zutesipdialer.com
04

extensions.conf: dialplan de entrada e de saída

As chamadas recebidas chegam ao contexto from-zutesip com o seu número como ramal discado. O padrão de saída envia pelo tronco os números discados com o sinal de mais na frente.

Na linha de saída, ${EXTEN} é a variável de canal do Asterisk com o número discado. Troque 1001 pelo seu próprio ramal ou grupo de toque.

[from-zutesip]
; inbound: DID = your ZuteSIP number
exten => <YOUR_NUMBER>,1,NoOp(Inbound call on ZuteSIP DID)
 same => n,Dial(PJSIP/1001,30)
 same => n,Hangup()
; catch other DID formats (with or without +)
exten => _X.,1,Goto(from-zutesip,<YOUR_NUMBER>,1)

[from-internal]
; outbound: dial +<country code><number>
exten => _+X.,1,Set(CALLERID(num)=<YOUR_NUMBER>)
 same => n,Dial(PJSIP/${EXTEN}@zutesip,60)
 same => n,Hangup()
05

Passo a passo: carregue e teste

  1. 1Salve os dois arquivos e rode pjsip reload e dialplan reload no CLI do Asterisk (asterisk -rvvv).
  2. 2Rode pjsip show registrations e confirme que zutesip está Registered.
  3. 3Rode pjsip show endpoint zutesip para conferir os codecs, o contact do aor e o match do identify.
  4. 4Ligue de outro telefone para o seu número ZuteSIP e acompanhe o CLI: a chamada deve entrar em from-zutesip e tocar o ramal 1001.
  5. 5Disque um número internacional de um ramal local no formato +país e confirme que quem atende vê o seu número ZuteSIP.
06

Identificador de chamadas nas ligações feitas

Defina o identificador de chamadas como o número dono da conta SIP, seja com callerid no endpoint, seja com CALLERID(num) no dialplan, como mostrado. Mantenha-o igual às credenciais do tronco. As chamadas feitas consomem os 1.000 minutos por mês incluídos no número.

07

Solução de problemas

  • ✓ Registro 401/403: usuário ou senha não conferem, ou a seção auth não está vinculada por outbound_auth. Rode pjsip set logger on e leia a troca de REGISTER.
  • ✓ Chamadas recebidas rejeitadas como anônimas ou com 'No matching endpoint found': a seção identify está faltando ou o endereço de origem não bate. Confira se o hostname resolve no seu servidor e recarregue.
  • ✓ Áudio de um lado só: defina external_media_address, external_signaling_address e local_net no transport, mantenha rtp_symmetric e force_rport ativados e abra no firewall a faixa de portas do seu rtp.conf.
  • ✓ 488 Not Acceptable Here: incompatibilidade de codec. Mantenha allow=ulaw,alaw.
  • ✓ DTMF não detectado: mantenha dtmf_mode=rfc4733 (o método de eventos RTP definido no RFC 2833); use info só se o outro lado exigir SIP INFO.
FAQ

Perguntas frequentes

Preciso das seções registration e identify?
Sim. A registration diz à ZuteSIP para onde enviar suas chamadas, e o identify permite ao Asterisk associar essas chamadas recebidas ao endpoint zutesip.
rfc4733 é o mesmo que DTMF RFC 2833?
Sim. O RFC 4733 atualizou o RFC 2833 e descreve o mesmo método de eventos RTP, que é o que a opção rfc4733 do Asterisk usa.
Posso usar chan_sip em vez de PJSIP?
O chan_sip foi removido das versões atuais do Asterisk, então o PJSIP é o caminho suportado. Valem o mesmo servidor, as mesmas credenciais e os mesmos codecs.
Posso usar TLS com o Asterisk?
Sim. Crie um transporte TLS, aponte a registration e o aor para a porta 5061 e faça referência a esse transporte. A criptografia de mídia SRTP não é oferecida.
Como adiciono um segundo número ZuteSIP?
Duplique as seções registration, auth, aor, endpoint e identify com um novo nome e as credenciais desse número, e adicione o DID dele ao dialplan.
A ZuteSIP oferece uma API para o Asterisk?
Não. Não há API para clientes nem webhooks; o Asterisk se conecta por SIP padrão com as credenciais de cada número.
→
SRC
✓

Tudo incluído em cada número

  • ✓ SMS recebidos ilimitados
  • ✓ Chamadas recebidas ilimitadas
  • ✓ 500 SMS enviados por mês
  • ✓ 1.000 minutos de saída por mês
  • ✓ Credenciais SIP para qualquer softphone ou PABX
  • ✓ Desvio de chamadas para qualquer telefone
  • ✓ Discador web no painel
  • ✓ O número é seu pelo tempo que quiser
  • ✓ Garantia de troca em 7 dias — número novo grátis

A partir de $1.80/mês · cobrado anualmente ($21.60).

Garantia de troca em 7 dias

Se o número não funcionar para você nos primeiros 7 dias — por exemplo, um app não o aceita ou os códigos não chegam —, você o troca por um número novo do mesmo país, grátis, com um clique no painel. Vale até 2 vezes por número, tenha ele sido usado ou não. E, se o número não tiver sido usado, você também pode pedir reembolso integral.

Ver todos os números →

O cadastro e o pagamento estão disponíveis apenas em inglês.