Получение аудиопорта в видеозвонках с помощью JnetPcap

Я пытаюсь получить порт аудио мультимедиа заголовков SDP. В настоящее время я использую JnetPcap для перехвата трафика.

Я получаю значение Media из заголовков SDP следующим образом:

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

(Я знаю, что это не самый красивый способ, я уже попросил лучшие альтернативы здесь.)

Это делает работу. Кроме голосовых вызовов. Когда для вызова включено видео, заголовок SDP содержит 2 значения мультимедиа, аудио и видео. Проблема в том, что метод getAVP() всегда возвращает только значение видео.

Как получить аудиопорт?


person user2818782    schedule 13.04.2016    source источник


Ответы (1)


В зависимости от того, чего вы хотите достичь:

  • Захватите трафик с помощью Wireshark и просмотрите строки c и m вручную.
  • Возьмите захваченный объект sdp и выполните .ToString() и проанализируйте его самостоятельно, построчно ища m= и c=
  • Возьмите sdp и проанализируйте его с помощью JAIN SDP.

Структура SDP определяется RFC 4566: https://tools.ietf.org/html/rfc4566 см. главу "5.14. Описания носителей ("m=")"

person Staffan Persson    schedule 15.04.2016
comment
Это как бы указывает на то, что я сделал. Я использовал sdp.text(), чтобы получить заголовок ввода, а затем, используя регулярное выражение, удалил аудиопорт. - person user2818782; 18.04.2016