To implement pjsip to support 200 simultaneous calls

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

 



Hi Varun,

I wouldn't recommend simply using siprtp.c as is with a few changes.
But I guess that depends on what exactly you're trying to build.

I used siprtp.c as a starting place for how to use the APIs in pjsip,
pjmedia, pjsip_ua and others.  You'll get a good idea how to use the
endpoints, pjmedia_transport, pjmedia_rtp_session, pjsip_inv_session,
just to name a few.  I integrated these and other pjsip constructs
into my application.

There's a lot of good stuff in the samples directory.  I'd highly
recommend spending several days in there before doing any coding on
your app.  You'll get a much better idea of how the various APIs work
and what's appropriate for you.

good luck,
Joel


On Sat, Sep 17, 2011 at 12:48 AM, varun pratapsingh
<varunps2003 at gmail.com> wrote:
> Great work Joel.
>
> But how did you increased the number of calls. Did you implemented some
> strategy for it.
>
> or it just work by increasing the app.max_calls = 1; from 1 to 256 in
> init_options functions.
> Also what were the other changes done by you to achieve the simultaneous
> calls to 256.
> Also have you increased the app.thread_count to achieve this.
>
> Thanks in advance Joel.
>
> Regards:
> Varun Singh
>
>
>
> On Sat, Sep 17, 2011 at 12:05 AM, Joel Dodson <jdodson at acm.org> wrote:
>>
>> Hi Varun,
>>
>> I wrote a signaling and media gateway running on Windows using PJSIP.
>> I used the lower layer APIs you mention but did not use the bridge. ?I
>> directly accessed the RTP, and passed it manually between the ports.
>> I was able to run 256 simultaneous calls on a 3 GHz dual core
>> processor with 4G RAM. ?I did most of my testing on VMs and still had
>> good call quality and the systems was still approx 50% idle. ?I made
>> real calls through the system while load tests were running and
>> actually listened to the audio. ?I was using PJSIP 1.0 (or maybe 1.1).
>>
>> For directly accessing the RTP, see pjsip-apps/src/samples/siprtp.c
>>
>> good luck,
>>
>> Joel
>>
>> On Fri, Sep 16, 2011 at 10:56 AM, varun pratapsingh
>> <varunps2003 at gmail.com> wrote:
>> > Hi Arie,
>> >
>> > Thanks for your reply.
>> >
>> > But don't you think when you had 500 simultaneous calls and 500 RTP
>> > streams
>> > then your call qualities were bad. In my case if I use the same
>> > conference
>> > bridge for all calls the quality goes bad after 20 simultaneous calls.
>> > Is
>> > there any trick or settings you are using. Or have you done some changes
>> > at
>> > code level to achieve this. Can you share this information.
>> >
>> > Thanks in advance.
>> >
>> > Regards:
>> > Varun
>> >
>> > On Fri, Sep 16, 2011 at 6:32 PM, Arie Velthoen
>> > <arie_velthoen at hotmail.com>
>> > wrote:
>> >>
>> >> Hi,
>> >>
>> >> My experience is that one can use PJSUA-lib with more than 500
>> >> simultaneous calls, and 500 bothway RTP channels when using conferences
>> >> with
>> >> 8kHz sampling, PCMA or PCMU codec, and no echo cancelling.
>> >> I used a Win2003 server on a Xeon5130 machine (pretty old now).
>> >>
>> >> I also had to undo ticket #1015 Disable ioqueue Completion Port backend
>> >> See
>> >>
>> >> http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2010-June/011104.html
>> >>
>> >> Regards,
>> >>
>> >> Arie
>> >>
>> >>
>> >>
>> >> > Date: Fri, 16 Sep 2011 18:00:23 +0530
>> >> > From: varunps2003@xxxxxxxxx
>> >> > To: pjsip at lists.pjsip.org
>> >> > Subject: Re: To implement pjsip to support 200 simultaneous
>> >> > calls
>> >> >
>> >> > HI Shayne,
>> >> >
>> >> > Thanks for your reply. But I don't think PJSIP is not suitable as any
>> >> > other Library.
>> >> >
>> >> > See first I don't want to serve thousands of calls but only 200
>> >> > calls.
>> >> > Second point is that PJSUA-LIB has only the limitation that it
>> >> > creates
>> >> > only one conference bridge for all calls and media. But the low level
>> >> > PJSIP libraries like PJSIP-UA and PJMEDIA don't limits anything. If
>> >> > we
>> >> > can execute a proper application design on the basic PJSIP libraries
>> >> > or modify the PJSUA-LIB to serve 200 calls we can do it. This is I
>> >> > think.
>> >> >
>> >> > But I really wanted to know that have somebody already tried this. If
>> >> > yes then what was his approach. Can any body share some work or some
>> >> > idea which can be useful.
>> >> >
>> >> > Your help is appreciated. Thanks in advance.
>> >> >
>> >> >
>> >> > Regards:
>> >> > Varun Pratap Singh
>> >> >
>> >> > On 9/16/11, Shayne O'Neill <shayne.oneill at gmail.com> wrote:
>> >> > >
>> >> > > If your planning on serving thousands of calls your probably better
>> >> > > off
>> >> > > looking at something like Opensips with a dedicated media proxy
>> >> > > array.
>> >> > > pjsips can handle a surprising call load, but your really pushing
>> >> > > it
>> >> > > with
>> >> > > that sort of volume in a monolithic sip/rtp stack.
>> >> > >
>> >> > > On 15/09/2011, at 10:15 PM, varun pratapsingh wrote:
>> >> > >
>> >> > >>
>> >> > >> HI All,
>> >> > >>
>> >> > >> I need to implement in PJSIP so that it can support the 200 calls
>> >> > >> simultaneously. I am following the steps given at:
>> >> > >> http://trac.pjsip.org/repos/wiki/FAQ#high-perf
>> >> > >> The steps told under heading: How can I configure pjsip to serve
>> >> > >> thousands
>> >> > >> of calls?
>> >> > >>
>> >> > >> Has anyone tried to implement such functionality in pjsip. If any
>> >> > >> body can
>> >> > >> share his experience in this then It will be appreciated.
>> >> > >>
>> >> > >>
>> >> > >> Regards:
>> >> > >> Varun Pratap Singh
>> >> > >>
>> >> > >>
>> >> > >>
>> >> > >> _______________________________________________
>> >> > >> 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
>> >>
>> >
>> >
>> > _______________________________________________
>> > 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
>
>



[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