Configurare un trunk PJSIP in Asterisk: registra un numero ZuteSIP
Aggiornato il 2026-09-30 · A cura del team ZuteSIP (ZuteSIP Inc.)
In breve: Per collegare Asterisk a ZuteSIP, aggiungi a pjsip.conf cinque sezioni per un trunk: una registration che punta a sip.zutesipdialer.com, un auth con username e password SIP, un aor, un endpoint limitato a ulaw e alaw e un identify che riconosce il nostro server. Poi instrada il DID in extensions.conf e chiama in uscita tramite l'endpoint.
Questa è la versione per Asterisk puro, per chi gestisce direttamente i file di configurazione. Segue lo schema di trunk degli esempi ufficiali di res_pjsip, con i valori di ZuteSIP già inseriti.
Cosa ti serve
- ✓ Un numero ZuteSIP con username e password SIP presi dalla pagina del numero nella dashboard.
- ✓ Asterisk con res_pjsip caricato (qualsiasi versione attualmente supportata).
- ✓ Accesso shell per modificare /etc/asterisk/pjsip.conf ed extensions.conf, e la CLI di Asterisk per i test.
Valori ZuteSIP usati nella configurazione
| Impostazione | Valore |
|---|---|
| Server SIP / registrar / dominio | sip.zutesipdialer.com |
| Trasporto e porta | UDP o TCP 5060; TLS 5061 |
| Username | <SIP_USERNAME> (dalla pagina del numero nella dashboard) |
| Password | <SIP_PASSWORD> (dalla stessa pagina) |
| Autenticazione | Digest (username + password), basato su registrazione |
| Codec | G.711 µ-law (PCMU) e G.711 A-law (PCMA) |
| DTMF | RFC 2833 (eventi RTP) o SIP INFO |
| DID in entrata | <YOUR_NUMBER> in formato E.164 |
pjsip.conf: trasporto e trunk
Incolla questo in pjsip.conf e sostituisci i segnaposto. Salta il blocco transport se hai già un trasporto UDP. Per TCP o TLS crea il trasporto corrispondente e usa la porta 5061 con TLS.
Identify riconosce le chiamate in base all'indirizzo di origine del nostro traffico SIP; Asterisk risolve l'hostname quando carica la configurazione.
[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
extensions.conf: dialplan in entrata e in uscita
Le chiamate in entrata arrivano nel contesto from-zutesip con il tuo numero come interno composto. Lo schema in uscita invia tramite il trunk i numeri composti con il più iniziale.
Nella riga in uscita, ${EXTEN} è la variabile di canale di Asterisk con il numero composto. Sostituisci 1001 con il tuo interno o gruppo di squillo.
[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()
Passo dopo passo: carica e testa
- 1Salva entrambi i file ed esegui pjsip reload e dialplan reload nella CLI di Asterisk (asterisk -rvvv).
- 2Esegui pjsip show registrations e verifica che zutesip risulti Registered.
- 3Esegui pjsip show endpoint zutesip per controllare i codec, il contact dell'aor e la corrispondenza dell'identify.
- 4Chiama il tuo numero ZuteSIP da un altro telefono e osserva la CLI: la chiamata deve entrare in from-zutesip e far squillare l'interno 1001.
- 5Componi un numero internazionale da un interno locale nel formato +paese e verifica che il destinatario veda il tuo numero ZuteSIP.
ID chiamante in uscita
Imposta come ID chiamante il numero a cui appartiene l'account SIP, con callerid sull'endpoint oppure con CALLERID(num) nel dialplan come mostrato. Mantienilo coerente con le credenziali del trunk. Le chiamate in uscita usano i 1.000 minuti al mese inclusi nel numero.
Risoluzione dei problemi
- ✓ Registrazione 401/403: username o password non corrispondono, oppure la sezione auth non è collegata tramite outbound_auth. Esegui pjsip set logger on e leggi lo scambio REGISTER.
- ✓ Chiamate in entrata rifiutate come anonime o con «No matching endpoint found»: manca la sezione identify oppure l'indirizzo di origine non corrisponde. Verifica che l'hostname venga risolto sul tuo server e ricarica.
- ✓ Audio a senso unico: imposta external_media_address, external_signaling_address e local_net sul trasporto, lascia attivi rtp_symmetric e force_rport e apri nel firewall l'intervallo di porte di rtp.conf.
- ✓ 488 Not Acceptable Here: codec non compatibili. Mantieni allow=ulaw,alaw.
- ✓ DTMF non rilevato: mantieni dtmf_mode=rfc4733 (il metodo a eventi RTP definito in RFC 2833); usa info solo se l'altra parte richiede SIP INFO.
Domande frequenti
Servono sia la sezione registration sia la sezione identify?
rfc4733 è la stessa cosa del DTMF RFC 2833?
Posso usare chan_sip invece di PJSIP?
Posso usare TLS con Asterisk?
Come aggiungo un secondo numero ZuteSIP?
ZuteSIP offre un'API per Asterisk?
Pagine correlate
- integrazioni con PBX e softphone
- configurare FreePBX con interfaccia web
- configurare il carrier in VICIdial
- cos'è il SIP
- il DTMF spiegato
- codec G.711
- formato numerico E.164
- guida alla risoluzione dei problemi SIP
- cos'è un numero SIP
- Configurare un trunk SIP in 3CX: aggiungi un numero ZuteSIP come trunk SIP generico
- Configurare un account SIP in Bria con un numero ZuteSIP
Fonti
- Asterisk Documentation: res_pjsip Configuration Examples (aggiornato a settembre 2026)
- Asterisk Documentation: Configuring Outbound Registrations (aggiornato a settembre 2026)
- Asterisk Documentation: Asterisk PJSIP Troubleshooting Guide (aggiornato a settembre 2026)
Tutto incluso in ogni numero
- ✓ SMS in entrata illimitati
- ✓ Chiamate in entrata illimitate
- ✓ 500 SMS in uscita al mese
- ✓ 1.000 minuti in uscita al mese
- ✓ Credenziali SIP per qualsiasi softphone o centralino
- ✓ Inoltro di chiamata verso qualsiasi telefono
- ✓ Dialer web nell'area clienti
- ✓ Il numero resta tuo finché vuoi
- ✓ Garanzia di sostituzione di 7 giorni — nuovo numero gratis
Da $1.80/mese · fatturato annualmente ($21.60).
Garanzia di sostituzione di 7 giorni
Se entro 7 giorni dall'acquisto il numero non funziona per te, ad esempio perché un'app non lo accetta o i codici non arrivano, lo sostituisci gratis con un nuovo numero dello stesso paese con un clic dalla dashboard, fino a 2 volte, che tu l'abbia usato o no. E se non è stato usato per nessuna chiamata o SMS, puoi invece ottenere un rimborso completo.
Le pagine di registrazione e checkout sono solo in inglese.