Hello to all!
I encountered strange issue with rtpengine: voice during a call is heard like random binary data. (Video freezes during a video call). *It goes fine during 2-3 seconds* before the media flow becomes glitched. It's related to SRTP calls only (RTP-SRTP, SRTP-RTP, SRTP-SRTP). RTP calls through mediaproxy are ok.
Used platform: Red Hat Linux 6.4, rtpengine (3.3.0 ?, latest form GitHub), kamailio (4.2.0-dev6) + websocket module. I have successfully installed (manually) mediaproxy daemon, Kamailio module, iptables library and kernel module. Kernel module was loaded (lsmod lists it, there are file in /proc/mediaproxy/0) and iptables were configured as expected.
Mediaproxy log looks fine except of a few suspicious messages "No support for kernel packet forwarding available". I'm not sure they are related to the mentioned problem but I would like to have working kernel support. Attached example is for SIP-to-websocket call.
rtpengine confguration is:
*KERNEL=yes TABLE=0 FALLBACK=no RTP_IP=10.xx.xx.xxLISTEN_NG=127.0.0.1:2223 http://127.0.0.1:2223 *
That would be great if you make any suggestions/comments on this issue. Need to mention that I haven't saw such problems on Debian Linux.
Couple of other questions: - What does message "Call-ID to delete not found" means? - "x_tables" is mentioned as required in the documentation for rtpengine kernel module (xt_MEDIAPROXY). Seems to be for Debian only. Is it required for other distros?
with best regards, Alexey
On 06/09/14 10:52, Alexey Rybalko wrote:
Hello to all!
I encountered strange issue with rtpengine: voice during a call is heard like random binary data. (Video freezes during a video call). _It goes fine during 2-3 seconds_ before the media flow becomes glitched. It's related to SRTP calls only (RTP-SRTP, SRTP-RTP, SRTP-SRTP). RTP calls through mediaproxy are ok.
Used platform: Red Hat Linux 6.4, rtpengine (3.3.0 ?, latest form GitHub), kamailio (4.2.0-dev6) + websocket module. I have successfully installed (manually) mediaproxy daemon, Kamailio module, iptables library and kernel module. Kernel module was loaded (lsmod lists it, there are file in /proc/mediaproxy/0) and iptables were configured as expected.
Hard to tell what the problem is without looking at the RTP traffic. The log looks fine. The delay you mentioned could indicate that it might be the kernel module that's misbehaving. Perhaps you can try the same thing again, but without the iptables rules installed (and/or without the kernel module loaded), and see if that makes a difference.
Mediaproxy log looks fine except of a few suspicious messages "No support for kernel packet forwarding available". I'm not sure they are related to the mentioned problem but I would like to have working kernel support. Attached example is for SIP-to-websocket call.
Those are actually expected on the RTCP ports, as RTCP is not supported by the kernel module. I suppose the log messages shouldn't actually be there for those ports.
That would be great if you make any suggestions/comments on this issue. Need to mention that I haven't saw such problems on Debian Linux.
That's curious, perhaps something went wrong when compiling the kernel module then? I have to admit that I have zero experience with rtpengine on Red Hat myself.
Couple of other questions:
- What does message "Call-ID to delete not found" means?
Your SIP proxy sends two "delete" messages to rtpengine for some reason. The first one already tears down the whole call, so the second one triggers an error. No harm done, but also unnecessary.
- "x_tables" is mentioned as required in the documentation for rtpengine
kernel module (xt_MEDIAPROXY). Seems to be for Debian only. Is it required for other distros?
The x_tables module is a prerequisite for all xt_* modules. If you don't have x_tables as a module (doesn't show up in lsmod), then perhaps it's compiled into the kernel. You wouldn't be able to use iptables at all without x_tables present.
cheers
Hello!
2014-06-09 19:06 GMT+04:00 Richard Fuchs rfuchs@sipwise.com:
Hard to tell what the problem is without looking at the RTP traffic. The
log looks fine. The delay you mentioned could indicate that it might be the kernel module that's misbehaving. Perhaps you can try the same thing again, but without the iptables rules installed (and/or without the kernel module loaded), and see if that makes a difference.
Richard, thank you. I believe the problem is related to the kernel module. Media flows smoothly without it. (Just have tried with no module loaded and no iptables' rules). I have sent rtp dump to your email. May be you would have the time to check it. As the problem occurs on encrypted RTP (DTLS-SRTP) only, I suppose that 'glitched' media is wrong encrypted or unencrypted payload for some unknown reason.
That's curious, perhaps something went wrong when compiling the kernel
module then? I have to admit that I have zero experience with rtpengine on Red Hat myself.
However there were no errors during the module compilation:
*$ MEDIAPROXY_VERSION=""3.3.0.0"" makemake -C /lib/modules/2.6.32-358.el6.x86_64/build M=/usr/src/rtpengine/kernel-module O=/lib/modules/2.6.32-358.el6.x86_64/build modulesmake[1]: Entering directory `/usr/src/kernels/2.6.32-358.el6.x86_64' CC [M] /usr/src/rtpengine/kernel-module/xt_MEDIAPROXY.o Building modules, stage 2. MODPOST 1 modules CC /usr/src/rtpengine/kernel-module/xt_MEDIAPROXY.mod.o LD [M] /usr/src/rtpengine/kernel-module/xt_MEDIAPROXY.ko.unsigned NO SIGN [M] /usr/src/rtpengine/kernel-module/xt_MEDIAPROXY.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-358.el6.x86_64'* regards, Alexey
On 06/10/14 05:41, Alexey Rybalko wrote:
Hello!
2014-06-09 19:06 GMT+04:00 Richard Fuchs <rfuchs@sipwise.com mailto:rfuchs@sipwise.com>:
Hard to tell what the problem is without looking at the RTP traffic. The log looks fine. The delay you mentioned could indicate that it might be the kernel module that's misbehaving. Perhaps you can try the same thing again, but without the iptables rules installed (and/or without the kernel module loaded), and see if that makes a difference.
Richard, thank you. I believe the problem is related to the kernel module. Media flows smoothly without it. (Just have tried with no module loaded and no iptables' rules). I have sent rtp dump to your email. May be you would have the time to check it. As the problem occurs on encrypted RTP (DTLS-SRTP) only, I suppose that 'glitched' media is wrong encrypted or unencrypted payload for some unknown reason.
Turns out it was a silly typo that sneaked in recently. Please update from rtpengine master and try with that.
cheers
2014-06-10 20:09 GMT+04:00 Richard Fuchs rfuchs@sipwise.com:
On 06/10/14 05:41, Alexey Rybalko wrote:
As the problem occurs on encrypted RTP (DTLS-SRTP) only, I suppose that 'glitched' media is wrong encrypted or unencrypted payload for some unknown reason.
Turns out it was a silly typo that sneaked in recently. Please update from rtpengine master and try with that.
I confirm it works now through the kernel module. Many thanks for fixing it quickly!
regards, Alexey