Hallo zusammen!
Ich bin auch schon seit einer gefühlten Ewigkeit mit diesem Thema beschäftigt. ;-)
Ich möchte ein paar Dinge vorstellen, falls Ihr sie noch nicht kanntet:
Neben linphone gibt auch zwei Apps für linHOME: für iOS und für Android
Gibt es hier: https://www.linhome.org/software-products/white-label-app/
Hier werden technische Details zur Realsierung mit den Apps und flexisip gegeben: https://archive.fosdem.org/2020/sch...d_VoIP_network_for_video_intercom_systems.pdf
Hier wird das auch nochmal "high-level" besprochen: https://www.linphone.org/sites/default/files/solutions-intercomsystems.pdf
Diese Lösung basiert auf "Video mittels SIP". D.h., dass im SDP neben den Audio-Streams auch die Video-Streams mit gehandhabt werden.
Interessant bei der linhome-App ist, dass sie auch "Early Media" für Video kann. D.h. vor dem Abheben zeigt sie bereits den Video-Stream an.
Sobald man dann abhebt, kommt ein "RE-INVITE" mit einem SDP in dem dann auch der Audio-Stream enthalten ist.
Soweit so gut.
Ich habe nun das Problem, dass ich eine Wantec Monolith C/IP Sprechstelle habe. Die macht Audio über SIP/RTP und Video über HTTP(MJPEG).
Ich finde es unglaublich, dass es - zumindest für iOS - keine vernünftige gepflegte stabile App gibt, die ein SIP-Telefon darstellt, das einfach noch einen Video-Stream über RTSP bzw. HTTP darstellen kann. Das was ich gesehen habe, ist grottig zuzsammengeschustert und teilweise alt.
Unser Haushalt ist "Apple", daher weiß ich leider nicht, wie es im Android-Universum aussieht. (ok, die Wandtablets sind Android-Tabelts. ;-)
Was ich mir nun zur weiteren Evaluierung gebaut habe, ist folgendes:
1) modifizieter B2BUA
Ich habe ein paar Zeilen im Code modifiziert, so dass der Video-Stream nicht über das Video-Bridge-Modul läuft, sondern der B2BUA speist den per HTTP/RTSP empfangenen Stream direkt selbst ein, wenn er die App anruft. Das klappt sogar mit "early media video".
Auskommentieren: https://github.com/baresip/baresip-apps/blob/main/modules/b2bua/b2bua.c#L117-L118
Den Call zu
Dann hinten zwei zusätzliche Argumente für die Audio und die Video-Richtung. Bei Video ist es nur "SENDONLY". SENDRECV klappt mit der App nicht.
2) Reine iOS-Lösung: Homekit: homebridge-camera-ffmpeg plugin mit eingebautem SIP für Audio
Dieser PullRequest ist von mir: https://github.com/Sunoo/homebridge-camera-ffmpeg/pull/1253
Das Plugin vermittelt direkt die Audio-RTP Streams über SIP zwischen den beiden FFMPEG-Instanzen und der Türsprechstelle.
Der aktuelle Stand funzt bei mir zuhause sehr gut. Wenn es klingelt, gibt eine Push Notification von Home mit einem Snapshot der Kamera.
Wenn man drauf tippt, dann öffnet sich sofort das große Kamera-Bild und man hört Audio von der Türsprechstelle, da ein direkter IP-Call aufgebaut wurde (das geht sehr schnell bei mir). Wenn man dann auf den "Sprechen"-Button tippt, kann man zur Türsprechstelle sprechen.
Aktuell verfolge ich den Ansatz 1) erstmal weiter, da ich unabhängig von Apple und Homekit sein möchte.
Was mich interessiert: welche Apps kennt ihr noch, die SIP mit Video und vor allem "Early media" vernünftig unterstützen?
Falls man die linhome-Apps anpassen möchte:
Den Source Code für die linhome-Android App gibt es hier: https://gitlab.linphone.org/BC/public/linhome-android
Für iOS hier: https://gitlab.linphone.org/BC/public/linhome-ios/
Leider bringt mir das bei Apple nichts, da man ja bei Apple die Apps signieren muss. Selbst ohne Developer-Account funzt eine für private-zwecke signierte App nur max. 1 Woche (?), wenn man denn überhaupt einen Mac zum Entwickeln hat.
Ich bin auch schon seit einer gefühlten Ewigkeit mit diesem Thema beschäftigt. ;-)
Ich möchte ein paar Dinge vorstellen, falls Ihr sie noch nicht kanntet:
Linhome – open source VoIP software for door entry systems
Discover our open source VoIP software for door entry systems and intercom projects: VoIP SDK, embedded client, mobile app and SIP servers.
www.linhome.org
Gibt es hier: https://www.linhome.org/software-products/white-label-app/
Hier werden technische Details zur Realsierung mit den Apps und flexisip gegeben: https://archive.fosdem.org/2020/sch...d_VoIP_network_for_video_intercom_systems.pdf
Hier wird das auch nochmal "high-level" besprochen: https://www.linphone.org/sites/default/files/solutions-intercomsystems.pdf
Diese Lösung basiert auf "Video mittels SIP". D.h., dass im SDP neben den Audio-Streams auch die Video-Streams mit gehandhabt werden.
Interessant bei der linhome-App ist, dass sie auch "Early Media" für Video kann. D.h. vor dem Abheben zeigt sie bereits den Video-Stream an.
Sobald man dann abhebt, kommt ein "RE-INVITE" mit einem SDP in dem dann auch der Audio-Stream enthalten ist.
Soweit so gut.
Ich habe nun das Problem, dass ich eine Wantec Monolith C/IP Sprechstelle habe. Die macht Audio über SIP/RTP und Video über HTTP(MJPEG).
Ich finde es unglaublich, dass es - zumindest für iOS - keine vernünftige gepflegte stabile App gibt, die ein SIP-Telefon darstellt, das einfach noch einen Video-Stream über RTSP bzw. HTTP darstellen kann. Das was ich gesehen habe, ist grottig zuzsammengeschustert und teilweise alt.
Unser Haushalt ist "Apple", daher weiß ich leider nicht, wie es im Android-Universum aussieht. (ok, die Wandtablets sind Android-Tabelts. ;-)
Was ich mir nun zur weiteren Evaluierung gebaut habe, ist folgendes:
1) modifizieter B2BUA
b2bua module
Baresip is a modular SIP User-Agent with audio and video support - baresip/baresip
github.com
Auskommentieren: https://github.com/baresip/baresip-apps/blob/main/modules/b2bua/b2bua.c#L117-L118
Den Call zu
ua_connect()
ersetzen durch ua_connect_dir()
: https://github.com/baresip/baresip-apps/blob/main/modules/b2bua/b2bua.c#L103Dann hinten zwei zusätzliche Argumente für die Audio und die Video-Richtung. Bei Video ist es nur "SENDONLY". SENDRECV klappt mit der App nicht.
2) Reine iOS-Lösung: Homekit: homebridge-camera-ffmpeg plugin mit eingebautem SIP für Audio
Dieser PullRequest ist von mir: https://github.com/Sunoo/homebridge-camera-ffmpeg/pull/1253
Das Plugin vermittelt direkt die Audio-RTP Streams über SIP zwischen den beiden FFMPEG-Instanzen und der Türsprechstelle.
Der aktuelle Stand funzt bei mir zuhause sehr gut. Wenn es klingelt, gibt eine Push Notification von Home mit einem Snapshot der Kamera.
Wenn man drauf tippt, dann öffnet sich sofort das große Kamera-Bild und man hört Audio von der Türsprechstelle, da ein direkter IP-Call aufgebaut wurde (das geht sehr schnell bei mir). Wenn man dann auf den "Sprechen"-Button tippt, kann man zur Türsprechstelle sprechen.
Aktuell verfolge ich den Ansatz 1) erstmal weiter, da ich unabhängig von Apple und Homekit sein möchte.
Was mich interessiert: welche Apps kennt ihr noch, die SIP mit Video und vor allem "Early media" vernünftig unterstützen?
Falls man die linhome-Apps anpassen möchte:
Den Source Code für die linhome-Android App gibt es hier: https://gitlab.linphone.org/BC/public/linhome-android
Für iOS hier: https://gitlab.linphone.org/BC/public/linhome-ios/
Leider bringt mir das bei Apple nichts, da man ja bei Apple die Apps signieren muss. Selbst ohne Developer-Account funzt eine für private-zwecke signierte App nur max. 1 Woche (?), wenn man denn überhaupt einen Mac zum Entwickeln hat.
Zuletzt bearbeitet: