Multiple Call Handling using PJSIP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alaa,

I've never tested pjsua with more than about 50 calls but I don't see 
why it couldn't scale to thousands. If you are using G711 with bridge 
running at 8kHz then the media processing per call is very light, a 
single core should be able to handle perhaps 100-200 calls, but I don't 
know exactly. But if you are using a high def codec you will get far 
fewer calls. You could create one bridge per core, so for example if 
using an 8 core server you would create 8 bridges and as calls come in 
you would assign them to the least loaded bridge. That may be simpler 
than one bridge (and one media processing thread) per call.

I recommend you code up a single bridge answering system using pjsua, 
and then load test it to see what kind of performance you get.

Regards,

Bill

On 3/3/2016 3:47 AM, alaa wrote:
> HI Bill ,
>
> i am trying to create a system that should handle thousands of 
> simultaneous calls. Can pjsua handle such load?
> How much simultaneous calls can pjsip with pjmedia using a bridge for 
> each call handle?
> Thx
> On 3/2/2016 5:10 PM, Bill Gardner wrote:
>> Hi Alaa,
>>
>> It's pretty easy to code an announcement system using pjsua, and if 
>> you don't want to use pjsua you can look at the pjsua code as a 
>> guide. Basically when the call connects you create a wav player 
>> object and connect it to the incoming call via the bridge. See the 
>> --auto-play option in pjsua. You would use --null-audio option so 
>> your server doesn't need an audio device to clock media flow. You can 
>> use a single conference bridge and use this for all calls. However 
>> you will then be limited to using a single processor core which might 
>> be a problem if you want to handle hundreds of simultaneous calls. 
>> Creating a bridge for each call is more complicated but will allow 
>> your server to take full advantage of multiple cores and hence handle 
>> more calls.
>>
>> Regards,
>>
>> Bill
>>
>> On 3/2/2016 8:04 AM, alaa wrote:
>>> I am trying to create a system that can handle Multiple Calls 
>>> simultaneously and play announcements to each call.
>>> I need to use PJSIP and PJMedia (not PJSUA).
>>> Is there any document or sample code on how to use pjsip and pjmedia 
>>> with multiple calls , and what design structure i should create ?
>>> should i create one conference bridge to handle all calls or a one 
>>> for every calls? should i create one pjmedia endpoint or multiple ?
>>> //
>>>
>>>
>>>
>>> _______________________________________________
>>> Visit our blog:http://blog.pjsip.org
>>>
>>> pjsip mailing list
>>> pjsip at lists.pjsip.org
>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>
>>
>>
>> _______________________________________________
>> Visit our blog:http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20160303/0c459bcc/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 35 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20160303/0c459bcc/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 35 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20160303/0c459bcc/attachment-0001.gif>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux