☎ AIS SIP (VoIP) Serwer / Broker na Bramce AIS

AIS SIP (IP Phone) Serwer / Broker na Bramce AIS

:phone:

image

Jak podaje Wikipedia SIP to:

W AIS OTA umieśliliśmy serwer SIP który można zainstalować na bramce

Instalacja ręczna

Najłatwiej chyba z konsoli:

Pobieramy aplikację na bramkę

curl -L https://powiedz.co/ota/android/AIS-sip-server.apk -o /sdcard/AIS-sip-server.apk

Instalujemy programem pm (Android package manager)

su -c 'pm install /sdcard/AIS-sip-server.apk'

Uruchamiamy programem am (Android application manager)

su -c 'am start -n com.aispeaker.sipserver/.USipServerActivity'

Aktywność z aplikacją pojawi się na chwilę i zniknie ale serwer będzie działał cały czas jako usługa i będzie się uruchamiał podczas startu bramki.

Sprawdzenie działania aplikacji

Żeby zobaczyć aplikację możemy się podłączyć do bramk zdalnym pulpitem:

adb connect <ip.bramki>
scrcpy

Klikamy w AIS Explorera:

wybieramy aplikacje użytkownika i otwieramy aplikacje:

Teraz zobaczmy aktywność aplikacji, aplikacja jest uruchomiona (będzie działała cały czas w tle):

Rejestracja klientów

Docelowo jednym z klientów SIP będzie pewnie widodomofon a drugim oczywiście aplikacja AIS dom na tablecie. Opiszemy to dokładniej jak już opublikujemy aplikację.

W tej chwili możemy sprawdzić działanie serwera SIP na bramce AIS dom, łącząc się dowolnymi dwoma klientami SIP.

W moim przypadku 1 klient to aplikacja linphone a drugi to wideodomofon SIP:

https://www.linphone.org/

Konfiguracja w każdej aplikacji jest podobna, w linphone wygląda to tak:

  1. dodajemy konto SIP

  2. wypełniamy dane o koncie

:warning: ważne są 2 rzeczy Domena - IP Bramki i transport UDP
reszta jest nie ważna, można podać dowolną nazwę użytkownika i hasło (wyłączyliśmy autentykacje żeby było prościej)

Efekt powinien być taki:
image

Na serwerze SIP powinien pojawić się kolejny klient:

Pominę jak skonfigurować domofon bo to zależy od producenta.

Dzwonienie

Jak ktoś nie ma domofonu SIP a chce rozmawiać za pomocą VoIP w domu to może zanstalować aplikację do SIP na telefonie, tablecie i do siebie dzwonić w domu :wink: za darmo przez bramkę VoIP na bramce AIS dom.

image

Już można sobie porozmawiać w 2 strony

Integracja z AI-Speaker / HA

:warning: To wymaga wersji Jarek która wydana jest na beta:

Dodaliśmy w systemie zdarzenie ais_sip_event gdy dochodzi do dzownienia pomiędzy klientami to to uruchamiane jest zdarzenie ais_sip_event:

Na podstawie tego możemy robić powiadomienia i wyświetlać status (informacja, że ktoś dzwoni w aplikacji), wyjaśnimy to bardziej niebawem.

W następny opisie dodamy informację jak uruchomić klienta SIP w aplikacji AIS dom na tablecie tak żeby pojawiała się aktywność wideo podczas gdy ktoś dzwoni domofnem:


Zapraaszmy do testów :wink:

Jeżeli komuś nie uda się tego zrobić (porozmawiać za pomocą brokera SIP na bramce AIS), to nie ma się czym przejmować, czasami pakiety UDP mogą być przycinane w sieci itd… to trudne rzeczy są.
Jak się nie uda to można spokojnie poczekać na projekt AIS Easy i wtedy się napewno uda.

5 polubień

fajnie, sam bawiłem się SIPem na swoim Fritz BOXie i uruchomiłem stare VoIPy Cisco 7970 za 15 zł :grin: gadają też z softwareowym SIP Phone pod Windows.

Nie mam bramki AIS ale zainstalowałem paczkę AIS-sip-server na Androidzie (uruchomionym w VirtualBox na Windowsie 10 - może da się prościej ale jakoś trzeba sobie radzić :grinning:), na laptopie zainstalowałem i zarejestrowałem klienta MicroSIP a na telefonie Zoiper SIP VOIP Softphone, bez problemu można rozmawiać między urządzeniami za pośrednictwem AIS SIP (VoIP) Serwer:

image

Jakieś scenariusze do przetestowania? Napewno przekierowanie (transfer) odebranej rozmowy z AIS dom na tablecie na inny telefon z AIS dom:
Warto od razu wspomnieć, że w niektórych przypadkach zawsze jest możliwość wyboru dwóch opcji przekierowania - blind transfer i attended transfer. Różnica jest prosta - w pierwszym przypadku osoba po prostu przekazuje połączenie od abonenta A do abonenta B i natychmiast rozłącza się z rozmową. W drugim przypadku przed przekazaniem osoba odbierająca może powiadomić abonenta B o połączeniu (tzw. komunikat głosowy) i dopiero po rozłączeniu rozmowy, abonenci A i B są połączeni.
Czy takie rozwiązane jest brane pod uwagę?
Czy rozwiązanie wideodomofonu planowane jest jako “wielorodzinne”, wystarczy dwurodzinny?

2 polubienia

nie wspieramy innych sprzętów niż nasze… a już napewno nie tego typu kombinacje
szkoda czasu, jeżeli nawet coś nie będzie działało to i tak nikt tego nie będzie w stanie odtworzyć i poprawić

Ja tylko chciałem pomóc :slight_smile:.

1 polubienie

Myślę tylko czy na podstawie taniej kamery internetowej z mikrofonem można by zbudować domofon.
Lub nawet na jakimś układzie z esp32. :slightly_smiling_face::slightly_smiling_face:
Może ktoś zna takie projekty które działają ?

1 polubienie

Raz robiłem taki domofon odporny na brak pradu :muscle:

“Paper Cup Telephone | DIY for Beginners | KiwiCo” Paper Cup Telephone | DIY for Beginners | KiwiCo

2 polubienia

Super. I od razu mamy do tego integrację na AISowych bramkach :slight_smile: Brawo @jolka :slight_smile:

1 polubienie

czyli opcja domofonu będzie możliwa tylko dla aplikacji AIS ?

Chciałbym to wdrożyć u siebie, zwłaszcza, że korzystam z VoIP telefonu.
Mam tylko kilka pytań do @jolka lub zespołu AIS…

  1. Czy planowane jest jakaś włączenie AIS SIP Server do całej paczki HA. Zmierzam do tego, że w przypadku resetu bramko do ustawień początkowych i przywracanie z backupu spowoduje, że AIS SIP Server również zostanie zainstalowany jako integralna część, czy zawsze trzeba będzie go doinstalowywać ręcznie? O tyle to dla mnie istotne, że już zdarzyły mi się przypadki odbudowy bramki, więc im szybciej odbudowa będzie trwać tym lepiej…
  2. Jak rozumiem będę mógł tu podłączyć a raczej obsługiwać zewnętrznego klienta VoIP (numer miejski)

pytania może trochę głupie, ale poza obrazkami z opisu nic nie widziałem, stąd pytania.
A może warto poczekać na kolejne wydanie aktualizacji które będzie zawierać w sobie serwer SIP…?

Na oba odpowiedź to raczej tak ale będziesz musiał doinstalować wszystko “po formacie”

Właśnie dlatego czekam na odpowiedź od @jolka gdyż jeżeli AIS SIP miałby stać się integralną częścią, ale np. za 1 lub 2 aktualizacje, to mogę poczekać…

Zakładam też, że jeżeli by tak było to backupem objęte byłoby i to…

Jeżeli nie, to pobawię się na własną rękę żeby ocenić czy jest mi to potrzebne bo video domofonu nie posiadam, ale z tego co rozumiem nie jest to “must have” :slight_smile:

Mam świeżą bramkę DEV3 i na niej próbowałem zainstalować SIP.
Chyba na DEV3 coś się zmieniło z uprawnieniami bo dostaję coś takiego:
su -c ‘pm install /sdcard/AIS-sip-server.apk’
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=1

uprawnienia do samego pliku .apk są w porządku
Terminal odpalam z poziomu przeglądarki

Jednak pomimo tego błędu instalacja “chyba” się udała.
Teraz próbuję próbuję podłączyć wideodomofon akuvox’a, napiszę jak skończę :slight_smile:

1 polubienie

Serwer pracuje poprawnie, udało mi się skonfigurować system do pracy z wideodomofonem AKUVOX.
Natrafiłem jednak na dwa drobne problemy z obsługą w aplikacji AIS dom:

  1. Aplikacja nie “wyskakuje” na wierzch przy połączeniu przychodzącym z domofonu, jeśli ręcznie ją otworzę to potem działa normalnie, sprawdzałem różne ustawienia w telefonie i nic nie pomogło
    Może ktoś już znalazł rozwiązanie?

  2. Przy odbieraniu połączenia w wideodomofonu nakłada się dźwięk z rozmowy audio z tym który idzie strumieniem rtsp, mogę w akuvox’ie wyłączyć audio w rtsp, ale to nie jest najlepsze rozwiązanie.

I jeszcze mała propozycja rozwojowa: sterowanie otwieraniem przekaźnika via DTMF. Obecne rozwiązanie z URL-em działa, ale wymaga podawania jawnie użytkownika i hasła w URL-u co nie jest zbyt eleganckie.

Ja ze swoim VTO Dahua mam identyczne objawy. Dodatkowy problem, nie udało mi się namierzyć prawidłowego URL do komendy otwierania furtki.

Komendę do otwierania furtki dostałem od sprzedawcy urządzenia, u mnie wygląda to następująco:
http://adres_wideotelefonu/fcgi/do?action=OpenDoor&UserName=user&Password=passwd&DoorNum=1
Trzeba było jeszcze ustawić opcję “Session check” na disabled w akuvox’ie - co w sumie nie było oczywiste.
Dlatego zaproponowałem możliwość sterowania furtką przez DTMF-a :slight_smile:

2 polubienia