NEWS
Test Adapter doorio v2.1.2
-
@aingtii ,
# # baresip configuration # #------------------------------------------------------------------------------ # Core poll_method epoll # poll, select, epoll .. # SIP sip_listen 0.0.0.0:5060 #sip_certificate cert.pem # Call call_local_timeout 20 call_max_calls 2 # Audio audio_path /usr/local/share/baresip #audio_player alsa,default #audio_source alsa,default #audio_alert alsa,null audio_player pulse,noecho.sound_out audio_source pulse,noecho.mic_in audio_alert pulse,noecho.sound_out #ausrc_srate 48000 #auplay_srate 48000 #ausrc_channels 0 #auplay_channels 0 #audio_txmode poll # poll, thread audio_level no ausrc_format s16 # s16, float, .. auplay_format s16 # s16, float, .. auenc_format s16 # s16, float, .. audec_format s16 # s16, float, .. # Video #video_source v4l2,/dev/video0 #video_display x11,nil video_size 352x288 video_bitrate 500000 video_fps 25.00 video_fullscreen yes videnc_format yuv420p # AVT - Audio/Video Transport rtp_tos 184 #rtp_ports 10000-20000 #rtp_bandwidth 512-1024 # [kbit/s] rtcp_mux no jitter_buffer_delay 5-10 # frames rtp_stats no #rtp_timeout 20 # Network #dns_server 10.0.0.1:53 #net_interface eth0 # BFCP #bfcp_proto udp #------------------------------------------------------------------------------ # Modules module_path /usr/local/lib/baresip/modules # UI Modules module stdio.so #module cons.so #module evdev.so #module httpd.so # Audio codec Modules (in order) #module opus.so #module amr.so #module g7221.so #module g722.so #module g726.so module g711.so #module gsm.so #module l16.so #module bv32.so #module mpa.so #module codec2.so #module ilbc.so #module isac.so # Audio filter Modules (in encoding order) #module vumeter.so #module sndfile.so #module speex_aec.so #module speex_pp.so #module plc.so # Audio driver Modules #module alsa.so module pulse.so #module jack.so #module portaudio.so #module aubridge.so #module aufile.so # Video codec Modules (in order) #module avcodec.so #module vp8.so #module vp9.so #module h265.so # Video filter Modules (in encoding order) #module selfview.so #module snapshot.so #module swscale.so #module vidinfo.so # Video source modules #module v4l2.so #module v4l2_codec.so #module avformat.so #module x11grab.so #module cairo.so #module vidbridge.so # Video display modules #module directfb.so #module x11.so #module sdl2.so #module fakevideo.so # Audio/Video source modules #module rst.so #module gst1.so #module gst_video1.so # Media NAT modules #module stun.so #module turn.so #module ice.so #module natpmp.so #module pcp.so # Media encryption modules #module srtp.so #module dtls_srtp.so #module zrtp.so #------------------------------------------------------------------------------ # Temporary Modules (loaded then unloaded) #module_tmp uuid.so module_tmp account.so #------------------------------------------------------------------------------ # Application Modules #module_app auloop.so #module_app b2bua.so #module_app contact.so module_app debug_cmd.so #module_app dtmfio.so #module_app echo.so #module_app gtk.so module_app menu.so #module_app mwi.so #module_app presence.so module_app syslog.so #module_app mqtt.so module_app ctrl_tcp.so #module_app vidloop.so #------------------------------------------------------------------------------ # Module parameters # UI Modules parameters cons_listen 0.0.0.0:5555 # cons http_listen 0.0.0.0:8000 # httpd - server ctrl_tcp_listen 0.0.0.0:4444 # ctrl_tcp evdev_device /dev/input/event0 # Opus codec parameters opus_bitrate 28000 # 6000-510000 #opus_stereo yes #opus_sprop_stereo yes #opus_cbr no #opus_inband_fec no #opus_dtx no #opus_mirror no #opus_complexity 10 #opus_application audio # {voip,audio} # Opus Multistream codec parameters #opus_ms_channels 2 #total channels (2 or 4) #opus_ms_streams 2 #number of streams #opus_ms_c_streams 2 #number of coupled streams vumeter_stderr yes # Selfview video_selfview window # {window,pip} #selfview_size 64x64 # ICE ice_turn no ice_debug no ice_nomination regular # {regular,aggressive} ice_mode full # {full,lite} # ZRTP #zrtp_hash no # Disable SDP zrtp-hash (not recommended) # Menu #menu_bell yes #redial_attempts 3 # Num or <inf> #redial_delay 5 # Delay in seconds #ringback_disabled yes #statmode_default off # avcodec #avcodec_h264enc libx264 #avcodec_h264dec h264 # h265 #h265_encoder libx265 #h265_decoder hevc # MQTT #mqtt_broker_host localhost #mqtt_broker_port 1883 #mqtt_broker_clientid baresip #mqtt_broker_user pi #mqtt_broker_password raspberry #mqtt_basetopic doorio
du wirst nur auf alsa umstellen müssen.
-
@aingtii sagte in Test Adapter doorio v1.1.x:
Wobei ich mich dann frage warum es ein Unterschied ist ob manuell oder per system gestartet
der Unterschied ist, das von der Konsole gestartet alle Dienste schon geladen sind und evtl. andere Rechte gesetzt sind.
Das Videoding würde ich erstmal weg lassen bis Audio funktioniert. -
Hallo zusammen!
Nachdem ich seit ein paar Jahren den DoorPi in Betrieb habe, möchte ich aufgrund der bekannten Einschränkungen gerne eine neue Anlage aufbauen.An dieser Stelle ein herzliches Dankeschön an @Wal für die hervorragende Arbeit. Ich bin zwar Informatiker, doch teilweise sprengt das Wissen, das du hier an den Tag legst, einfach meinen Rahmen, deshalb bin ich froh, dass du das Projekt hier so vorantreibst
Zu meinem Problem:
Die Installation und Konfiguration aller Komponenten hat soweit ganz gut geklappt, und das Gegensprechen im Testaufbau funktioniert auch super. Allerdings habe ich dasselbe Problem wie @AingTii bereits geschildet hatte - baresip als Service möchte anscheinend als nicht-pi-User auf pulseaudio zugreifen, was dann in einer "connection refused" Fehlermeldung endet. Der Start von Hand als pi-User funktioniert tadellos.Da ich nun seit mehreren Stunden erfolglos versucht habe, das Probelm zu lösen, wollte ich euch mal fragen, ob es in der Zwischenzeit gelöst werden konnte?
Was mich stutzig macht, ist die Tatsache, dass baresip, sobald ich sudo verwende, anscheinend auch nicht unter dem normalen User gestartet wird. Ich bin bisher immer davon ausgegangen, dass ein sudo die User-Rechte erweitert, aber nicht einen Wechsel auf root vollzieht... sehr seltsam. Könnt ihr mir vielleicht einen Denkanstoß geben? Gerne share ich auch Logs o.ä., aber ich wollt's im ersten Post nicht übertreibenViele Grüße,
Marcus -
@m4rcus sagte in Test Adapter doorio v1.1.x:
sudo die User-Rechte erweitert, aber nicht einen Wechsel auf root vollzieht
pi@chet:/opt/iobroker $ sudo whoami root pi@chet:/opt/iobroker $ sudo -u iobroker whoami iobroker pi@chet:/opt/iobroker $ whoami pi
-
@thomas-braun
Genau, das hatte ich dann auch festgestellt. Allerdings frage ich mich, wie @Wal dann seinen Service ans Laufen bekommen hat... -
@m4rcus ,
hängt die Sprechanlage an WLan oder an Lan ?
Seit dem neuen RPI-OS wird Pulseaudio nicht mehr als Service gestartet, sondern startet automatisch wenn ein Programm z.B. Baresip Pulseaudio anfordert.Habe heute erst wieder DoorIO neu installiert, wir können eine Schritt für Schritt Anleitung erstellen falls du möchtest.
-
@wal
Momentan habe ich einen RPi3 mit PiFace2 als Testaufbau im WLAN hängen, auf dem ich nach diesem Thread hier alles konfiguriert und installiert habe. Es wäre aber auch kein Problem, ihn mit LAN zu versorgen.[...] sondern startet automatisch wenn ein Programm z.B. Baresip Pulseaudio anfordert.
Ich denke, genau das wird mir dann zum Verhängnis. Ich sehe die Fehlermeldungen, sobald baresip die Pulseaudio-Adapter beim Start zu initialisieren versucht.
Bei einer Schritt-für-Schritt-Anleitung wäre ich sofort dabei, aber ich habe auch fleißig jeden Schritt dokumentiert - solltest du Interesse haben, kann ich dir das Ganze zukommen lassen.
Ich werde wohl heute nicht mehr online sein, aber ich denke morgen sollte ich etwas Zeit freischaufeln können.
Viele Grüße!
-
@m4rcus ,
lasse WLan mal weg und mach mal so wie ich installiert habe.
Mit dem RPI-OS-Imager das Lite Image schreiben und vor dem einlegen in den RPI die Datei config.txt auf der SD-Karte bearbeiten :# turn wifi and bluetooth off dtoverlay=disable-wifi dtoverlay=disable-bt # Enable audio (loads snd_bcm2835) dtparam=audio=off
das ist selbsterklärend
Für Fernzugriff eine Datei ssh in boot erzeugen.
SD-Karte einlegen und booten.Konsole öffnen und Befehle abarbeiten
- Password für Nutzer pi ändern
- Localisation und Timezone setzen
- Hostname setzen
- reboot aus raspi-config machen
- Pakete updaten
- benötigte Pakete installieren
passwd sudo raspi-config sudo apt update sudo apt full-upgrade sudo loginctl enable-linger pi sudo apt install libspandsp-dev libasound2-dev pulseaudio libpulse-dev git mc cmake libjpeg-dev automake autoconf libtool libsamplerate0-dev libspeexdsp-dev libspeex-dev libasound2-doc python3-pip sudo reboot
Soundkarte einrichten:
pactl list sudo nano /etc/pulse/default.pa sudo reboot
ich denke das hast du schon hinbekommen, da Baresip auf der Konsole ja läuft.
alsamixer
testen ob pulseaudio im alsamixer als default gesetzt ist.
wget https://github.com/baresip/baresip/archive/refs/tags/v1.1.0.tar.gz wget https://github.com/baresip/re/archive/refs/tags/v2.0.1.tar.gz wget https://github.com/baresip/rem/archive/refs/tags/v1.0.0.tar.gz tar -xvzf v1.1.0.tar.gz tar -xvzf v2.0.1.tar.gz tar -xvzf v1.0.0.tar.gz cd re-* make sudo make install sudo ldconfig cd .. cd rem* sudo make install sudo ldconfig cd .. cd bare* sudo make install sudo ldconfig cd .. baresip -vvv nano .baresip/accounts nano .baresip/config
baresip installieren und die configs anpassen.
config genau so bitte:
# # baresip configuration # #------------------------------------------------------------------------------ # Core poll_method epoll # poll, select, epoll .. # SIP sip_listen 0.0.0.0:5060 #sip_certificate cert.pem # Call call_local_timeout 20 call_max_calls 2 # Audio audio_path /usr/local/share/baresip #audio_player alsa,default #audio_source alsa,default #audio_alert alsa,null audio_player pulse,noecho.sound_out audio_source pulse,noecho.mic_in audio_alert pulse,noecho.sound_out #ausrc_srate 48000 #auplay_srate 48000 #ausrc_channels 0 #auplay_channels 0 #audio_txmode poll # poll, thread audio_level no ausrc_format s16 # s16, float, .. auplay_format s16 # s16, float, .. auenc_format s16 # s16, float, .. audec_format s16 # s16, float, .. # Video #video_source v4l2,/dev/video0 #video_display x11,nil video_size 352x288 video_bitrate 500000 video_fps 25.00 video_fullscreen yes videnc_format yuv420p # AVT - Audio/Video Transport rtp_tos 184 #rtp_ports 10000-20000 #rtp_bandwidth 512-1024 # [kbit/s] rtcp_mux no jitter_buffer_delay 5-10 # frames rtp_stats no #rtp_timeout 20 # Network #dns_server 10.0.0.1:53 #net_interface eth0 # BFCP #bfcp_proto udp #------------------------------------------------------------------------------ # Modules module_path /usr/local/lib/baresip/modules # UI Modules module stdio.so #module cons.so #module evdev.so #module httpd.so # Audio codec Modules (in order) #module opus.so #module amr.so #module g7221.so #module g722.so #module g726.so module g711.so #module gsm.so #module l16.so #module bv32.so #module mpa.so #module codec2.so #module ilbc.so #module isac.so # Audio filter Modules (in encoding order) #module vumeter.so #module sndfile.so #module speex_aec.so #module speex_pp.so #module plc.so # Audio driver Modules #module alsa.so module pulse.so #module jack.so #module portaudio.so #module aubridge.so #module aufile.so # Video codec Modules (in order) #module avcodec.so #module vp8.so #module vp9.so #module h265.so # Video filter Modules (in encoding order) #module selfview.so #module snapshot.so #module swscale.so #module vidinfo.so # Video source modules #module v4l2.so #module v4l2_codec.so #module avformat.so #module x11grab.so #module cairo.so #module vidbridge.so # Video display modules #module directfb.so #module x11.so #module sdl2.so #module fakevideo.so # Audio/Video source modules #module rst.so #module gst1.so #module gst_video1.so # Media NAT modules #module stun.so #module turn.so #module ice.so #module natpmp.so #module pcp.so # Media encryption modules #module srtp.so #module dtls_srtp.so #module zrtp.so #------------------------------------------------------------------------------ # Temporary Modules (loaded then unloaded) #module_tmp uuid.so module_tmp account.so #------------------------------------------------------------------------------ # Application Modules #module_app auloop.so #module_app b2bua.so #module_app contact.so module_app debug_cmd.so #module_app dtmfio.so #module_app echo.so #module_app gtk.so module_app menu.so #module_app mwi.so #module_app presence.so module_app syslog.so #module_app mqtt.so module_app ctrl_tcp.so #module_app vidloop.so #------------------------------------------------------------------------------ # Module parameters # UI Modules parameters cons_listen 0.0.0.0:5555 # cons http_listen 0.0.0.0:8000 # httpd - server ctrl_tcp_listen 0.0.0.0:4444 # ctrl_tcp evdev_device /dev/input/event0 # Opus codec parameters opus_bitrate 28000 # 6000-510000 #opus_stereo yes #opus_sprop_stereo yes #opus_cbr no #opus_inband_fec no #opus_dtx no #opus_mirror no #opus_complexity 10 #opus_application audio # {voip,audio} # Opus Multistream codec parameters #opus_ms_channels 2 #total channels (2 or 4) #opus_ms_streams 2 #number of streams #opus_ms_c_streams 2 #number of coupled streams vumeter_stderr yes # Selfview video_selfview window # {window,pip} #selfview_size 64x64 # ICE ice_turn no ice_debug no ice_nomination regular # {regular,aggressive} ice_mode full # {full,lite} # ZRTP #zrtp_hash no # Disable SDP zrtp-hash (not recommended) # Menu #menu_bell yes #redial_attempts 3 # Num or <inf> #redial_delay 5 # Delay in seconds #ringback_disabled yes #statmode_default off # avcodec #avcodec_h264enc libx264 #avcodec_h264dec h264 # h265 #h265_encoder libx265 #h265_decoder hevc # MQTT #mqtt_broker_host localhost #mqtt_broker_port 1883 #mqtt_broker_clientid baresip #mqtt_broker_user pi #mqtt_broker_password raspberry #mqtt_basetopic doorio
testen ob baresip so läuft:
baresip -vvv
Autostart als User einrichten:
mkdir -p ~/.config/systemd/user/ nano ~/.config/systemd/user/baresip.service
das einfügen:
[Unit] Description=baresip [Service] ExecStart=/usr/local/bin/baresip -4 -f /home/pi/.baresip [Install] WantedBy=default.target
aktivieren und reboot:
systemctl --user daemon-reload systemctl --user enable baresip.service sudo reboot
bitte die configs und Befehle erst einmal so lassen.
das wars. -
Also ich habe es so nicht hinbekommen, leider ist der baresip Support nicht so princkelnd, auch bezüglich installation usw.
obwohl anscheinend dran entwickelt wird.Ich habe das Problem so nicht lösen können, dass beim autostart von baresip der Anruf bei annahme gleich wieder aufgelegt wurde.
Da ich eh Alles mit NodeRed steuere habe ich dort beim start von NodeRed eingebaut danach per consolenbefehl
baresip zu starten.Allgemein bin ich noch nicht zufrieden damit, wenn ich eine Mobilnummer anrufe, dauert es mir zu lange,
ist aber ja allgemein so bis es klingelt, ich denke mal viel vor allem Paketboten sind dann schon weg.
Ich habe mir daher eine Voip nummer angelegt, das geht schon mal schneller.Da fehlt mir noch das Videobild von der Tür.
Da bin ich mir nicht sicher, ob es Baresip unterstützt und der voip Anbieter auch.Ich bin echt am überlegen, ob man da nicht ein komplettes gemeinsames Projekt draus machen kann,
auf der einen Seite der Rapi mit einer Software, die Audio/Video streamt und auch ein Klingelsignal gibt
und auf der anderen Seite eine App die zumindest auf Knopfdruck Audio streamt und das Klingelsignal aufnimmt
und auf dem Smartphone signalisiert.
Aber ich habe noch nichts das richtig gefunden.
Normal würde man sagen das kann doch nicht so schwer sein, aber man findet fast nichts...
Außer fertige teure Lösungen.Gehört hier aber ja auch nicht wirklich her.
Gruß
Jens -
Vielleicht probiere ich das auch nach Deiner Anleitung mal komplett durch ob das Problem dann weg ist.
Sieht auf jeden Fall gut aus und detaillierter!Ich gebe Rückmeldung
Danke
Gruß Jens -
@aingtii ,
wie schon gesagt nutze ich Baresip ohne Video, da das Fritzfon einen externen Stream nutzt. Wenn ich mal Zeit finde, versuche ich mal Video einzubinden um über eine Sipapp zu kommunizieren. -
Hallo zusammen,
@Wal :
nach einem doch etwas turbulenteren Wochenende habe ich deine Anleitung durchgearbeitet, und siehe da: Es funktioniert!Ich denke, die geheime Zutat war
sudo loginctl enable-linger pi
in Verbindung mit
mkdir -p ~/.config/systemd/user/ nano ~/.config/systemd/user/baresip.service
Der baresip Service läuft jetzt für den user pi und somit meckert Pulseaudio auch nicht. Nachdem baresip korrekt installiert war, war das Nachziehen von iobroker, doorio und mqtt-io im Vergleich dazu ein Kinderspiel.
@AingTii: Ich gebe dir vollkommen recht - die "Doku" von baresip ist etwas lückenhaft
Videostreaming fänd ich auch sehr interessant, aber ich habe da auch noch nicht von wirklich lauffähigen Projekten gehört.Jetzt werde ich erstmal schauen, dass ich wirklich alles bootfest konfiguriert bekomme, und dann geht der Pi erstmal an die Hausklingel für einen Feldtest Verkabelung steht ja schon...
Vielen Dank für die Hilfe und die ausführliche Anleitung!
-
@m4rcus ,
das Problem ist das man gefühlt alle 4 Wochen die Anleitungen überarbeiten müsste, um mit den Updates von Linux Schritt zu halten. Das Ausführen als User hat die ganze Zeit im normalen Systemd-Daemon funktioniert, wenn der User und die Gruppe im Daemon-Script angegeben wurde. Das das nicht mehr funktioniert habe ich bei der letzten Neuinstallation auf meinem Testsystem erst gemerkt. Danach war eine Google Langzeitsession von Nöten um das wieder gerade zu biegen, das ist ab und zu sehr nervig. -
@m4rcus sagte in Test Adapter doorio v1.1.x:
Nachdem baresip korrekt installiert war, war das Nachziehen von iobroker, doorio und mqtt-io im Vergleich dazu ein Kinderspiel.
Bei mqtt-io gibt es z.Z. auch ein Problem, deshalb bin ich auf pi-mqtt-gpio zurück gegangen.
Wenn der MQTT-Server neu gestartet wird z.B. bei einem ioBroker update, verbindet sich der mqtt-io Client nicht sofort wieder. Erst nachdem versucht wird eine Nachricht an den Server zu schicken wie zum Beispiel beim Klingeln, verbindet er sich wieder. Da wird aber das Klingeln verschluckt. Der pi-mqtt-gpio Client verbindet sich sofort wieder. -
@wal
Moin, wie aktuell ist denn das Image, welches in der Anleitung zum Download steht?
Ist das mit aktueller Konfiguration, mqtt und mjpg? -
@renegade-0 ,
nicht sehr aktuell ist noch vom letzten Jahr und auch nicht RPI-OS. -
@wal
Ach so, was für ein OS hast du genutzt?Schade, aber dann werd ich mir eines mim lite aufbauen.
-
@renegade-0,
das war vor RPI-OS und war Raspbian Stretch.
Die Anleitung für RPI-OS-Lite ist ja weiter oben zu finden. -
@m4rcus ,
das Problem ist das man gefühlt alle 4 Wochen die Anleitungen überarbeiten müsste, um mit den Updates von Linux Schritt zu halten. Das Ausführen als User hat die ganze Zeit im normalen Systemd-Daemon funktioniert, wenn der User und die Gruppe im Daemon-Script angegeben wurde. Das das nicht mehr funktioniert habe ich bei der letzten Neuinstallation auf meinem Testsystem erst gemerkt. Danach war eine Google Langzeitsession von Nöten um das wieder gerade zu biegen, das ist ab und zu sehr nervig.@Wal: Stimmt, die Linux-Updates können schonmal vieles durcheinander bringen. Ich frage mich, ob man die Grundinstallation in ein Dockerfile bzw. mehrere kippen könnte... das will ich mal ausprobieren, wenn ich etwas mehr Zeit finde. Momentan sind wir vor ein paar Wochen Eltern geworden und dementsprechend ist die Zeit etwas rar gesät
Aber vom Ansatz her könnte man doch den baresip und den mqtt-Server in separaten Docker-Images betreiben. iobroker gibt es ja schon als Docker-Variante, welche ich auch im Einsatz habe. Zumindest würde man damit die Linux-Updates in den Griff bekommen - und bei Bedarf könnte man das Image dann durch eine neuere Version ersetzen oder eben einen Fallback durchführen, wenn man alles zerfummelt hat
Ich habe ja bereits eine fertige Klingel-Installation mit aktuell noch DoorPi hier, daher bin ich auch darauf angewiesen, dass ich auch zukünftig eine Lösung ans Laufen bekomme. Ich bleibe also dran.
-
Hallo Walter,
Ich wollte ja noch mal Rückmeldung geben bezüglich der Anleitung.
Erst mal, funktionert sie soweit bis die Fehlermeldung mit dem X11 kommt.Evtl. könntest Du das noch mit einbauen, dass man vor der Installation noch X11 installieren muss?
Du hast es ganz oben beschrieben, konnte ich aber nicht testen, da ich es übersudo apt-get install libxext-dev
Ob das nun richtig ist kann ich nicht sagen....
installiert habe und erst nachher gesehen hatte das oben noch was von baresip-x11 stand.
pulse audio kriege ich irgendwie nicht hin, also zickt bei dem neu aufgesetzen ebenfalls, bekomme kein Audio raus.
Da hätte ich die Frage, was hat es für einen Grund dass Du pulse benutzt anstatt alsa?
Evtl. könntest Du die pulse installation und Einrichtung noch etwas detaillierter erklären,
wäre für mich auf jeden Fall HilfreichDann habe ich einen 3cx server aufgesetzt in der Hoffnung das ganze besser zu managen und auch Video
benutzten zu können, der SIP Bereich der Fritzbox scheint es nicht zu unterstützen.Da käme noch die Frage, hast Du evtl. eine Idee wie ich in baresip den VideoCodec vp8 installiere?
Wenn ich den in der config aktiviere, kommt ne Fehlermeldung, kann nicht gefunden werden udn die vp8.so ist auch nicht
da, obwohl im github im src vp8 vorhanden ist.Danke
Gruß Jens