---
title: "Kierowanie połączeń przychodzących z trunku według pochodzenia i numeru dzwoniącego"
description: "Użyj reguł routingu trunku SIP, aby kierować dzwoniących z komórek i telefonów stacjonarnych do różnych bramek, kierować połączenia według kraju dzwoniącego lub dodawać prefiks zależny od pochodzenia dzwoniącego."
canonical: "https://bird.com/pl-pl/dokumentacja/guides/voice/trunk-routing-rules"
---

# Kierowanie połączeń przychodzących z trunku według pochodzenia i numeru dzwoniącego

Sekcja **Inbound routing** trunku SIP może obsługiwać połączenia różnie w zależności od tego, kto dzwoni i jaki numer wybrał. Reguły sprawdzają informacje o każdym połączeniu, takie jak typ linii lub kraj dzwoniącego, i określają, co się stanie: połączenie trafi do grupy bramek, numer odbierany przez Twoje urządzenia zostanie zmieniony, połączenie zostanie odrzucone albo przekierowane. Na tej stronie znajdziesz działające konfiguracje dla najczęstszych przypadków.

## Zanim zaczniesz

- Potrzebujesz trunku SIP z włączonymi połączeniami przychodzącymi, jego bramek w co najmniej jednej grupie oraz numerów skierowanych na ten trunk. Wszystkie trzy elementy opisuje strona [Konfiguracja trunku SIP](/docs/guides/voice/sip-trunk-setup).
- Otwórz **Voice** > [**SIP Trunks**](https://bird.com/dashboard/w/voice/sip-trunks), otwórz trunk i przejdź do **Inbound routing** > **Rules**.

## Jak działają reguły

Bird sprawdza reguły od góry do dołu dla każdego połączenia przychodzącego. O połączeniu decyduje pierwsza reguła, której warunek **When** jest spełniony; połączenie, które nie pasuje do żadnej reguły, obsługuje **Default route** (**No rule above matched**). Każda reguła i trasa domyślna ma akcję **Then**: **Route to group**, **Reject** lub **Forward to number**. Trunk może mieć maksymalnie 50 reguł.

Warunek **When** opiera się na poniższych informacjach o połączeniu. Wybierz informację z listy albo użyj **Edit expression**, aby samodzielnie napisać warunek.

| Informacja        | Co zawiera                                                                                               |
| ----------------- | -------------------------------------------------------------------------------------------------------- |
| `orig.line_type`  | Typ linii dzwoniącego: `LINE_FIXED`, `LINE_MOBILE`, `LINE_TOLL_FREE`, `LINE_PAYPHONE` lub `LINE_UNKNOWN` |
| `orig.country`    | Dwuliterowy kod kraju dzwoniącego, na przykład `GB`. Pusty, gdy dzwoniący zastrzegł swój numer           |
| `orig.anonymous`  | `true`, gdy dzwoniący zastrzegł swój numer                                                               |
| `orig.number`     | Numer dzwoniącego w formacie E.164, z `+`                                                                |
| `orig.digits`     | Numer dzwoniącego bez początkowego `+`                                                                   |
| `dest.number`     | Wybrany numer w formacie E.164, z `+`                                                                    |
| `dest.digits`     | Wybrany numer bez początkowego `+`                                                                       |
| `call.local_hour` | Godzina połączenia, od 0 do 23, w strefie czasowej routingu                                              |
| `call.weekday`    | Dzień połączenia w strefie czasowej routingu                                                             |

Zapisuj typy linii jako stałe, na przykład `orig.line_type == LINE_MOBILE`. Nieznana stała powoduje błąd przy zapisie, natomiast ciąg z literówką, taki jak `"LINE_MOBLE"`, zostanie zaakceptowany, ale nigdy nie zostanie dopasowany.

## Kieruj dzwoniących z komórek i telefonów stacjonarnych do różnych bramek

Użyj tej konfiguracji, gdy na przykład dzwoniący z komórek mają trafiać do jednego SBC, a wszyscy pozostali do innego.

1. W **Groups** utwórz grupę dla każdego miejsca docelowego, na przykład `mobile` z SBC dla komórek i `landline` z drugim.
2. W **Rules** wybierz **Add rule** i nazwij regułę _Mobile callers_. Ustaw **When** na **Line type** z wartością `LINE_MOBILE`.
3. Ustaw **Then** na **Route to group** i wybierz `mobile`.
4. Ustaw **Default route** na **Route to group** i wybierz `landline`. Obsługuje ona każde połączenie, do którego reguła nie pasowała.
5. Wybierz **Review and save**, a następnie potwierdź.

Ten sam schemat pozwala kierować połączenia według kraju: ustaw **When** za pomocą **Edit expression** na warunek taki jak `orig.country == GB`.

## Dodawanie prefiksu według pochodzenia dzwoniącego

Twój SBC może oczekiwać przed wybranym numerem prefiksu, który informuje go o pochodzeniu dzwoniącego, na przykład `801` dla telefonu stacjonarnego, `802` dla komórkowego i `800` dla pozostałych. Bird zmienia część użytkownika w Request-URI wysyłanym do Twojej bramki; host i port bramki pozostają bez zmian. Przy połączeniu z `+44 808 157 0123` dzwoniący z komórki dociera wtedy jako `sip:802448081570123@198.51.100.20`.

Możesz to skonfigurować na dwa równoważne sposoby.

### Jedna reguła na każde pochodzenie

Użyj tego sposobu, gdy każde pochodzenie ma być widoczne w edytorze jako osobna pozycja albo gdy pochodzenia różnią się czymś więcej niż prefiksem, na przykład inną grupą.

1. W **Rules** wybierz **Add rule**, nazwij regułę _Landline_ i ustaw **When** na **Line type** z wartością `LINE_FIXED`.
2. Ustaw **Then** na **Route to group**, wybierz swoją grupę w polu **Group**, a następnie wybierz **Override R-URI user part**. Wpisz `801`, a potem za pomocą **Insert** dodaj po nim `dest.digits`.
3. Powtórz te kroki dla _Mobile_ (`LINE_MOBILE`, prefiks `802`).
4. Ustaw **Default route** na **Route to group** z częścią użytkownika `800`, po której następuje `dest.digits`.
5. Wybierz **Review and save**, a następnie potwierdź.

### Jedno wyrażenie

Użyj tego wariantu, gdy zmienia się tylko prefiks. Pozostaw **Rules** puste, ustaw **Default route** na **Route to group** ze swoją grupą, wybierz **Override R-URI user part**, wstaw to wyrażenie i dodaj po nim `dest.digits`:

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

Obie konfiguracje dostarczają to samo `INVITE`. Własne pole **R-URI user part** bramy przyjmuje wokół wybranego numeru tylko stały tekst, dlatego prefiks zależny od dzwoniącego umieść w regule lub w trasie domyślnej, jak opisano powyżej.

## Sprawdź konfigurację

1. **Review and save** sprawdza każdy warunek i szablon oraz wyświetla listę błędów wraz z ich lokalizacją. Nic nie zostanie zapisane, dopóki ich nie poprawisz.
2. Zadzwoń na jeden ze swoich numerów z telefonu komórkowego, z telefonu stacjonarnego i z ukrytym numerem. W swoim SBC porównaj Request-URI każdego odebranego `INVITE` z oczekiwaną wartością.
3. Otwórz każde połączenie w **Voice** > [**Legs**](https://bird.com/dashboard/w/voice/legs) i użyj jego **SIP Call-ID**, aby znaleźć to samo połączenie w logach swojego SBC.

## Dalsze kroki

| Strona                                                        | Zakres                                                                         |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [Odbieranie połączeń](/docs/guides/voice/receiving-calls)     | Trasy numerów, grupy, trasa domyślna i odrzucone połączenia                    |
| [Konfiguracja trunku SIP](/docs/guides/voice/sip-trunk-setup) | Pełna konfiguracja trunku krok po kroku, od utworzenia do połączenia testowego |
| [Nawiązywanie połączeń](/docs/guides/voice/placing-calls)     | Czego Bird oczekuje w `INVITE` wysyłanym przez Twoje urządzenia                |

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