VoIP: Develop FreeSWITCH CPS limit bypassing script

Đã Đóng Đã đăng vào 7 năm trước Thanh toán khi bàn giao
Đã Đóng Thanh toán khi bàn giao

Software to use: FreeSWITCH 1.6.x series, XML config, Lua scripting

I'm looking for FreeSWITCH (1.6.x series) expert/software developer to create a custom CPS bypassing solution.

Problem:

- I'm routing calls to VoIP provider wich has CAPS limits, let's say 10 per second

- My traffic comes in spikes, ie. first second 50 calls, next second no calls, next second 5 calls, next ten seconds no calls, next second 40 calls and so on

- Because of spikes in the first second I get only 10 calls served, 40 are rejected, on the other hand in next seconds there are almost no calls until next spike

I would like to implement:

- Call delaying to avoid hitting provider's CPS limits

- All new calls should be put in some kind of queue (parked or put in fifo I think)

- Every second some script should take first (configurable) 10 calls and try to bridge them

- Thanks to delaying 50 calls from first second in above example will be split to 10 calls in first second, 10 calls in 2nd second, 10 calls in 3rd second and so on

Expected result:

- better trunk saturation, more serviced calls because of avoiding CPS limits

Details & gotchas:

- I need things to be configurable - separate limits per every trunk, multiple trunk support

- Every trunk will have following parameters: CPS, total capacity, queue timeout (for how long call can be put on hold before releasing), max queue size

- On new call: if queue is full or trunk total capacity exhausted than reject call instantly. If CPS limit not reached then try to bridge. If CPS limit reached then delay/put in queue

- Each call in queue must preserve own timeout (max time that script will try to bridge)

- If call is cancelled by originator - instantly stop ringing B-leg and remove call from queue

- Only one call attempt to B-leg of call. Any rejection of call by B-leg should stop further attempts, remove call from queue and hangup A-leg

- Ignore early media - A-Leg should get media only when B-leg is actually dialed

- Performance: solution must run properly in high CPS environment

Technologies to use:

- XML dialplan

- lua scripting

- or custom FS module

Delivery terms:

- XML, scripts, sources, instructions how to configure

- Payment released after confirmed that everything is working as described above

I tried to do this on my own, but had problems especially with cancelling B-leg after originator hangup and passing progress from B leg to A-leg.

FreeSwitch Lua VoIP

ID dự án: #10654183

Về dự án

2 đề xuất Dự án từ xa 7 năm trước đang mở

2 freelancer chào giá trung bìnhzł2917 cho công việc này

daviddream0125

Hi,we are professional app/web developers,i've just checked your project requirements,i'm able to perform your project and you'll be interesting with me,please come in contact with me to discuss for more project detail Thêm

zł2222 PLN trong 10 ngày
(0 Nhận xét)
0.0
stcudai

I am going to provide you best service. My price is high but I guarantee the best quality. I will create for you software which will be stable and without BUGs (if you find any BUG I will fix it without any time delay) Thêm

zł2500 PLN trong 21 ngày
(0 Nhận xét)
0.0
viaskumar2020

I am working on last 10+ years on asterisk and many other voip solution like freeswitch and opensips. I can provide any type of business solution which include creation of panel and providing integration with any of th Thêm

zł3333 PLN trong 14 ngày
(0 Nhận xét)
0.0