Klingel
SIP-Türklingel in „Ritto Minivox“-Gehäuse
Wenn die Klingel zickt, den AP beim Oszilloskop powercyclen.
Netzwerk | |
---|---|
IPv4 | 172.23.195.38 |
IPv6 | 2001:4dd0:ff00:9456::38 |
Hostname | klingel |
Switch | ap2 |
Port | – |
Dose | wifi |
Hardware
- Ritto Minivox-Gehäuse
- WRTnode
- USB-Soundkarte (vgl.)
- Strombezug über vorhandene Klingelinstallation, in der Hauptverteilung im EG die Sicherung B3.
- Gleichrichter → Fette Elkos → Step-Down mit LM2576
Software
- baresip
- Module: cons.so, g711.so, alsa.so, uuid.so (tmp), account.so (tmp), contact.so, menu.so
cons_listen 127.0.0.1:5555
- Module: cons.so, g711.so, alsa.so, uuid.so (tmp), account.so (tmp), contact.so, menu.so
/etc/rc.button/reset
#!/bin/sh [ "${ACTION}" = "released" ] || exit 0 logger "$BUTTON pressed for $SEEN seconds" [ ! -f /tmp/bell_triggered ] || exit 0 logger "bell triggered" touch /tmp/bell_triggered echo "/base" | nc 127.0.0.1 5555 (sleep 15 echo "l" | nc 127.0.0.1 5555 | grep RINGING if [ $? -eq 0 ] then echo "b" | nc 127.0.0.1 5555 fi rm /tmp/bell_triggered)&
/etc/asound.conf
pcm.!default { type asym playback.pcm "plug:softvol" capture.pcm "plug:dsnoop" } pcm.softvol { type softvol slave.pcm "dmix" control { name "PCM"; card 0; } max_dB 32.0 }
/etc/rc.local
alsactl -f /etc/alsa/alsa0.state restore 0
Patches OpenWRT
diff --git a/target/linux/ramips/dts/WRTNODE.dts b/target/linux/ramips/dts/WRTNODE.dts index 3fb2303..1926317 100644 --- a/target/linux/ramips/dts/WRTNODE.dts +++ b/target/linux/ramips/dts/WRTNODE.dts @@ -6,7 +6,15 @@ compatible = "wrtnode", "ralink,mt7620n-soc"; model = "WRTNODE"; + chosen { + bootargs = "console=ttyS0,115200"; + }; + palmbus@10000000 { + gpio1: gpio@638 { + status = "okay"; + }; + gpio2: gpio@660 { status = "okay"; }; @@ -72,9 +80,29 @@ pinctrl { state_default: pinctrl0 { default { - ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf"; + ralink,group = "ephy", "wled", "pa", "i2c", "wdt", "uartf", "spi refclk"; ralink,function = "gpio"; }; }; }; + + gpio-leds { + compatible = "gpio-leds"; + indicator { + label = "wrtnode:blue:indicator"; + gpios = <&gpio1 14 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + bell { + label = "bell"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; };
diff --git a/net/baresip/Makefile b/net/baresip/Makefile index a2be05a..eedde46 100644 --- a/net/baresip/Makefile +++ b/net/baresip/Makefile @@ -26,6 +26,8 @@ baresip-mods:= \ g722 \ oss \ speex \ + speex_aec \ + speex_pp \ stdio \ uuid \ v4l \ @@ -59,6 +61,8 @@ baresip-mod-g711 := USE_G711 baresip-mod-g722 := USE_G722 baresip-mod-oss := USE_OSS baresip-mod-speex := USE_SPEEX +baresip-mod-speex_aec := USE_SPEEX_AEC +baresip-mod-speex_pp := USE_SPEEX_PP baresip-mod-stdio := USE_STDIO baresip-mod-uuid := USE_UUID baresip-mod-v4l := USE_V4L @@ -140,6 +144,8 @@ $(eval $(call BuildPlugin,g711,G.711 audio codec,g711,)) $(eval $(call BuildPlugin,g722,G.722 audio codec,g722,+PACKAGE_baresip-mod-g722:libspandsp)) $(eval $(call BuildPlugin,oss,OSS audio driver,oss,)) $(eval $(call BuildPlugin,speex,Speex audio codec,speex,+PACKAGE_baresip-mod-speex:libspeex)) +$(eval $(call BuildPlugin,speex_aec,Speex acoustic echo canceller,speex_aec,+PACKAGE_baresip-mod-speex_aec:libspeexdsp)) +$(eval $(call BuildPlugin,speex_pp,Speex preprocessor,speex_pp,+PACKAGE_baresip-mod-speex_pp:libspeexdsp)) $(eval $(call BuildPlugin,stdio,standard I/O UI,stdio,)) $(eval $(call BuildPlugin,uuid,UUID,uuid,+libuuid)) $(eval $(call BuildPlugin,v4l,Video4Linux video source,v4l,+PACKAGE_baresip-mod-v4l:libv4l))