Configurare un trunk SIP su Asterisk
Questa è la configurazione completa di un trunk Vohippo su Asterisk con il driver PJSIP (Asterisk 16 e successivi). Serve solo l'utente e la password dell'account SIP, che trovi nel portale alla voce Account SIP.
1. Il trunk in pjsip.conf
Quattro sezioni: le credenziali, il posto dove ci trovi, la registrazione e l'endpoint vero e proprio. L'ultima sezione (identify) serve a riconoscere le chiamate che arrivano da noi.
; /etc/asterisk/pjsip.conf — trunk verso Vohippo
[vohippo-auth]
type=auth
auth_type=userpass
username=UTENTE_DAL_PORTALE
password=PASSWORD_DAL_PORTALE
[vohippo-aor]
type=aor
contact=sip:sip.vohippo.com:5060
qualify_frequency=60
[vohippo-reg]
type=registration
transport=transport-udp
outbound_auth=vohippo-auth
server_uri=sip:sip.vohippo.com
client_uri=sip:UTENTE_DAL_PORTALE@sip.vohippo.com
retry_interval=60
expiration=600
[vohippo]
type=endpoint
transport=transport-udp
context=da-vohippo
aors=vohippo-aor
outbound_auth=vohippo-auth
from_user=UTENTE_DAL_PORTALE
from_domain=sip.vohippo.com
disallow=all
allow=alaw,ulaw,g722
dtmf_mode=rfc4733
direct_media=no
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
[vohippo]
type=identify
endpoint=vohippo
match=sip.vohippo.com
2. Il dialplan
Un contesto per le chiamate in uscita dai tuoi telefoni e uno per quelle che arrivano dal trunk. Il numero si manda in formato internazionale, senza il segno +.
; /etc/asterisk/extensions.conf
[da-interni] ; contesto dei tuoi telefoni
exten => _X.,1,Set(CALLERID(num)=390212345678) ; il tuo numero verificato
same => n,Dial(PJSIP/${EXTEN}@vohippo,60)
same => n,Hangup()
[da-vohippo] ; chiamate in arrivo dal trunk
exten => _.,1,NoOp(Chiamata in entrata da ${CALLERID(num)})
same => n,Dial(PJSIP/101&PJSIP/102,25)
same => n,Voicemail(101@default,u)
same => n,Hangup()
3. Il caller ID
Il numero che mostri a chi chiami si decide in due modi, e la piattaforma li gestisce entrambi.
- Se nel portale imposti un caller ID fisso sull'account, quello vince sempre: qualunque cosa mandi il centralino viene ignorata
- Se invece lo lasci libero, prendiamo il numero dal campo From o dal P-Asserted-Identity della tua INVITE
- In quel caso il numero deve corrispondere a uno dei caller ID già verificati nel portale, altrimenti la chiamata viene rifiutata
4. Verifica che funzioni
Dalla console di Asterisk (asterisk -rvvv) bastano tre comandi per capire dove ci si è fermati.
pjsip show registrations ; deve dire Registered
pjsip show endpoint vohippo ; stato e codec negoziati
pjsip set logger on ; traccia SIP completa, per capire un rifiuto
Se qualcosa non va
I tre inciampi più comuni, in ordine di frequenza.
- Registrazione che resta Rejected: utente o password copiati con uno spazio in fondo
- Chiamata rifiutata subito: caller ID non verificato, oppure destinazione non abilitata sull'account
- Chiamata che si sente solo da un lato: quasi sempre NAT, si risolve con rtp_symmetric, force_rport e rewrite_contact, che nell'esempio ci sono già
Parliamone: la demo la fa una persona, non un video
Ti mostriamo il portale dal vivo con un nostro operatore e rispondiamo alle domande sul tuo caso specifico. Se preferisci scrivere, siamo su WhatsApp.
Registrazione gratuita e senza impegno: ti accreditiamo un credito di prova per fare le tue chiamate di test.