[OpenSIPS-Users] rtpengine errors: can't send command to a RTP proxy (22:Invalid argument)
Ovidiu Sas
osas at voipembedded.com
Thu Jun 25 23:29:10 EST 2020
It looks like the hidden IOV_MAX is set to 1024 in debian.
I tested a patch and all looks good.
It seems that there is an error in the code: writev has the wrong
number of iovcnt (should be one less).
I tested and all looks ok (the code in rtpproxy.c has the proper iovcnt).
-ovidiu
On Thu, Jun 25, 2020 at 1:03 PM Ovidiu Sas <osas at voipembedded.com> wrote:
>
> We will need to add a param to control the max number of buffers.
>
> -ovidiu
>
> On Thu, Jun 25, 2020 at 1:02 PM Ovidiu Sas <osas at voipembedded.com> wrote:
> >
> > It seems that when we have more than roughly 1000 buffers, the send fails.
> >
> > -ovidiu
> >
> > On Wed, Jun 24, 2020 at 8:54 AM Ovidiu Sas <osas at voipembedded.com> wrote:
> > >
> > > Hello Razvan,
> > >
> > > The system is a debian buster one.
> > > I patched the code:
> > > #ifdef IOV_MAX
> > > LM_NOTICE("IOV_MAX=[%d]\n", IOV_MAX);
> > > #else
> > > LM_NOTICE("no IOV_MAX\n");
> > > #endif
> > >
> > > and I get:
> > > NOTICE:rtpengine:send_rtpe_command: no IOV_MAX
> > > in the logs.
> > >
> > > Then I patched the code again to check how many buffers are being used:
> > > The max so far was 73:
> > > LM_NOTICE("writev(rtpe_socks[node->idx], v , %d)\n", vcnt + 1);
> > > got me:
> > > NOTICE:rtpengine:send_rtpe_command: writev(rtpe_socks[node->idx], v , 73)
> > >
> > > I will continue to monitor the system to see if there is a correlation
> > > between the error and the number of buffers.
> > >
> > > Thanks,
> > > Ovidiu
> > >
> > > On Wed, Jun 24, 2020 at 1:59 AM Răzvan Crainea <razvan at opensips.org> wrote:
> > > >
> > > > Hi, Ovidiu!
> > > >
> > > > I doubt this is a problem of OpenSIPS version, but rather of the OS you
> > > > are running on. I suspect that error comes from the fact that the bson
> > > > resulted has more than IOV_MAX elements, which if I recall correctly it
> > > > was 15 on some OSes.
> > > > We had a similar problem in rtpproy[1], where we had merged the buffers
> > > > in a single one just to pass over this limitation. Could you check if
> > > > you are facing a similar issue?
> > > >
> > > > [1]
> > > > https://github.com/OpenSIPS/opensips/blob/master/modules/rtpproxy/rtpproxy.c#L2031
> > > >
> > > > Răzvan Crainea
> > > > OpenSIPS Core Developer
> > > > http://www.opensips-solutions.com
> > > >
> > > > On 6/24/20 7:32 AM, Ovidiu Sas wrote:
> > > > > This is happening also on the latest 3.0.
> > > > > The weird thing is that opensips doesn't send anything to rtpengine.
> > > > > The first opensips/rtpengine exchange on the initial INVITE works ok,
> > > > > but the opensips/rtpengine exchange on the 200ok fails (no command is
> > > > > sent by opensips - confirmed by running ngrep on the loopback
> > > > > interface).
> > > > > On the next call, the initial offer works fine, but the answer fails
> > > > > due to no command issued by opensips.
> > > > >
> > > > > version: opensips 3.0.2 (x86_64/linux)
> > > > > flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC,
> > > > > Q_MALLOC, F_MALLOC, HP_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
> > > > > ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
> > > > > MAX_URI_SIZE 1024, BUF_SIZE 65535
> > > > > poll method support: poll, epoll, sigio_rt, select.
> > > > > git revision: 3a8f6f137
> > > > > main.c compiled on 09:36:42 Jun 22 2020 with gcc 9
> > > > >
> > > > > -ovidiu
> > > > >
> > > > >
> > > > > On Wed, Jun 10, 2020 at 2:49 PM Ovidiu Sas <osas at voipembedded.com> wrote:
> > > > >>
> > > > >> Hello all,
> > > > >>
> > > > >> I'm running opensips 3.1.0-beta (latest version) and experiencing
> > > > >> connectivity issues to the rtpengine daemon running on the same host:
> > > > >> ERROR:rtpengine:send_rtpe_command: can't send command to a RTP proxy
> > > > >> (22:Invalid argument)
> > > > >> ERROR:rtpengine:send_rtpe_command: timeout waiting reply from a RTP proxy
> > > > >> ERROR:rtpengine:send_rtpe_command: proxy <udp:127.0.0.1:2223> does not
> > > > >> respond, disable it
> > > > >> ERROR:rtpengine:rtpe_function_call: no available proxies
> > > > >>
> > > > >> After an opensips restart, everything comes to normal.
> > > > >> I was running previously opensips 3.1.0-dev and everything was working fine.
> > > > >>
> > > > >> The issue starts showing up after a few days with very little traffic.
> > > > >> Is there anyone experiencing this issue?
> > > > >>
> > > > >>
> > > > >> Thanks,
> > > > >> Ovidiu
> > > > >>
> > > > >> --
> > > > >> VoIP Embedded, Inc.
> > > > >> http://www.voipembedded.com
> > > > >
> > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > Users mailing list
> > > > Users at lists.opensips.org
> > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > >
> > >
> > >
> > > --
> > > VoIP Embedded, Inc.
> > > http://www.voipembedded.com
> >
> >
> >
> > --
> > VoIP Embedded, Inc.
> > http://www.voipembedded.com
>
>
>
> --
> VoIP Embedded, Inc.
> http://www.voipembedded.com
--
VoIP Embedded, Inc.
http://www.voipembedded.com
More information about the Users
mailing list