PJSUA: Changeset 5752 seems to break multicast RTP

AW
Andreas Wehrmann
Wed, Dec 18, 2019 12:34 PM

Hey there,

The 'remote address switch' check that is implemented in the on_rx_rtp()
callback in stream.c is causing problems when the remote address is a
multicast address.

Problem:
I get a call from another peer with an SDP offer that contains multicast
addresses for the media that is announced inside.
When the call is accepted, both sides start streaming,
but pjmedia_stream pretty quickly switches from sending to the multicast
address over to the unicast address of the remote peer which in this
case it should not.

In general I'd like to keep this feature, but it shouldn't trigger for
multicast addresses.
The only "solution" I found is to disable this feature in general, which
I don't really like to do.
Is there another way to workaround this in one of the PJSUA callbacks maybe?

Best Regards,
Andreas

Hey there, The 'remote address switch' check that is implemented in the on_rx_rtp() callback in stream.c is causing problems when the remote address is a multicast address. Problem: I get a call from another peer with an SDP offer that contains multicast addresses for the media that is announced inside. When the call is accepted, both sides start streaming, but pjmedia_stream pretty quickly switches from sending to the multicast address over to the unicast address of the remote peer which in this case it should not. In general I'd like to keep this feature, but it shouldn't trigger for multicast addresses. The only "solution" I found is to disable this feature in general, which I don't really like to do. Is there another way to workaround this in one of the PJSUA callbacks maybe? Best Regards, Andreas