Przejdź do nawigacji

FreePBX i Asterisk

Przekierowuj rozmowy z systemu telefonicznego FreePBX lub Asterisk do recepcjonistki przez trunk SIP.

Twój PBX zachowuje operatora i numery, a wybrane rozmowy przekazuje do Reception.ai przez trunk SIP. Dodajesz w PBX drugi trunk wskazujący na Reception.ai, a potem kierujesz do niego numer DID, warunek czasowy lub opcję IVR.

Zanim zaczniesz

  • FreePBX 15 lub nowszy albo Asterisk z PJSIP, dostępny z internetu.
  • Statyczny publiczny adres IP dla PBX. Reception.ai przyjmuje rozmowy tylko z dozwolonych adresów.
  • Osoba znająca trunki, trasy i zaporę sieciową twojego PBX.

Konfiguracja

1

Dodaj trunk SIP w Reception.ai

Przejdź do Integrations, wybierz Add integration, a potem SIP Trunk. W sekcji Inbound allowed addresses dodaj publiczny adres IP swojego PBX. Jeśli ustawisz też przychodzącą nazwę użytkownika i hasło, użyj tej samej pary w trunku PBX poniżej.

2

Dodaj numer

Przejdź do Receptionists, wybierz kafelek Phone, wpisz numer wybierany przez dzwoniących wraz z kodem kraju i wybierz Add SIP Trunk number. Reception.ai wyświetli host serwera SIP i identyfikator URI żądania do użycia.

3

Włącz TCP w FreePBX

Reception.ai nie obsługuje UDP. W FreePBX przejdź do Settings → Asterisk SIP Settings → SIP Settings [chan_pjsip], ustaw transport tcp na Yes, a następnie wybierz Submit i Apply Config. Uruchom ponownie Asterisk, aby załadować nowy transport. TLS też działa, jeśli skonfigurowałeś certyfikat w Certificate Management.

4

Utwórz trunk do Reception.ai

Przejdź do Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk. Na karcie General wpisz Trunk Name, na przykład reception. Ustaw CID Options na Allow Any CID, aby recepcjonistka widziała własny numer każdego dzwoniącego. Na karcie pjsip Settings:

PoleWartość
RegistrationNone
AuthenticationNone albo Outbound z Username i Secret, jeśli w Reception.ai ustawiono dane przychodzące
SIP ServerHost serwera SIP Reception.ai
SIP Server Port5060 dla TCP lub 5061 dla TLS
TransportTransport TCP (lub TLS), na przykład 0.0.0.0-tcp
5

Dodaj trasę wychodzącą wysyłającą +E.164

Przejdź do Connectivity → Outbound Routes i dodaj trasę o nazwie Reception, która używa tylko trunku reception. Dodaj wzorzec wybierania z nieużywanym prefix, na przykład 88, match pattern X. i prepend +. Rozmowa na numer 8814155550123 opuści wtedy trunk jako +14155550123, czyli w formacie wymaganym przez Reception.ai.

6

Wyślij DID do Reception.ai

Przejdź do Applications → Misc Destinations i dodaj pozycję wybierającą 88, a następnie numer w formacie E.164 bez +, na przykład 8814155550123. Potem przejdź do Connectivity → Inbound Routes, otwórz trasę dla swojego DID i ustaw jako cel tę pozycję misc destination. Możesz też użyć jej jako celu warunku czasowego, przepełnienia grupy dzwonienia lub opcji IVR.

7

Napraw NAT i dźwięk

Przejdź do Settings → Asterisk SIP Settings → General SIP Settings. Ustaw External Address na publiczny adres IP PBX i podaj prywatne podsieci w Local Networks. Otwórz w zaporze zakresy RTP Port Ranges widoczne na tej stronie (UDP, domyślnie 10000–20000).

8

Przetestuj

Zadzwoń na swój DID z innego telefonu i sprawdź, czy recepcjonistka odbiera.

Czysty Asterisk

W Asterisk bez FreePBX ta sama konfiguracja w pjsip.conf wygląda tak. Zastąp SIP_SERVER hostem wyświetlanym przez 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

W dialplanie wyślij rozmowę z numerem w formacie E.164:

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

Jeśli w Reception.ai ustawisz dane przychodzące, dodaj sekcję type=auth z tymi danymi i odwołaj się do niej przez outbound_auth= w endpoint.

Ograniczenia

  • Przekazywanie rozmów. Recepcjonistka przekazuje rozmowy, nawiązując nowe połączenie z Outbound SIP address. Wskaż tam swojego operatora SIP, używając konta operatora, które akceptuje nazwę użytkownika i hasło. Przekierowywanie rozmów z powrotem do PBX nie jest tu opisane: Reception.ai dzwoni ze zmiennej puli adresów, więc PBX nie może dopasować tych połączeń do trunku po IP.
  • Twój PBX obsługuje każdą rozmowę dwa razy, raz od operatora i raz do Reception.ai, więc potrzebuje wolnego kanału dla każdej części połączenia.

Rozwiązywanie problemów

ProblemCo sprawdzić
Rozmowy kończą się przed sygnałemSprawdź, czy trunk używa transportu TCP lub TLS, a nie UDP, i czy port jest właściwy.
Rozmowy są odrzucaneDodaj publiczny adres IP PBX do Inbound allowed addresses. Sprawdź w konsoli Asterisk, czy URI żądania INVITE zaczyna się od + i kodu kraju.
Recepcjonistka widzi numer PBX jako numer dzwoniącegoUstaw CID Options na trunku Reception.ai na Allow Any CID.
Dźwięk działa tylko w jedną stronę lub nie działaUstaw External Address i Local Networks oraz otwórz zakres portów RTP w zaporze.
Recepcjonistka nie odbieraUpewnij się, że numer jest dodany w kafelku Phone recepcjonistki i pasuje do numeru wysyłanego przez PBX.