-
-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues with RTPProxy process #125
Comments
Ergys, for the target amount of the traffic you'd need 4-5 rtpproxy instances running in parallel to handle properly. Our rule of thumb is about 1,000-1,500 of sessions per instance. Each instance is able to utilize ~2-3 cores, so this would ensure the load is well balanced across the machine. If the RTPProxy would be controlled by Kamailio then there is already feature allowing you to load balance across multiple instances by listing individual sockets in the configuration parameters, in case if you want to use B2BUA then there is go-rtp_cluster middleware module allowing to do the same. |
Hello @sobomax / all, what´s the recommended way to setup multiple rtpproxys? Thank you |
hey @mrsanvicente there are plenty ways to do it. You can create bunch of .service files with slightly varying parameters (i.e. rtpproxy.1.service, rtpproxy.2.service, etc etc). Or you just create a wrapper script that starts takes common arguments and starts many copies under the hood and hook it up to your existing startup script. You should be careful they don't clash over the same resource (i.e. TCP or UDP port or socket name) but other than that should work. |
You should also check usual things like ulimit -n (limit on the number of
open descriptors) and use -L flag. As well as global system limits (if any).
To get more clue you can check system logs to see why the session creation
fails, running rtpproxy with the "-d info" is usually recommended.
Here is what we typically use here:
/usr/local/bin/rtpproxy -F -L 19999 -u rtpproxy:voip -d info -p
/var/run/rtpproxy1.pid -s cunix:/var/run/rtpproxy1.sock -m 10000 -M 64999
--nice -20
/usr/local/bin/rtpproxy -F -L 19999 -u rtpproxy:voip -d info -p
/var/run/rtpproxy2.pid -s cunix:/var/run/rtpproxy2.sock -m 10000 -M 64999
--nice -20
/usr/local/bin/rtpproxy -F -L 19999 -u rtpproxy:voip -d info -p
/var/run/rtpproxy3.pid -s cunix:/var/run/rtpproxy3.sock -m 10000 -M 64999
--nice -20
/usr/local/bin/rtpproxy -F -L 19999 -u rtpproxy:voip -d info -p
/var/run/rtpproxy4.pid -s cunix:/var/run/rtpproxy4.sock -m 10000 -M 64999
--nice -20
…-Max
On Wed, Mar 6, 2024 at 8:38 PM mrsanvicente ***@***.***>
wrote:
Thanks for your inputs @maxim Sobolev ***@***.***> ,
Actually it looks i am following your steps. And at the end each service
points to
ExecStart=/usr/local/bin/rtpproxy -p /var/run/rtpproxy1.pid $OPTIONS.
The issue, ( i am also using the rtp_cluster), at some point, aroud 400
calls within 9 rtpproxys services, i get the following error:
ERROR:rtpproxy:force_rtp_proxy_body: no available proxies..
(note, all dialogs are closing fine, i mean, the udp ports are not
increasing to leave no available ports).
Thanks
On Wed, Mar 6, 2024 at 5:12 PM Maksym Sobolyev ***@***.***>
wrote:
> hey @mrsanvicente <https://github.com/mrsanvicente> there are plenty
ways
> to do it. You can create bunch of .service files with slightly varying
> parameters (i.e. rtpproxy.1.service, rtpproxy.2.service, etc etc). Or
you
> just create a wrapper script that starts takes common arguments and
starts
> many copies under the hood and hook it up to your existing startup
script.
> You should be careful they don't clash over the same resource (i.e. TCP
or
> UDP port or socket name) but other than that should work.
>
> —
> Reply to this email directly, view it on GitHub
> <#125 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ABM4J25Q275QMNQUWVR63ALYW6PEBAVCNFSM5PPPK6OKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJYGIYDCMRRGYZQ>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
--
Mario San Vicente
Cheers!
—
Reply to this email directly, view it on GitHub
<#125 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABVMJXD54GAG6MY5ARZ26TYW7VNHAVCNFSM5PPPK6OKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJYGIZTGMZUGA4A>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
Tel (Canada): +1-778-783-0474
Tel (Toll-Free): +1-855-747-7779
Fax: +1-866-857-6942
Web: http://www.sippysoft.com
MSN: ***@***.***
Skype: SippySoft
|
@mrsanvicente we've been running such configuration in production since 2016-2017, doing 20k+ RTP sessions across 5 nodes, each running 4 RTP proxies. |
Thank you as always for you kind help @sobomax!SaludosmrsanvicenteOn 7 Mar 2024, at 12:07, Maksym Sobolyev ***@***.***> wrote:
@mrsanvicente we've been running such configuration in production since 2016-2017, doing 20k+ RTP sessions across 5 nodes, each running 4 RTP proxies.
ScreenShot267.png (view on web)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Hello @sobomaxThat is a great performance. Thanks for sharing!!! SaludosMario San VicenteOn 7 Mar 2024, at 13:01, mrsanvicente ***@***.***> wrote:Thank you as always for you kind help @sobomax!SaludosmrsanvicenteOn 7 Mar 2024, at 12:07, Maksym Sobolyev ***@***.***> wrote:
@mrsanvicente we've been running such configuration in production since 2016-2017, doing 20k+ RTP sessions across 5 nodes, each running 4 RTP proxies.
ScreenShot267.png (view on web)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Dear team,
I have installed rtpproxy on Centos7 and I am using it with Sippy B2BUA as proxy. I am currently facing some issues as during calls I am getting No Online Rtp Proxy is found.
I checked the rtpproxy process and it is running without any issues. I also activated debug to check for any errors but can find anything as no error is showing.
I am currently testing it with 500cps and 5000 concurrent calls to check the full load.
Rtpproxy and Sippy B2BUA are running in different dedicated machines.
I have also run rtpproxy with root user and ulimit is rised at 40000.
Also need to mention that after some minutes of high load the calls are stopped and then they start again for a few minutes and they go down again.
The only doubt that I see is that the process of rtpproxy is not going over 100% on single core.
I would really appreciate some help or tips that what I am doing wrong.
Rtpproxy version is: 2.2 from git.
Udp ports are: 5000:50000
No firewall is running during tests.
Servers are both: E5 - dedicated with ssd and 64Gb or Ram.
The text was updated successfully, but these errors were encountered: