---
title: "Instradare le chiamate trunk in entrata in base all'origine e al numero del chiamante"
description: "Usa le regole di instradamento dei trunk SIP per inviare le chiamate da cellulare e da rete fissa a gateway diversi, instradare in base al paese del chiamante o aggiungere un prefisso in base all'origine del chiamante."
canonical: "https://bird.com/it-it/documentazione/guides/voice/trunk-routing-rules"
---

# Instradare le chiamate trunk in entrata in base all'origine e al numero del chiamante

L'**Inbound routing** di un trunk SIP può gestire le chiamate in modo diverso a seconda di chi chiama e del numero composto. Le regole verificano alcune caratteristiche di ogni chiamata, come il tipo di linea o il paese del chiamante, e stabiliscono cosa succede: inviare la chiamata a un gruppo di gateway, modificare il numero che riceve la tua apparecchiatura, rifiutarla o inoltrarla. Questa pagina riporta configurazioni funzionanti per i casi più comuni.

## Prima di iniziare

- Un trunk SIP con le chiamate in entrata attive, i suoi gateway in almeno un gruppo e i tuoi numeri associati al trunk. [Configurare un trunk SIP](/docs/guides/voice/sip-trunk-setup) spiega tutti e tre i passaggi.
- Apri **Voice** > [**SIP Trunks**](https://bird.com/dashboard/w/voice/sip-trunks), apri il trunk e vai su **Inbound routing** > **Rules**.

## Come funzionano le regole

Per ogni chiamata in entrata, Bird verifica le regole dall'alto verso il basso. La prima regola il cui **When** corrisponde decide la chiamata; una chiamata che non corrisponde a nessuna regola usa la **Default route** (**No rule above matched**). Ogni regola e la route predefinita hanno un **Then**: **Route to group**, **Reject** o **Forward to number**. Un trunk può contenere fino a 50 regole.

Un **When** è una condizione su queste caratteristiche della chiamata. Seleziona una caratteristica dall'elenco oppure usa **Edit expression** per scrivere tu stesso la condizione.

| Caratteristica    | Cosa contiene                                                                                                      |
| ----------------- | ------------------------------------------------------------------------------------------------------------------ |
| `orig.line_type`  | Il tipo di linea del chiamante: `LINE_FIXED`, `LINE_MOBILE`, `LINE_TOLL_FREE`, `LINE_PAYPHONE` o `LINE_UNKNOWN`    |
| `orig.country`    | Il codice paese di due lettere del chiamante, ad esempio `GB`. Vuoto se il chiamante ha nascosto il proprio numero |
| `orig.anonymous`  | `true` se il chiamante ha nascosto il proprio numero                                                               |
| `orig.number`     | Il numero del chiamante in formato E.164, con `+`                                                                  |
| `orig.digits`     | Il numero del chiamante senza il `+` iniziale                                                                      |
| `dest.number`     | Il numero composto, in formato E.164, con `+`                                                                      |
| `dest.digits`     | Il numero composto, senza il `+` iniziale                                                                          |
| `call.local_hour` | L'ora della chiamata, da 0 a 23, nel fuso orario del routing                                                       |
| `call.weekday`    | Il giorno della chiamata, nel fuso orario del routing                                                              |

Scrivi i tipi di linea come costanti, ad esempio `orig.line_type == LINE_MOBILE`. Una costante sconosciuta genera un errore al salvataggio, mentre una stringa scritta male come `"LINE_MOBLE"` viene accettata ma non corrisponde mai.

## Inviare i chiamanti da cellulare e da rete fissa a gateway diversi

Usa questa configurazione quando, ad esempio, i chiamanti da cellulare devono raggiungere un SBC e tutti gli altri un altro.

1. In **Groups**, crea un gruppo per ogni destinazione, ad esempio `mobile` con il tuo SBC per i cellulari e `landline` con l'altro.
2. In **Rules**, seleziona **Add rule** e chiamala _Mobile callers_. Imposta **When** su **Line type** con il valore `LINE_MOBILE`.
3. Imposta **Then** su **Route to group** e scegli `mobile`.
4. Imposta **Default route** su **Route to group** e scegli `landline`. Questa route riceve tutte le chiamate che la regola non ha intercettato.
5. Seleziona **Review and save**, quindi conferma.

Lo stesso schema consente di instradare per paese: imposta **When** con **Edit expression** su una condizione come `orig.country == GB`.

## Aggiungere un prefisso in base all'origine del chiamante

Il tuo SBC potrebbe aspettarsi davanti al numero composto un prefisso che indica l'origine del chiamante, ad esempio `801` per la rete fissa, `802` per il mobile e `800` per tutto il resto. Bird modifica la parte utente della Request-URI che invia al tuo gateway; host e porta del gateway restano invariati. Per una chiamata verso `+44 808 157 0123`, un chiamante da mobile arriva quindi come `sip:802448081570123@198.51.100.20`.

Puoi configurarlo in due modi equivalenti.

### Una regola per ogni origine

Usa questo metodo quando vuoi che ogni origine compaia come voce separata nell'editor, oppure quando le origini differiscono per qualcosa in più del prefisso, ad esempio un gruppo diverso.

1. In **Rules**, seleziona **Add rule**, chiamala _Landline_ e imposta **When** su **Line type** con il valore `LINE_FIXED`.
2. Imposta **Then** su **Route to group**, scegli il tuo gruppo in **Group**, quindi seleziona **Override R-URI user part**. Digita `801`, poi usa **Insert** per aggiungere `dest.digits` subito dopo.
3. Ripeti per _Mobile_ (`LINE_MOBILE`, prefisso `802`).
4. Imposta **Default route** su **Route to group** con la parte utente `800` seguita da `dest.digits`.
5. Seleziona **Review and save**, quindi conferma.

### Una sola espressione

Usa questa soluzione quando cambia solo il prefisso. Lascia vuoto **Rules**, imposta **Default route** su **Route to group** con il tuo gruppo, seleziona **Override R-URI user part**, inserisci questa espressione e aggiungi `dest.digits` dopo di essa:

```text
orig.line_type == LINE_FIXED ? "801" : orig.line_type == LINE_MOBILE ? "802" : "800"
```

Entrambe le configurazioni producono lo stesso `INVITE`. Il campo **R-URI user part** di un gateway accetta solo testo fisso attorno al numero composto, quindi inserisci un prefisso che dipende dal chiamante in una regola o nella route predefinita, come sopra.

## Verifica la configurazione

1. **Review and save** controlla ogni condizione e ogni template ed elenca gli errori indicando dove si trovano. Non viene salvato nulla finché non li correggi.
2. Chiama uno dei tuoi numeri da un cellulare, da un telefono fisso e con il numero nascosto. Sul tuo SBC, confronta la Request-URI di ogni `INVITE` ricevuto con quella che ti aspetti.
3. Apri ogni chiamata in **Voice** > [**Legs**](https://bird.com/dashboard/w/voice/legs) e usa il suo **SIP Call-ID** per trovare la stessa chiamata nei log del tuo SBC.

## Passaggi successivi

| Pagina                                                         | Contenuto                                                                                        |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Ricevere chiamate](/docs/guides/voice/receiving-calls)        | Instradamento per numero, gruppi, route predefinita e chiamate rifiutate                         |
| [Configurare un trunk SIP](/docs/guides/voice/sip-trunk-setup) | La configurazione completa di un trunk, passo per passo, dalla creazione a una chiamata di prova |
| [Effettuare chiamate](/docs/guides/voice/placing-calls)        | Che cosa si aspetta Bird nel `INVITE` inviato dalle tue apparecchiature                          |

## Related resources

- [What is a voice API?](/explained/voice/what-is-a-voice-api) (answer)
- [Voice](/voice-api) (product)
- [Voice overview](/docs/guides/voice/overview) (docs)

[Get an implementation brief](/learn/workspace?topic=voice)
