[OpenSIPS-Users] rtpengine errors: can't send command to a RTP proxy (22:Invalid argument)

Ovidiu Sas osas at voipembedded.com
Thu Jun 25 17:02:58 EST 2020


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



More information about the Users mailing list