UDP/RTP PL96 in a routed network
Good day, I have deployed an intercom like phone system in a company wide network with subnets. There is central dispatcher who can talk to any remote site through a UDP/RTP stream with opus encoded payload. The voice transmission works perfectly well, no matter how I set the payload type (either 0 or 96).
Now I wanted to add an "in service quality monitoring" feature to capture UDP/RTP on the embedded Linux MCU's at the remote sites. So I have installed Tshark at the remote site MCU's.
In my laboratory tests I had only one subnet. No matter how I was setting the PL type (0 or 96) I could always capture the UDP/RTP packets at the remote end.
After rolling out the new SW in the customers network I observe this:
- encoding/decoding in the same subnet: capture works for both PL types (0 and 96)
- encoding/decoding in different subnets: capture only works if PL type is 0 (zero)
- encoding/decoding in different subnets: no capture for PL 96 but voice streaming is ok (packets are received in the destination subnet)
For me that is mysterious?
For me PL 96 would be a nice feature because I found an article how to decode captured *.pcap to an audio file.
In that case the admin of the system would be able not only to analyze the stream, but also to listen to the stream how it is received by the user at the remote end.
I would be happy to receive an advice.
I don't have a way to test this. My thought is an udp offset filter.
You say 'capture only works...', but is it? Does capturing of the packets not work, or rather is the dissection of these packets different than what you expect? What do you capture? Sharing sample capture files of working / not working situations is illustrative. Use any publicly accessible file share site for this, and post links here.
@Jaap :
This is the capture with PL96 captured in the same subnetAnd this is the capture with PL0 captured on a different subnet. Pls dont mind the UDP packets on port 17002 as they are only for signalling. And pls disregard that one is multicast (port 8000) and the other is unicast (port 17000). In both cases the result is the same (PL0/PL96)
When I try to capture PL96 on a MCU in a different subnet with Tshark (which is CLI) I dont see any counter that increases, so no capture is taking place.
BTW I am using capture filter "udp port xxx" that is all
VLANs may cause problems for capture filters. I don't fully remember the sytax but something like "vlan and udp port..." may work.