Odbieraj połączenia przez zestaw słuchawkowy na RasPBX (z chan_mobile)

For privacy reasons YouTube needs your permission to be loaded. For more details, please see our Polityka Prywatności.
I Accept
Chociaż korzystanie ze słuchawek Bluetooth jest możliwe do realizacji, ze względu na stabilność i jakość rozwiązania, zalecamy potraktować tą możliwość bardziej jako ciekawostkę i "Proof of Concept" niż jako docelowe rozwiązanie w środowiskach produkcyjnych. No chyba, że bardzo Ci zależy ?

1) Wstępne wymagania

Nie będziemy w tym miejscu jeszcze raz się rozpisywali jaki potrzebujesz zasilacz, kartę SD do swojego Raspberry Pi, ani jak wgrać system na kartę. Wyjdziemy z założenia, że masz RasPBX już zainstalowany i skonfigurowany.

Jeśli nie posiadasz jeszcze wspomnianego systemu, polecamy skorzystanie z tego przewodnika (oczywiście możesz pominąć instalację modemów USB). Ponadto warto też prześledzić ten post, w którym znajdziesz informacje o tym jak sparować telefon przez Bluetooth.

W tym tutorialu zastosujemy następujące urządzenia i oprogramowanie (są to opcje, a nie wymagania):

  • Raspberry Pi 4 wyposażone w adapter Bluetooth,
  • zestaw słuchawkowy Plantronics,
  • system operacyjny z Asterisk 16, chan_mobile.so oraz hcitool

Jak wspomnieliśmy w poprzednim poście, być możesz spotkałeś się już z innymi materiałami, które sugerują, że do parowania urządzeń najlepiej wykorzystać bluetoothctl. I to prawda, że możesz w tej sposób sparować urządzenie bluetooth. Ale to oprogramowanie może się bardziej przydać, jeśli podłączasz np. myszkę lub klawiaturę, i bluetoothctl nie służy do parowania urządzeń w ramach chan_mobile.

Na początek upewnij się czy usługa Bluetooth działa poprawnie i w razie potrzeby ją wystartuj za pomocą service bluetooth start.

Copy to Clipboard

2) Przygotowanie chan_mobile.conf

W idealnym świecie, zalogowalibyśmy się do konsoli Asteriska (asterisk -r) i załadowali moduł poprzez module load chan_mobile.so. Jednak na tym etapie jeszcze nie posiadamy poprawnie skonfigurowanego pliku, więc otrzymamy błąd Errors reading config file chan_mobile.conf. Not loading module..

W podstawowej konfiguracji, plik chan_mobile.conf będzie zawierał trzy sekcje:

  • [general] – globalne ustawienia, takie jak czas odświeżania podłączonych urządzeń
  • [adapter] – informacje o adapterze Bluetooth, który będzie bezprzewodowo łączył się z telefonami i/lub słuchawkami
  • [zestaw_sluchawkowy] – informacje o urządzeniu, które będzie podłączone do adaptera

Całość możemy zmieścić dosłownie w kilku linijkach.

[general]
interval=30   ; Liczba sekund między próbami połączenia się z urządzeniami

[adapter]
id=hci0   ; nazwa adaptera (może być nazwa własna, ale musi być unikalna)
address=AA:BB:DD:CC:EE:FF   ; adres MAC adaptera

[headset0]
type=headset   ; informacja, że to urządzenie jest słuchawką
address=00:11:22:33:44:55   ; adres MAC telefonu
adapter=hci0   ; adapter wykorzystany do połączenia (jak powyżej w sekcji [adapter])
port=1   ; numer portu rfcomm (z polecenia mobile search)

Najpierw zdefiniujmy nasz Adapter Bluetooth. Zrobimy to za pomocą polecenia:

Copy to Clipboard
Jeden adapter daje możliwość podłączenia tylko z jednym urządzeniem. Jeśli chcesz podłączyć np. dwie słuchawki, potrzebujesz dwóch adapterów.

Wynik tego polecenia dodamy za chwilę do naszego pliku chan_mobile.conf. Warto jednak gdzieś sobie zapisać adres MAC naszego nadajnika/odbiornika Bluetooth. Jeśli wykryło więcej urządzeń to możemy dodać do Asteriska jeden lub więcej adapterów.

Następne w kolejności będzie wykrycie urządzenia, z którym chcemy się połączyć. Włącz "wykrywanie" w słuchawce, a następnie wyszukaj urządzenia za pomocą:

Copy to Clipboard

To polecenie może zająć trochę więcej czasu i może być konieczne wykonanie go kilka razy, żeby znaleźć nasze urządzenie. W zależności od lokalizacji możesz znaleźć więcej urządzeń. Np. jeśli testy robisz w swoim biurze, to adapter może wykryć wszystkie smartfony, słuchawki, smartbandy Twoje i Twoich współpracowników.

Z listy wybierz urządzenie, które chcesz połączyć i zapamiętaj jego adres MAC.

Jeśli jeszcze nie stworzyłeś pliku chan_mobile.conf, to jest dobry moment. Warto przy tym pamiętać, żeby miał odpowiedniego "właściciela".

Copy to Clipboard

Wprowadźmy do pliku wszystkie uzyskane informacje.

Jedyna zmienna, której w tym momencie nie jesteśmy w stanie określić to port, więc na start możemy wpisać "1". Za chwilę to zmienimy.

Możemy teraz wrócić do konsoli Asteriska. Jeśli w pliku zawarliśmy całą niezbędną konfigurację, m.in. informacje o adapterze i słuchawce, to będziemy mogli poprawnie załadować moduł. Poniżej lista poleceń, które będziemy chcieli wykonać w konsoli (asterisk -rvvv):

Copy to Clipboard

Wyjaśnienie używanych poleceń:

  • module load chan_mobile.so – załadowanie modułu do obsługi kanałów mobilnych
  • mobile search – wykrywanie urządzeń Bluetooth
  • mobile show devices – wyświetlenie listy połączonych urządzeń

Polecenie mobile search wykryje nasze słuchawki oraz pokaże port, który będziemy mogli zaktualizować w pliku chan_mobile.conf.

Jak widać w powyższym przykładzie, wykryliśmy dla testu dwie słuchawki, ale wykorzystamy tylko jedną.

Na tym etapie możemy zrestartować centralę, żeby zastosować ustawienia.

Copy to Clipboard

Następnie (w konsoli Asteriska) ponownie wykonamy mobile search, żeby sparować naszą słuchawkę. Pamiętaj, żeby parowanie w słuchawce było aktywne.

Polecenie mobile show devices wyświetli nam informacje o połączonym urządzeniu.

Copy to Clipboard

3) Dodanie rozszerzenia (ang. extension)

Nasza słuchawka jest już sparowana, więc możemy przejść do dodania rozszerzenia (ang. extension) we FreePBX.

Zalogujmy się do systemu FreePBX przez przeglądarkę.

Z górnego menu "Applications" wybierz "Extensions". Na stronie "Extensions" dodamy nowy numer wewnętrzny i wybierzemy opcję "Add Custom Extension".

W pierwszej zakładce "General", przynajmniej w minimalnej koniecznej konfiguracji, interesują nas dwa pola. Poniżej zamieszczam przykładowe wartości z opisami:

  • User Extension: 200 (numer wewnętrzny, pod który należy zadzwonić, aby połączyć się z tym użytkownikiem.)
  • Display Name: nazwa (nazwa CallerID dla połączeń od tego użytkownika zostanie ustawiona na tę nazwę; wpisz nazwę, a NIE numer)

W trzeciej zakładce "Advanced" definiujemy ciąg tekstowy, który będzie odpowiedzialny za realizację połączeń ze słuchawką. Składa się z dwóch części: rodzaj kanału oraz  urządzenie do realizacji połączeń. Najczęściej będzie wyglądać następująco:

  • Dial: mobile/headset0

Pierwszą zmienną (dla połączeń ze słuchawkami) zawsze będzie mobile, a następnie nazwa słuchawki, którą zdefiniowaliśmy w chan_mobile.conf.

Po wprowadzeniu tych danych, zapisz konfigurację za pomocą przycisku "Submit", który zazwyczaj znajduje się w prawym dolnym rogu ekranu.

Następnie pozostaje tylko zatwierdzić całość z "Apply" i możesz od teraz odbierać połączenia przychodzące lub wewnętrzne na swojej słuchawce Bluetooth.

By Published On: 6 maja, 2021Categories: Przydatne porady, SamouczkiMożliwość komentowania Odbieraj połączenia przez zestaw słuchawkowy na RasPBX (z chan_mobile) została wyłączonaTags: , , ,