Sip2Feldtelefon: Unterschied zwischen den Versionen

Aus ChaosChemnitz
Zur Navigation springen Zur Suche springen
K (ich brauche einen Programmierer!)
K (→‎usbb2k: +Tastencodes)
Zeile 17: Zeile 17:
  
 
=== usbb2k ===
 
=== usbb2k ===
* Modus umschalten
+
an Box senden:
* RING senden
+
* SWITCH USB
* HANGUP empfangen
+
* RING 1
* PICKUP empfangen
+
von Box empfangen:
 +
* HANDSET ON
 +
* HANDSET OFF
 +
* KEY 01
 +
* KEY 02
 +
* …
 +
* KEY 09
 +
* KEY 0b (*)
 +
* KEY 00
 +
* KEY 0c (#)
  
 
=== SIP ===
 
=== SIP ===

Version vom 25. Mai 2014, 04:55 Uhr

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

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.