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))