VoIP Telegramme auswerten

Gast #829766
Lesenswert?

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
Persönliche Seite #829797
Lesenswert?

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?
#829833
Lesenswert?

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
Gast #829865
Lesenswert?

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
#829878
Lesenswert?

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?
#829902
Lesenswert?

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
----------------------------------------------
#829917
Lesenswert?

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 |
|----------------------->|
Gast #829933
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren