Vai al contenuto

Configurare un trunk SIP su FreePBX

Su FreePBX non si scrivono file: si compilano poche schermate dell'interfaccia web. Qui trovi cosa mettere in ogni campo del trunk PJSIP, come creare le rotte in uscita e in entrata, come far passare il caller ID giusto e come risolvere i problemi di NAT e di registrazione.

11 minuti di letturaAggiornata il

Prima di cominciare

FreePBX è un'interfaccia grafica costruita sopra Asterisk: sotto c'è lo stesso motore, quindi i valori sono identici a quelli della guida per configurare il trunk su Asterisk, solo che li inserisci in un modulo invece che in pjsip.conf. Le voci di menu citate qui sono quelle di FreePBX 15, 16 e 17; nelle versioni diverse possono cambiare leggermente posizione, non significato.

Prepara queste cose:

  • Un account SIP dedicato al centralino, creato nel portale alla voce Account SIP, con utente e password. Se non hai ancora un accesso, registrati al portale.
  • Uno o più caller ID verificati: i numeri acquistati su Vohippo lo sono già, gli altri si verificano nel portale.
  • L'accesso amministratore all'interfaccia di FreePBX.
  • L'indirizzo IP pubblico dell'ufficio e la rete interna, se FreePBX sta dietro un router.

Per un ufficio con sei interni, per esempio, basta un account con sei canali: i canali si impostano sull'account con «Chiamate contemporanee in uscita» (da 1 a 1000, ogni canale extra 0,50 € al mese), e vale solo per le chiamate in uscita. Quanto costano le chiamate lo vedi nel listino delle tariffe, al secondo e senza scatto alla risposta.

1. Creare il trunk

Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip). Nella scheda General dai un nome al trunk, poi passa alla scheda pjsip Settings.

  • Username: l'utente dell'account SIP che trovi nel portale
  • Secret: la password dello stesso account
  • SIP Server: sip.vohippo.com — SIP Server Port: 5060
  • Authentication: Outbound — Registration: Send
  • Context: from-trunk (è quello che FreePBX usa per le chiamate in entrata)

Nella scheda General, il campo Trunk Name è solo un'etichetta: chiamalo per esempio Vohippo, così lo riconosci nelle rotte. Il campo Maximum Channels può restare vuoto, perché il limite vero è quello dell'account nel portale; se lo compili, mettilo uguale alle «Chiamate contemporanee in uscita», altrimenti FreePBX rifiuterà chiamate che la piattaforma accetterebbe.

Authentication: Outbound significa che FreePBX si autentica verso di noi, e non il contrario. Registration: Send fa sì che FreePBX si registri sul nostro server: è indispensabile per ricevere le chiamate, perché la registrazione ci dice a quale indirizzo pubblico si trova il centralino. Il trasporto da usare è quello UDP sulla porta 5060.

2. Le impostazioni avanzate

Nella stessa scheda, sezione Advanced: sono le voci che fanno la differenza fra una chiamata pulita e una con l'audio da una parte sola.

  • Codecs: solo alaw, ulaw ed eventualmente g722
  • DTMF Mode: RFC 4733
  • Direct Media: No
  • Rewrite Contact: Yes — Force rport: Yes — RTP Symmetric: Yes

Perché proprio questi valori

I codec accettati dalla piattaforma sono G.711 a-law, G.711 µ-law e G.722: togli la spunta a tutto il resto e metti alaw in cima. Con codec diversi, come G.729 o Opus, la chiamata non si negozia. RFC 4733 è il modo in cui la piattaforma riceve i toni della tastiera: serve per i menu dei servizi clienti e per i codici dei citofoni. Dettagli e consumi di banda sono nella guida ai codec VoIP.

Direct Media: No tiene l'audio sempre sul centralino. Le tre opzioni successive dicono a FreePBX di rispondere all'indirizzo e alla porta da cui arrivano davvero i pacchetti, ignorando quelli scritti nei messaggi SIP: è ciò che serve quando c'è di mezzo un router con NAT, cioè quasi sempre.

Le altre voci della scheda

Lascia Qualify Frequency a un valore come 60 secondi: FreePBX controlla ogni minuto che il nostro server risponda. Il tempo di scadenza della registrazione può restare quello proposto; la piattaforma usa 600 secondi come predefinito, e con un router che chiude presto le sessioni UDP conviene un valore fra 300 e 600 secondi. Non serve compilare Outbound Proxy.

3. Rotta in uscita

Connectivity → Outbound Routes. La rotta decide quali numeri escono da questo trunk.

  • Trunk Sequence: il trunk appena creato
  • Dial Patterns: prefisso vuoto e match su X. per mandare tutto, oppure pattern per paese
  • Route CID: il tuo numero verificato, se non lo imposti già nel portale

Il pattern X. manda al trunk qualsiasi numero composto. I tuoi utenti compongono come su un telefono normale: in formato nazionale per l'Italia (06 1234 5678, 345 218 0937) e con 00 o + davanti per l'estero. Un numero senza prefisso internazionale viene interpretato nel paese del cellulare che hai verificato, quindi un numero estero composto senza 00 verrebbe letto come italiano.

Se vuoi essere più restrittivo, crea pattern separati: per esempio uno per i numeri italiani che cominciano con 0 o con 3, e niente per l'estero. È una buona idea per un ufficio che non chiama mai fuori dall'Italia, insieme alle destinazioni abilitate sull'account nel portale («Solo le destinazioni selezionate»): due barriere sono meglio di una.

4. Rotta in entrata

Connectivity → Inbound Routes: qui decidi dove far squillare i numeri che hai acquistato.

  • DID Number: il numero come arriva dalla piattaforma
  • Set Destination: un interno, un gruppo di squillo o un IVR
  • Se non sei sicuro del formato del DID, lascia il campo vuoto e usa la rotta come catch-all finché non lo vedi nei log

Nel portale, il numero deve avere un instradamento con il passo «Squilla account SIP» verso l'account del trunk: è così che la chiamata arriva a FreePBX. Un numero senza flusso finisce in «Chiamate rifiutate». La costruzione dei passi è spiegata nella guida su come configurare un numero in entrata, e i numeri disponibili li cerchi fra i numeri virtuali in 232 città italiane.

Il gruppo di squillo, l'IVR, le code e le fasce orarie sono funzioni di FreePBX, non della piattaforma: Vohippo porta la chiamata al centralino, FreePBX decide cosa farne. Per capire il formato con cui arriva la chiamata, fai una prova con la rotta catch-all e guarda il log in Reports → Asterisk Logfiles, oppure dalla console con pjsip set logger on.

Il caller ID

Ogni chiamata in uscita deve presentare un caller ID verificato: se il numero non è fra i tuoi caller ID, la chiamata viene rifiutata e nel Report chiamate compare «Caller ID non autorizzato». Non si può uscire in anonimo. Le strade sono due.

  • Caller ID fisso sull'account nel portale: vince sempre, qualunque cosa mandi FreePBX. È la scelta più semplice se tutti escono con lo stesso numero.
  • «Preso dalla chiamata (deve essere uno dei tuoi caller ID)»: la piattaforma legge il numero dalla chiamata, in quest'ordine: P-Asserted-Identity, Remote-Party-ID, From. Così puoi dare numeri diversi a reparti diversi, purché siano tutti verificati.

In FreePBX il numero si imposta in più punti: sull'interno (Outbound CID), sulla rotta (Route CID) e sul trunk (Outbound CallerID). Scrivilo con il + o con lo 00 davanti, per esempio +39 06 1234 5678, oppure in formato nazionale. FreePBX mette il caller ID nel From; se nella scheda Advanced del trunk hai la voce per inviare anche il P-Asserted-Identity, puoi attivarla, ma non è necessaria: l'account viene riconosciuto dalle credenziali, e il numero nel From basta.

I numeri acquistati su Vohippo sono già caller ID; un numero di un altro operatore si verifica con SMS, WhatsApp o chiamata vocale e costa 0,02 € per chiamata risposta. Tutte le regole sono nella guida sul caller ID.

NAT, firewall e porte

FreePBX in ufficio sta quasi sempre dietro un router. Per evitare l'audio da una parte sola, dichiara a FreePBX il suo indirizzo pubblico: Settings → Asterisk SIP Settings, sezione delle impostazioni NAT.

  1. In External Address scrivi l'indirizzo IP pubblico dell'ufficio (o usa il pulsante di rilevamento).
  2. In Local Networks aggiungi la rete interna, per esempio 192.168.1.0/24.
  3. Salva, applica la configurazione e riavvia Asterisk se richiesto.

Poi, sul router, disattiva il SIP ALG: riscrive i pacchetti SIP e causa registrazioni che cadono e audio a senso unico. Il nostro server usa la porta 5060 UDP per il SIP e le porte 10000-20000 UDP per l'audio; quelle di FreePBX sono nella stessa pagina, sotto le impostazioni RTP.

Se usi il modulo Firewall di FreePBX, aggiungi sip.vohippo.com fra le reti fidate, altrimenti il firewall potrebbe bloccare le chiamate in arrivo. Il resto (port forwarding, keepalive, quando serve davvero aprire porte) è nella guida su NAT, firewall e porte.

Verifica che funzioni

Dopo aver salvato e premuto Apply Config, fai le prove in quest'ordine.

  1. Reports → Asterisk Info, sezione Registries: il trunk deve risultare Registered. Anche nel portale l'account deve risultare registrato.
  2. Da un interno chiama un cellulare: devi sentire e farti sentire.
  3. Da un cellulare chiama il tuo numero virtuale: deve arrivare alla destinazione della rotta in entrata.
  4. Durante una chiamata a un servizio con menu premi qualche tasto, per verificare i toni.
  5. Controlla il Report chiamate del portale: ogni prova deve comparire con il suo esito.

Se preferisci la console, i comandi sono quelli di Asterisk: pjsip show registrations e pjsip set logger on. Nel portale trovi anche il log SIP dell'account degli ultimi 7 giorni.

Se qualcosa non va

I problemi più frequenti, in ordine di probabilità.

SintomoCausa probabileCosa fare
Trunk Rejected o non registratoUsername o Secret con spazi, o copiati maleRicopia dal portale, salva, Apply Config
Smette di registrarsi dopo vari tentativiIl firewall della piattaforma ha bloccato l'IPCorreggi la password, poi sblocca da «Sicurezza degli indirizzi IP»
Chiamata rifiutata subitoCaller ID non verificato, destinazione non abilitata, credito o limite di spesaLeggi il motivo nel Report chiamate
Occupato in uscita con pochi utentiRaggiunte le «Chiamate contemporanee in uscita»Aumenta i canali sull'account o controlla Maximum Channels
Audio da un lato soloNAT non dichiarato o SIP ALGExternal Address, Local Networks, SIP ALG spento
Le chiamate in entrata non arrivanoTrunk non registrato, nessun instradamento o firewallRegistrazione, «Squilla account SIP», reti fidate

Il firewall della piattaforma blocca un indirizzo dopo 5 errori di autenticazione in 10 minuti, con blocchi via via più lunghi: per questo, quando cambi la password nel portale, aggiornala subito anche nel trunk.

Domande frequenti

Devo usare chan_pjsip o chan_sip?

Usa chan_pjsip: è il driver attuale e quello descritto in questa guida. Le versioni recenti di FreePBX e Asterisk non includono più chan_sip.

FreePBX può fare IVR, code e orari con il trunk Vohippo?

Sì: sono funzioni di FreePBX, che le applica alle chiamate ricevute dal trunk. Vohippo fornisce linee, numeri e caller ID; menu, code e fasce orarie li configuri nel centralino.

Posso usare l'autenticazione per IP invece della password?

Sì, se FreePBX ha un indirizzo IP pubblico fisso: scegli «Indirizzo IP» sull'account nel portale e aggiungi l'indirizzo fra quelli autorizzati. In quel caso il caller ID va mandato nel P-Asserted-Identity (consigliato) o nel From.

Come faccio ad avere più numeri sullo stesso FreePBX?

Acquista i numeri nel portale e instradali tutti con «Squilla account SIP» verso l'account del trunk. Se vuoi che FreePBX li tratti in modo diverso, guarda nei log come arriva ciascuno prima di scrivere le rotte; in alternativa puoi usare un account SIP diverso per ogni numero.

Perché la chiamata viene rifiutata anche se il trunk è registrato?

La registrazione conferma solo le credenziali. Il rifiuto dipende quasi sempre dal caller ID, dalle destinazioni abilitate, dal credito o dal limite di spesa: il motivo esatto è nel Report chiamate.

Altre guide

Guida: trunk SIP su Asterisk

Questa guida ti accompagna nella configurazione completa di un trunk Vohippo su Asterisk con il driver PJSIP (Asterisk 16 e successivi): ogni sezione…

Guida: trunk SIP su 3CX

Come collegare un trunk SIP Vohippo a un centralino 3CX, dalla creazione dell'account nel portale alla prima chiamata. Le voci del pannello cambiano…

Caller ID

Il caller ID è il numero che vede chi riceve la tua chiamata. In questa guida trovi come Vohippo decide quale numero mostrare, come impostarlo su un…

NAT, firewall e porte

Quasi tutti i problemi di un telefono VoIP che si registra ma non squilla, o che fa sentire la voce da una parte sola, nascono tra il router e il…

Codec VoIP

Il codec è il modo in cui la voce viene trasformata in dati per viaggiare su Internet: decide quanta banda consuma una chiamata e quanto bene si…

Guida: sicurezza VoIP

Una frode telefonica raramente è un attacco sofisticato: qualcuno trova un account con la password debole, ci registra sopra un apparato e chiama…

Prova la demo AI in tempo reale

Ti risponde la Segretaria AI che configuri dentro Vohippo, esattamente come risponderebbe per la tua azienda: ti manda un riepilogo esatto della conversazione e ti passa la chiamata solo quando serve. Le regole le decidi tu, anche dall'app.

Parla 32 lingue: ciao

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.