> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# FreePBX e Asterisk

Il tuo PBX mantiene il proprio operatore e i propri numeri e inoltra a Reception.ai le chiamate che scegli tramite un [trunk SIP](/docs/it/reception-ai/phone-numbers/bring-your-own-number#sip-trunk). 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

### 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.

### 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.

### 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**.

### 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**:

| Campo               | Valore                                                                                                              |
| ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Registration**    | **None**                                                                                                            |
| **Authentication**  | **None**, oppure **Outbound** con **Username** e **Secret** se hai impostato credenziali in entrata in Reception.ai |
| **SIP Server**      | L'host del server SIP di Reception.ai                                                                               |
| **SIP Server Port** | `5060` per TCP o `5061` per TLS                                                                                     |
| **Transport**       | Il trasporto TCP (o TLS), ad esempio `0.0.0.0-tcp`                                                                  |

### 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.

### 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.

### 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).

### 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.

```ini
[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:

```ini
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

| Problema                                              | Cosa verificare                                                                                                                                                              |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Le chiamate non riescono prima di squillare           | Verifica che il trunk utilizzi il trasporto TCP o TLS, non UDP, e che la porta corrisponda.                                                                                  |
| Le chiamate vengono rifiutate                         | Aggiungi 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 chiamante | Imposta **CID Options** sul trunk Reception.ai su **Allow Any CID**.                                                                                                         |
| Audio monodirezionale o assente                       | Imposta **External Address** e **Local Networks** e apri l'intervallo di porte RTP nel firewall.                                                                             |
| Il receptionist non risponde                          | Assicurati che il numero sia aggiunto nel riquadro **Phone** del receptionist e corrisponda al numero inviato dal PBX.                                                       |