Hallo ! Für eine Anwendung benötige ich mal ein paar Gedankenanstösse.. Ich möchte mir ein VoIP Telefon kaufen und mit diesem über eine Tastenkombination zum Bespiel "#24" einen XP Rechner steuern, der mir dann verschiedene Ausgaben über die serielle Schnittstelle macht. Was mir die größten Sorgen macht, ist das auswerten der Datentelegramme die vom VoIP Telefon kommen. Jemand ne Idee, wie und was ich an Software & Hardware haben muss um mein Projekt umzusetzen ? Gruss BB
Du könntest Dir das vom Telephon verwendete SIP-Protokoll näher ansehen. Ich halte das jedoch für einen verfehlten, weil viel zu komplizierten Ansatz. Aber vielleicht habe ich auch nur Deine Schilderung der Aufgabenstellung nicht richtig verstanden. Wie sind Telephon und Rechner miteinander verbunden? Wird das Telephon auch zum Telephonieren verwendet? Wann sollen die speziellen Tastenkombinationen ausgewertet werden, immer oder nur wenn Du mit dem PC telephonierst?
Na mal grob gesagt bräuchtest du einen TCP Daemon, der auf Port 5060 hört und erst mal das Session Initiation Protocol (SIP) mit deinem Tel händelt: INVITE TRYING RINGING STATUS OK (Hier starte normalerweise der RTP Datenstrom) Bye So dann müsstest beim SIP IINVITE im Body das mitgelieferte Session Description Protocol (SDP) prüfen. Dort sollte von Deinem Tel als Möglichkeit folgendes Angeboten werden: Media Attribute(a): a=fmtp:34 4CIF=30 CIF=5 QCIF=1 SQCIF=1/MaxBR=4160 Will heisen, das es DTMF Töne liefern kann und zwar nicht nur im Datenstream(RTP) sondern auch im Steuerkanal(SDP). Das im SDP könnte der Daemon dann auswerten und Du kannst die Befehle dann weiter verarbeiten. Vielleicht kann ich mal auf der Testanlage den entsprechenden Part mitprotokollieren. Der Daemon müsste also auf ein INVITE deines Telefones reagieren können TRYING, RINGING, STATUS OK und ein BYE senden können und den FMTP, DTMF Part auswerten können. MfG Thomas
Alternative Astersik installieren. Private Numbering Plan passend für Deine Steuerung einrichten und damit die Kommandos auswerten. Aber Astersik musst Du jemand anderen fragen.
Für das sniffen des Protokolls tut der wireshark gute Dienste. Und schau Dir das SIP Protokoll an, dann bekommst Du eine Vorstellung von der Komplexität.
Also das VoIP Telefon wird natürlich auch zum "telefonieren" gebraucht und ist auch nicht direkt mit dem Rechner sondern über einen entsprechenden Router verbunden. Die Auswertung bzw. meine Angaben zur Tastenkombination um bestimmte Prozesse zu aktivieren will ich selbst durch meinen Rechner auswerten können. Ich will mit ner "0" als Amt herauswählen können. Alle Funktionen ohne "0" will ich selbst bewerten. Es mein Vorhaben so etwas deutlicher ? Gruss BB
Ja ist schon klar, das Dein Phone am Router hängt! Die DTMF Steuerung kannst Du wie bei einer Hotline machen. Zum Beispiel so: Wenn Du Deinen Rechner steuern willst rufst Du Ihn an (SIP INVITE mit IP Adresse). Es geht dann der Serverprozess (Daemon) ran, nimmt das "Gespräch" an. Es kommt aber kein Gespräch zustande (Obwohl eine kurze Ansage über wav Files zu implementieren wäre auch möglich). Dafür kannst Du dann über die Tastatur die gewünschten Sachen steuern. zB: 1# = Applikation xx starten, 2# = Lampe an, 2* = Lampe aus, 3*1*1# = Applikation starten, eine 1 als erstes Argument übergeben und dann noch eine 1 als zweites, 3# Applikation stoppen. Wenn fertig legst Du einfach auf. Wäre das was?
Ich habe gerade mal geschaut. Also das senden beispielsweise einer "5" über eine SIP INFO Message könnte so aussehen: ------------------------------------------- INFO sip:7007471000@example.com SIP/2.0 Via: SIP/2.0/UDP alice.uk.example.com:5060 From: <sip:7007471234@alice.uk.example.com>;tag=d3f423d To: <sip:7007471000@example.com>;tag=8942 Call-ID: 312352@myphone CSeq: 5 INFO Content-Length: 1 Content-Type: application/dtmf 5 ----------------------------------------------
Ich sehe gerade, die SIP Kommunikation muss wohl kein kompletten Verbindungsaufbau haben. Es sollte wohl auch so gehen: |Subscriber Notifier | | F1 SUBSCRIBE | |----------------------->| | F2 200 OK | |<-----------------------| | F3 NOTIFY | (Initial subscription state |<-----------------------| notification, see Section 4.8.1 | F4 200 OK | |----------------------->| | F5 NOTIFY | (First notification of DTMF |<-----------------------| event, see Section 4.8.3) | F6 200 OK | |----------------------->| | . | | . | (Continue until enough digits | . | received) | FX SUBSCRIBE | (Subscribe has expire value of 0) |----------------------->| | FX+1 200 OK | (Notifier terminates subscription) |<-----------------------| | FX+2 NOTIFY | (Notification of subscription |<-----------------------| state change, see Section 4.8.2 | FX+3 200 OK | |----------------------->|
Jou ! Das ist doch mal ne Ansage und ne gute Basis wie ich an die Sache herangehen kann. Jetzt werde ich erstmal ein paar weitere technische Dinge recherchieren.. Besten Dank schon mal für die Info´s... Gruss BB PS: Ich melde mich noch mal, spätestens morgen..für weitere technische Fragen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.