I check the codes and it seems that in `udp_rcv_loop()`, each incoming message got processed in the same process, so may it get blocked by some module function? For example, when the script calls `rtpengine_manage()`, it opens a new socket, sends a message, and receives the reply in blocking way, then it blocks the whole `udp_rcv_loop()`. Is it the expected design goal? why not consider new process or threading?