2016-04-13 15 views
0

Ich versuche, den Port der Audio Medien von SDP-Headern zu erhalten. Ich verwende derzeit JnetPcap, um den Verkehr zu erfassen.Erhalten von Audio-Port in Videoanrufen mit JnetPcap

Ich Erhalt des Medienwert aus den SDP-Header wie folgt:

sdp.getAVP(Sdp.Fields.Media.name());  

(. Ich weiß, dass dies nicht die schönste Art und Weise ist, habe ich schon bessere Alternativen gefragt here)

Dies tut die Arbeit. Außer für Sprachanrufe. Wenn ein Anruf Video aktiviert hat, enthält der SDP-Header 2 Medienwerte, Audio und Video. Das Problem ist, dass die Methode getAVP() immer nur den Videowert zurückgibt.

Wie erhalte ich den Audioanschluss?

Antwort

0

Je nachdem, was Sie erreichen wollen:

  • Erfassung der Verkehr mit Wireshark und Blick auf die c Linien und m Zeilen manuell
  • Nehmen Sie das aufgenommene Objekt sdp und tun .ToString() und analysieren es selbst, Zeile für Zeile m suchen = und c =
  • die SDP nehmen und es mit JAIN SDP

die Struktur der SDP parsen von RFC 4566 definiert ist: https://tools.ietf.org/html/rfc4566 siehe Kapitel "5.14. Medienbeschreibungen ("m =") "

+0

Das deutet irgendwie darauf hin, was ich getan habe. Ich habe sdp.text() verwendet, um die enter-Kopfzeile zu erhalten, dann habe ich mit regex a den Audio-Port entfernt. – user2818782