On the Azure Wowza (preinstalled) Instance, is there a bug streaming UDP via RTSP?

On the Wowza preinstalled (Windows) instance, I am unable to stream UDP via RTSP with FFMPEG. The issue is that during the SETUP, the server responds with local IP address and then FFMPEG sends the packets to this local address which is invalid.

Note that TCP with RTSP works just fine.

Also, when I manually installed Wowza manually either on a on AWS streaming works just fine, so this has something to do with the way Azure pre-installed instance works.

How do I fix the server so that it will return the public IP? Note that changing the Test Player IP did not seem to fix this issue.

BTW, this issue took many (painful) hours to isolate as I thought I was a firewall issue which it was not.

Hi Randall,

I see you’ve opened a ticket with us, and I’ll reply to that, but just to confirm a few things and for the benefit of others who may be experiencing similar issues, have you opened up UDP ports 6970-9999 and mapped those to the Wowza instance IP?

There are also a few troubleshooting steps you can do if you have the following tools (or similar)

The ffprobe command (from the ffmpeg suite) in verbose mode will show the SDP data and can also test if UDP connections are working (it’ll reply with “UDP timeout, retrying with TCP” if not)

ffprobe -v debug rtsp://[wowza-ip]:1935/[app-name]/[stream-name]

I see you’re on Windows, so a Wireshark capture for UDP ports 6970-9999 would also be useful. On Linux (or if you have Cygwin installed) then tcpdump at the command line can also help identify any connectivity issues

tcpdump udp portrange 6970-9999

I’ll respond to your ticket now so we can capture more detail from you.

Regards,

Paul

Hi Paul,

This is Zeeshan, I’m working with Randall on this. Yes UDP ports 6970-9999 are open both in windows firewall and azure security group.

The problem is:

The pre-installed version returns private ip during rtsp session setup and it is most likely because of wowza pickedup private ip as public during installation. wowzastreamingengine_startup.log has following entry:

Installer.queryEnvironmentWindows setting environment value: PLATFORM_METADATA_EXTERNAL_IP: 10.0.1.5 from Canonical Host Name

Thanks,

Zeeshan

Yes, we’ve opened the ports. I had the same suspicion as you and spent many hours thinking it was related to the Azure and/or local instance’s firewall. I used Wireshark and inspected the RTSP packet returned and the server is returning the local IP address. I was able to work around this issue in my own code by overriding this IP address, but it is still impossible to stream over UDP with FFmpeg.

BTW, this bug is easy to reproduce:

STEPS

  1. Launch a pre-installed Wowza Azure instance

  2. Open the firewall

  3. Stream anything over UDP with FFmpeg

RESULT

No stream data is ever received because FFmpeg will be pushing to an invalid local IP address. Use Wireshark on your local machine and you will see the RTP packets with the wrong destination address.