Я делаю университетский проект, в котором мне нужно общаться с существующим сервером, используя SIP-сообщения. Я выполнил ту часть, в которой отправляю сообщение, и с помощью Wireshark я вижу, что сервер ответил, но я не знаю, как получить это сообщение и интерпретировать его.
Я создал класс, который составляет sip-сообщение, а затем создает UdpTransport для отправки сообщения. До этого я вручную заполняю все заголовки сообщений.
udp_transport = new UdpTransport(0, this);
udp_transport.sendMessage(sip_message, new IpAddress(toAddress), 5060);
Теперь мне интересно, как получить сообщение, которое сервер отправляет обратно.
Объявление класса MjSip SipProvider (я смоделировал мой после него, оба они вызывают UDPTransport) реализует TransportListener и имеет метод обратного вызова onReceivedMessage ()
но я не уверен, как заставить его слушать. Мне нужно прослушивать определенный порт, который пользователь вводит в пользовательский интерфейс раньше. Не совсем уверен, как работает этот обратный вызов.
Итак, мне просто нужно что-то прослушать для ответного сообщения и чтобы оно вызывало мой метод processReceivedMessage (), чтобы я мог извлекать информацию.