On 02/09/2020 19.30, Patrick Wakano wrote:
Hello list,
Hope you are all well.

Under some load test simulations I've been facing cases where the command Kamailio sends to RTPEngine times out with such message:
send_rtpp_command(): timeout waiting reply for command "" from RTP proxy
After checking RTPEngine logs, I can see the command was received and a reply was sent, so I am thinking the reply packet could have been lost somewhere in the network (they are in different servers). So my question is, how resilient is the RTPEngine NG protocol to handle packet loss situations? I saw TCP is not supported, so are there UDP retransmissions in place to guarantee packet delivery? Any ideas to make this connection more reliable?

The module automatically resends the command a number of times if no reply was received within the timeout period. The modparam `rtpengine_retr` is how many times a command is resent, and `rtpengine_tout_ms` is how long it waits (in ms) each time for a reply.

If you don't get a reply even after multiple retries, you might have an underlying network issue. Most often this is due to broken IP fragmentation in the network.

We're currently working on adding HTTP and Websocket support to rtpengine, so this could be used in the future as control protocol from Kamailio instead of UDP, even though in a properly functioning network there's no reason why UDP shouldn't be as reliable as TCP.

Cheers