Sip2Feldtelefon
Da unsere Klingel und unser SIP-Telefon sehr unzuverlässig funktionieren gibt es die Idee die Feldtelefon an das SIP-Netzwerk anzuschließen.
Um das Projekt umzusetzen wird aktuell ein Programmierer benötigt.
benötigte Hardware
- Computer (cubieboard, raspberry Pi, …)
- Feldtelefon (oder anderes Telefon, welches mit zwei Drähten funktioniert)
- usbb2k
- wahrscheinlich noch einen powered USB-Hub
benötigte Software
- angepasster SIP-client
- usbb2k-api
Funktionsweise
Die usbb2k-Box meldet sich unter Linux als normale USB-Soundkarte. Damit kann man schon recht stressfrei Audio auf den Telefonen abspielen.
usbb2k
an Box senden:
- SWITCH USB
- RING 1
von Box empfangen:
- HANDSET ON
- HANDSET OFF
- KEY 01
- KEY 02
- …
- KEY 09
- KEY 0b (*)
- KEY 00
- KEY 0c (#)
SIP
Man benötigt einen SIP-Client, den man entsprechend erweitern kann. Aktuell ist die Idee das mit linphone zu machen. Dies ist ein in C geschriebener SIP-Client unter GPLv2.
Zusammenspiel
Zuerst stellt man den usbb2k-API-Server und den usbb2k-API-Client. Mit dem Client schaltet man die usbb2k-Box in den USB-Modus. Dann startet man den SIP-Client und gibt diesem die USB-Soundkarte des usbb2k als Audiogerät für Ein- & Ausgabe.
Wenn ein Anruf ankommt, dann sendet man mit dem usbb2k-API-Client, ein Klingelsignal an die Feldtelefone. Darauf hin klingeln alle angeschlossenen Telefone bis auf einem der Telefone abgenommen wird. Wenn dies passiert erhält der usbb2k-Client ein PICKUP-Signal. Empfängt man dieses, kann man dem SIP-Client sagen, dass abgenommen wurde.
Will man auflegen, so erhält die usbb2k-API erst einen HANGUP, wenn das letzte SIP-Telefon aufgelegt wurde. Empfängt man diesen, kann man dem SIP-Client sagen, dass aufgelegt wurde und das Gespräch beenden.