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.
- Otwórz 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.
- W Groups utwórz grupę dla każdego miejsca docelowego, na przykład
mobilez SBC dla komórek ilandlinez drugim. - W Rules wybierz Add rule i nazwij regułę Mobile callers. Ustaw When na Line type z wartością
LINE_MOBILE. - Ustaw Then na Route to group i wybierz
mobile. - 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. - 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ą.
- W Rules wybierz Add rule, nazwij regułę Landline i ustaw When na Line type z wartością
LINE_FIXED. - 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 nimdest.digits. - Powtórz te kroki dla Mobile (
LINE_MOBILE, prefiks802). - Ustaw Default route na Route to group z częścią użytkownika
800, po której następujedest.digits. - 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:
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ę
- 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.
- 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
INVITEz oczekiwaną wartością. - Otwórz każde połączenie 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ń | Trasy numerów, grupy, trasa domyślna i odrzucone połączenia |
| Konfiguracja trunku SIP | Pełna konfiguracja trunku krok po kroku, od utworzenia do połączenia testowego |
| Nawiązywanie połączeń | Czego Bird oczekuje w INVITE wysyłanym przez Twoje urządzenia |
Powiązane zasoby
Przejdź do dokumentacji, przewodników i przykładów dotyczących tego tematu.