Vai alla navigazione

FreePBX e Asterisk

Invia le chiamate dal tuo sistema telefonico FreePBX o Asterisk al tuo receptionist tramite un trunk SIP.

Il tuo PBX mantiene il proprio operatore e i propri numeri e inoltra a Reception.ai le chiamate che scegli tramite un trunk SIP. Aggiungi un secondo trunk al PBX che punta a Reception.ai, quindi instrada verso di esso un DID, una condizione oraria o un’opzione IVR.

Prima di iniziare

  • FreePBX 15 o versione successiva, oppure Asterisk con PJSIP, raggiungibile da Internet.
  • Un indirizzo IP pubblico statico per il PBX. Reception.ai accetta chiamate solo dagli indirizzi da te autorizzati.
  • Una persona che conosca bene trunk, route e firewall del tuo PBX.

Configurazione

1

Aggiungi il trunk SIP in Reception.ai

Vai a Integrations, seleziona Add integration e scegli SIP Trunk. In Inbound allowed addresses, aggiungi l’indirizzo IP pubblico del tuo PBX. Se imposti anche un nome utente e una password in entrata, usa la stessa coppia nel trunk PBX indicato sotto.

2

Aggiungi il numero

Vai a Receptionists, seleziona il riquadro Phone, inserisci il numero composto dai chiamanti, incluso il prefisso internazionale, e seleziona Add SIP Trunk number. Reception.ai mostra l’host del server SIP e l’URI della richiesta da usare.

3

Attiva TCP in FreePBX

Reception.ai non accetta UDP. In FreePBX, vai a Settings → Asterisk SIP Settings → SIP Settings [chan_pjsip], imposta il trasporto tcp su Yes, quindi seleziona Submit e Apply Config. Riavvia Asterisk per caricare il nuovo trasporto. Anche TLS funziona, se hai configurato un certificato in Certificate Management.

4

Crea il trunk verso Reception.ai

Vai a Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk. Nella scheda General, inserisci un Trunk Name, ad esempio reception. Imposta CID Options su Allow Any CID, così il receptionist vede il numero di ciascun chiamante. Nella scheda pjsip Settings:

CampoValore
RegistrationNone
AuthenticationNone, oppure Outbound con Username e Secret se hai impostato credenziali in entrata in Reception.ai
SIP ServerL’host del server SIP di Reception.ai
SIP Server Port5060 per TCP o 5061 per TLS
TransportIl trasporto TCP (o TLS), ad esempio 0.0.0.0-tcp
5

Aggiungi una route in uscita che invii +E.164

Vai a Connectivity → Outbound Routes e aggiungi una route denominata Reception che utilizzi soltanto il trunk reception. Aggiungi un dial pattern con un prefix inutilizzato, ad esempio 88, un match pattern di X. e un prepend di +. Una chiamata a 8814155550123 esce quindi dal trunk come +14155550123, che è il formato richiesto da Reception.ai.

6

Invia il DID a Reception.ai

Vai a Applications → Misc Destinations e aggiungine una che chiami 88 seguito dal numero in formato E.164 senza +, ad esempio 8814155550123. Quindi vai a Connectivity → Inbound Routes, apri la route del tuo DID e impostane la destinazione su quella misc destination. Puoi anche usarla come destinazione di una condizione oraria, del failover di un gruppo di chiamata o di un’opzione IVR.

7

Correggi NAT e audio

Vai a Settings → Asterisk SIP Settings → General SIP Settings. Imposta External Address sull’IP pubblico del PBX ed elenca le tue subnet private in Local Networks. Apri nel firewall gli intervalli di porte RTP Port Ranges mostrati in quella pagina (UDP, 10000–20000 per impostazione predefinita).

8

Testalo

Chiama il tuo DID da un altro telefono e verifica che il receptionist risponda.

Asterisk senza FreePBX

Su Asterisk senza FreePBX, la stessa configurazione in pjsip.conf è simile a questa. Sostituisci SIP_SERVER con l’host mostrato da Reception.ai.

[transport-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5060
external_signaling_address=PBX_PUBLIC_IP
external_media_address=PBX_PUBLIC_IP
local_net=192.168.0.0/16
[reception]
type=aor
contact=sip:SIP_SERVER:5060;transport=tcp
[reception]
type=endpoint
transport=transport-tcp
aors=reception
context=from-reception
disallow=all
allow=ulaw,alaw

Nel dialplan, invia la chiamata con il numero in formato E.164:

exten => YOUR_DID,1,Dial(PJSIP/+14155550123@reception)

Se hai impostato credenziali in entrata in Reception.ai, aggiungi una sezione type=auth con tali credenziali e fai riferimento a essa con outbound_auth= sull’endpoint.

Limitazioni

  • Trasferimenti. Il tuo receptionist trasferisce le chiamate effettuando una nuova chiamata all’Outbound SIP address. Indirizzalo al tuo operatore SIP, usando un account dell’operatore che accetti nome utente e password. L’instradamento dei trasferimenti di nuovo nel PBX non è trattato qui: Reception.ai chiama da un pool di indirizzi variabile, quindi il PBX non può associare tali chiamate a un trunk in base all’IP.
  • Il tuo PBX gestisce ogni chiamata due volte, una volta dall’operatore e una volta verso Reception.ai, quindi necessita di un canale libero per ciascuna tratta.

Risoluzione dei problemi

ProblemaCosa verificare
Le chiamate non riescono prima di squillareVerifica che il trunk utilizzi il trasporto TCP o TLS, non UDP, e che la porta corrisponda.
Le chiamate vengono rifiutateAggiungi l’IP pubblico del PBX a Inbound allowed addresses. Verifica nella console Asterisk che l’URI della richiesta INVITE inizi con + e il prefisso internazionale.
Il receptionist vede il numero del PBX come chiamanteImposta CID Options sul trunk Reception.ai su Allow Any CID.
Audio monodirezionale o assenteImposta External Address e Local Networks e apri l’intervallo di porte RTP nel firewall.
Il receptionist non rispondeAssicurati che il numero sia aggiunto nel riquadro Phone del receptionist e corrisponda al numero inviato dal PBX.