Maximum calls supported on PJSIP

KP
Khoa Pham
Sat, Feb 2, 2013 12:57 AM

Hi Jitendra,

  1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be
    remembered by pjsip !
  2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other
    endpoint, should we need to open 1000 players ?

On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh <jitendra.bhadoriya@one97.net

wrote:

Thanks everyone for their suggestions. ****

Following steps can be taken to increase number of calls supported on
PJSIP:****


Example: If you have to increase simultaneous calls to 1000 change the
following:****

1.      Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000

2.      Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired
number of calls).

3.      Change __FD_SETSIZE to double to 2000 (double of desired
number of calls).

4.      Change PJSUA_MAX_PLAYERS to 1000.

5.      Recompile pjsip using following steps:

**a.      **./configure --disable-ssl --disable-sound; ****

b.      make dep

**c.      **make ****

d.      make install

6.      Recompile your application with new libs.


Thanks,****

Jitendra Singh****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Omar
Hussein
Sent: 16 January 2013 07:53 PM

To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP****


Try****


PJ_IOQUEUE_MAX_HANDLES

Regards****

Omar****


On 17/01/2013, at 12:33 AM, "Jitendra Singh" jitendra.bhadoriya@one97.net
wrote:****

Hi Sandeep,****


I have already done that but didn’t mention in the mail. I set both of
these to 600 (for testing 600 calls). But I think some internal parameter
in pjsua also need to be changed to increase the maximum calls and
currently these parameters are configured to 512. I want to know the
variables which need to be changed. ****


Thanks,
Jitendra Singh Bhadoriya****

Technical Leader - One97 Communications Ltd
+91.9717123309****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.orgpjsip-bounces@lists.pjsip.org]
On Behalf Of Sandeep Karanth
Sent: 16 January 2013 06:58 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP
**


Try****

define PJSUA_MAX_CALLS      1024****

define PJSUA_MAX_PLAYERS  1024****


On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh <
jitendra.bhadoriya@one97.net> wrote:****

Friends  !! thanks for your inputs.****


We can set the maximum number of simultaneously calls to be supported, by
setting following #defines :****


define PJSUA_MAX_CALLS    (500)****

define PJSUA_MAX_PLAYERS  500****


Then compile pjproject and then link your sipclient binary with these
libraries.****


My problem is, I want to increase number of calls so that my sipclient can
support say 1000 simultaneous calls. But when I try to configure say 600
calls (just to test whether more than 500 call supported or not), then at
the startup I get following log in pjsip log file:****


18:05:44.674  pjsua_media.c  Unable to create media transport: Too many
objects of the specified type (PJ_ETOOMANY) [status=70010]
****


In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and
prints the following logs:****


18:05:44.674  pjsua_media.c  RTP socket reachable at 10.0.6.141:41024****

18:05:44.674  pjsua_media.c  RTCP socket reachable at 10.0.6.141:41025****


*Now My Question is, which variable needs to be tuned/changed inside the
PJSIP code, so that I can support more than 512 calls. *****



Thanks,
Jitendra Singh Bhadoriya****

Technical Leader - One97 Communications Ltd
+91.9717123309****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep
Karanth
Sent: 16 January 2013 04:54 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP
**


No. I was talking about the internal conference bridge created in
pjsua_lib which handles the media processing for pjsua. The below link has
better explaination ****


http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf

I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing
playback of a wave file and  not recording as i mentioned in a previous
mail. U just need to go to config_site.h and u can copy the config from
config_site_sample.h under  PJ_CONFIG_MAXIMUM_SPEED and then recompile and
try again.****

On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham onmyway133@gmail.com wrote:**
**

When reading PJSIP Dev Guide, section 1.2.3 Polling the stack****


*PJSIP stack never creates threads. All execution throughout the stack
runs on *****

*behalf of application’s created thread, either when an API is called or
when *****

application calls the polling function****


Is this what you're talking about? ****

And if yes, please show me the tool you used to make 200-300 calls, thanks




--
Khoa Pham
HCMC University of Science
Faculty of Information Technology****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Khoa Pham
HCMC University of Science
Faculty of Information Technology

Hi Jitendra, 1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be remembered by pjsip ! 2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other endpoint, should we need to open 1000 players ? On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh <jitendra.bhadoriya@one97.net > wrote: > Thanks everyone for their suggestions. **** > > Following steps can be taken to increase number of calls supported on > PJSIP:**** > > ** ** > > Example: If you have to increase simultaneous calls to 1000 change the > following:**** > > **1. **Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000**** > > **2. **Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired > number of calls).**** > > **3. **Change __FD_SETSIZE to double to 2000 (double of desired > number of calls).**** > > **4. **Change PJSUA_MAX_PLAYERS to 1000.**** > > **5. **Recompile pjsip using following steps:**** > > **a. **./configure --disable-ssl --disable-sound; **** > > **b. **make dep**** > > **c. **make **** > > **d. **make install**** > > **6. **Recompile your application with new libs.**** > > ** ** > > Thanks,**** > > Jitendra Singh**** > > ** ** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Omar > Hussein > *Sent:* 16 January 2013 07:53 PM > > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > ** ** > > Try**** > > ** ** > > PJ_IOQUEUE_MAX_HANDLES > > Regards**** > > Omar**** > > ** ** > > > On 17/01/2013, at 12:33 AM, "Jitendra Singh" <jitendra.bhadoriya@one97.net> > wrote:**** > > Hi Sandeep,**** > > **** > > I have already done that but didn’t mention in the mail. I set both of > these to 600 (for testing 600 calls). But I think some internal parameter > in pjsua also need to be changed to increase the maximum calls and > currently these parameters are configured to 512. I want to know the > variables which need to be changed. **** > > **** > > Thanks, > Jitendra Singh Bhadoriya**** > > Technical Leader - One97 Communications Ltd > +91.9717123309**** > > **** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org<pjsip-bounces@lists.pjsip.org>] > *On Behalf Of *Sandeep Karanth > *Sent:* 16 January 2013 06:58 PM > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > **** > > Try**** > > # define PJSUA_MAX_CALLS 1024**** > > # define PJSUA_MAX_PLAYERS 1024**** > > **** > > On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh < > jitendra.bhadoriya@one97.net> wrote:**** > > Friends !! thanks for your inputs.**** > > **** > > We can set the maximum number of simultaneously calls to be supported, by > setting following #defines :**** > > **** > > # define PJSUA_MAX_CALLS (500)**** > > # define PJSUA_MAX_PLAYERS 500**** > > **** > > Then compile pjproject and then link your sipclient binary with these > libraries.**** > > **** > > My problem is, I want to increase number of calls so that my sipclient can > support say 1000 simultaneous calls. But when I try to configure say 600 > calls (just to test whether more than 500 call supported or not), then at > the startup I get following log in pjsip log file:**** > > **** > > 18:05:44.674 pjsua_media.c *Unable to create media transport: Too many > objects of the specified type (PJ_ETOOMANY) [status=70010]***** > > **** > > In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and > prints the following logs:**** > > **** > > 18:05:44.674 pjsua_media.c RTP socket reachable at 10.0.6.141:41024**** > > 18:05:44.674 pjsua_media.c RTCP socket reachable at 10.0.6.141:41025**** > > **** > > *Now My Question is, which variable needs to be tuned/changed inside the > PJSIP code, so that I can support more than 512 calls. ***** > > **** > > **** > > Thanks, > Jitendra Singh Bhadoriya**** > > Technical Leader - One97 Communications Ltd > +91.9717123309**** > > **** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Sandeep > Karanth > *Sent:* 16 January 2013 04:54 PM > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > **** > > No. I was talking about the internal conference bridge created in > pjsua_lib which handles the media processing for pjsua. The below link has > better explaination **** > > **** > > http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf > > I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing > playback of a wave file and not recording as i mentioned in a previous > mail. U just need to go to config_site.h and u can copy the config from > config_site_sample.h under PJ_CONFIG_MAXIMUM_SPEED and then recompile and > try again.**** > > On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham <onmyway133@gmail.com> wrote:** > ** > > When reading PJSIP Dev Guide, section 1.2.3 Polling the stack**** > > **** > > *PJSIP stack never creates threads. All execution throughout the stack > runs on ***** > > *behalf of application’s created thread, either when an API is called or > when ***** > > *application calls the polling function***** > > **** > > Is this what you're talking about? **** > > And if yes, please show me the tool you used to make 200-300 calls, thanks > **** > > > **** > > **** > > -- > Khoa Pham > HCMC University of Science > Faculty of Information Technology**** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > **** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > **** > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -- Khoa Pham HCMC University of Science Faculty of Information Technology
PK
Prasanna Kumar Nelam
Wed, Feb 13, 2013 4:21 AM

Hi,

We are trying for 32 calls in pjsip, ran one instance of pjsip as a server
and other instance as a client. The client makes calls to the server, and
client play a wav file in the call, after completing playing of file it will
close that particular call by calling hangup the call.

In this scenario, we are facing the problem in the select call in the
ioqueue_select.c file, the server is sending the provisional and complete
responses, but the client is not able to receive these packets, so the
retransmissions happening at server end.

In data transmissions from client, we are receiving Error sending RTP:
Object is busy (PJ_EBUSY) error;  even these are coming after changing the
send and receive buffers of a socket to 1MB.

The OS we are using is windows XP, 32bit.

Can anyone please suggest me how to solve this problem.

Thanks in advance.

Prasanna kumar Nelam,

From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Khoa Pham
Sent: Saturday, February 02, 2013 6:27 AM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP

Hi Jitendra,

  1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be
    remembered by pjsip !

  2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other
    endpoint, should we need to open 1000 players ?

On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh
jitendra.bhadoriya@one97.net wrote:

Thanks everyone for their suggestions.

Following steps can be taken to increase number of calls supported on PJSIP:

Example: If you have to increase simultaneous calls to 1000 change the
following:

  1.   Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000
    
  2.   Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired number of
    

calls).

  1.   Change __FD_SETSIZE to double to 2000 (double of desired number of
    

calls).

  1.   Change PJSUA_MAX_PLAYERS to 1000.
    
  2.   Recompile pjsip using following steps:
    

a.      ./configure --disable-ssl --disable-sound;

b.      make dep

c.      make

d.      make install

  1.   Recompile your application with new libs.
    

Thanks,

Jitendra Singh

From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Omar Hussein
Sent: 16 January 2013 07:53 PM

To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP

Try

PJ_IOQUEUE_MAX_HANDLES

Regards

Omar

On 17/01/2013, at 12:33 AM, "Jitendra Singh" jitendra.bhadoriya@one97.net
wrote:

Hi Sandeep,

I have already done that but didn't mention in the mail. I set both of these
to 600 (for testing 600 calls). But I think some internal parameter in pjsua
also need to be changed to increase the maximum calls and currently these
parameters are configured to 512. I want to know the variables which need to
be changed.

Thanks,
Jitendra Singh Bhadoriya

Technical Leader - One97 Communications Ltd
+91.9717123309

From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep
Karanth
Sent: 16 January 2013 06:58 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP

Try

define PJSUA_MAX_CALLS      1024

define PJSUA_MAX_PLAYERS  1024

On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh
jitendra.bhadoriya@one97.net wrote:

Friends  !! thanks for your inputs.

We can set the maximum number of simultaneously calls to be supported, by
setting following #defines :

define PJSUA_MAX_CALLS    (500)

define PJSUA_MAX_PLAYERS  500

Then compile pjproject and then link your sipclient binary with these
libraries.

My problem is, I want to increase number of calls so that my sipclient can
support say 1000 simultaneous calls. But when I try to configure say 600
calls (just to test whether more than 500 call supported or not), then at
the startup I get following log in pjsip log file:

18:05:44.674  pjsua_media.c  Unable to create media transport: Too many
objects of the specified type (PJ_ETOOMANY) [status=70010]

In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and
prints the following logs:

18:05:44.674  pjsua_media.c  RTP socket reachable at 10.0.6.141:41024

18:05:44.674  pjsua_media.c  RTCP socket reachable at 10.0.6.141:41025

Now My Question is, which variable needs to be tuned/changed inside the
PJSIP code, so that I can support more than 512 calls.

Thanks,
Jitendra Singh Bhadoriya

Technical Leader - One97 Communications Ltd
+91.9717123309 tel:%2B91.9717123309

From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep
Karanth
Sent: 16 January 2013 04:54 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP

No. I was talking about the internal conference bridge created in pjsua_lib
which handles the media processing for pjsua. The below link has better
explaination

http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf

I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing
playback of a wave file and  not recording as i mentioned in a previous
mail. U just need to go to config_site.h and u can copy the config from
config_site_sample.h under  PJ_CONFIG_MAXIMUM_SPEED and then recompile and
try again.

On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham onmyway133@gmail.com wrote:

When reading PJSIP Dev Guide, section 1.2.3 Polling the stack

PJSIP stack never creates threads. All execution throughout the stack runs
on

behalf of application's created thread, either when an API is called or when

application calls the polling function

Is this what you're talking about?

And if yes, please show me the tool you used to make 200-300 calls, thanks

--
Khoa Pham
HCMC University of Science
Faculty of Information Technology


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Khoa Pham
HCMC University of Science
Faculty of Information Technology

Hi, We are trying for 32 calls in pjsip, ran one instance of pjsip as a server and other instance as a client. The client makes calls to the server, and client play a wav file in the call, after completing playing of file it will close that particular call by calling hangup the call. In this scenario, we are facing the problem in the select call in the ioqueue_select.c file, the server is sending the provisional and complete responses, but the client is not able to receive these packets, so the retransmissions happening at server end. In data transmissions from client, we are receiving Error sending RTP: Object is busy (PJ_EBUSY) error; even these are coming after changing the send and receive buffers of a socket to 1MB. The OS we are using is windows XP, 32bit. Can anyone please suggest me how to solve this problem. Thanks in advance. Prasanna kumar Nelam, From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Khoa Pham Sent: Saturday, February 02, 2013 6:27 AM To: pjsip list Subject: Re: [pjsip] Maximum calls supported on PJSIP Hi Jitendra, 1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be remembered by pjsip ! 2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other endpoint, should we need to open 1000 players ? On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh <jitendra.bhadoriya@one97.net> wrote: Thanks everyone for their suggestions. Following steps can be taken to increase number of calls supported on PJSIP: Example: If you have to increase simultaneous calls to 1000 change the following: 1. Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000 2. Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired number of calls). 3. Change __FD_SETSIZE to double to 2000 (double of desired number of calls). 4. Change PJSUA_MAX_PLAYERS to 1000. 5. Recompile pjsip using following steps: a. ./configure --disable-ssl --disable-sound; b. make dep c. make d. make install 6. Recompile your application with new libs. Thanks, Jitendra Singh From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Omar Hussein Sent: 16 January 2013 07:53 PM To: pjsip list Subject: Re: [pjsip] Maximum calls supported on PJSIP Try PJ_IOQUEUE_MAX_HANDLES Regards Omar On 17/01/2013, at 12:33 AM, "Jitendra Singh" <jitendra.bhadoriya@one97.net> wrote: Hi Sandeep, I have already done that but didn't mention in the mail. I set both of these to 600 (for testing 600 calls). But I think some internal parameter in pjsua also need to be changed to increase the maximum calls and currently these parameters are configured to 512. I want to know the variables which need to be changed. Thanks, Jitendra Singh Bhadoriya Technical Leader - One97 Communications Ltd +91.9717123309 From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep Karanth Sent: 16 January 2013 06:58 PM To: pjsip list Subject: Re: [pjsip] Maximum calls supported on PJSIP Try # define PJSUA_MAX_CALLS 1024 # define PJSUA_MAX_PLAYERS 1024 On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh <jitendra.bhadoriya@one97.net> wrote: Friends !! thanks for your inputs. We can set the maximum number of simultaneously calls to be supported, by setting following #defines : # define PJSUA_MAX_CALLS (500) # define PJSUA_MAX_PLAYERS 500 Then compile pjproject and then link your sipclient binary with these libraries. My problem is, I want to increase number of calls so that my sipclient can support say 1000 simultaneous calls. But when I try to configure say 600 calls (just to test whether more than 500 call supported or not), then at the startup I get following log in pjsip log file: 18:05:44.674 pjsua_media.c Unable to create media transport: Too many objects of the specified type (PJ_ETOOMANY) [status=70010] In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and prints the following logs: 18:05:44.674 pjsua_media.c RTP socket reachable at 10.0.6.141:41024 18:05:44.674 pjsua_media.c RTCP socket reachable at 10.0.6.141:41025 Now My Question is, which variable needs to be tuned/changed inside the PJSIP code, so that I can support more than 512 calls. Thanks, Jitendra Singh Bhadoriya Technical Leader - One97 Communications Ltd +91.9717123309 <tel:%2B91.9717123309> From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep Karanth Sent: 16 January 2013 04:54 PM To: pjsip list Subject: Re: [pjsip] Maximum calls supported on PJSIP No. I was talking about the internal conference bridge created in pjsua_lib which handles the media processing for pjsua. The below link has better explaination http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing playback of a wave file and not recording as i mentioned in a previous mail. U just need to go to config_site.h and u can copy the config from config_site_sample.h under PJ_CONFIG_MAXIMUM_SPEED and then recompile and try again. On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham <onmyway133@gmail.com> wrote: When reading PJSIP Dev Guide, section 1.2.3 Polling the stack PJSIP stack never creates threads. All execution throughout the stack runs on behalf of application's created thread, either when an API is called or when application calls the polling function Is this what you're talking about? And if yes, please show me the tool you used to make 200-300 calls, thanks -- Khoa Pham HCMC University of Science Faculty of Information Technology _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Khoa Pham HCMC University of Science Faculty of Information Technology
SK
Sandeep Karanth
Wed, Feb 13, 2013 5:05 AM

Hi,
As mentioned above in the tread follow the steps to increase the number
of maximum calls and also you could try to exclude ioqueue_select.c from
build and include ioqueue_winnt.c in the build. This should give you
considerable performance improvement although I am not sure how stable it
is.

Regards,
Sandeep

On Wed, Feb 13, 2013 at 9:51 AM, Prasanna Kumar Nelam <
prasannakumar.n@imimobile.com> wrote:


Hi,****


We are trying for 32 calls in pjsip, ran one instance of pjsip as a server
and other instance as a client. The client makes calls to the server, and
client play a wav file in the call, after completing playing of file it
will close that particular call by calling hangup the call.****


In this scenario, we are facing the problem in the select call in the
ioqueue_select.c file, the server is sending the provisional and complete
responses, but the client is not able to receive these packets, so the
retransmissions happening at server end.****


In data transmissions from client, we are receiving Error sending RTP:
Object is busy (PJ_EBUSY) error;  even these are coming after changing the
send and receive buffers of a socket to 1MB.****


The OS we are using is windows XP, 32bit.****


Can anyone please suggest me how to solve this problem.****


Thanks in advance.****


Prasanna kumar Nelam,****



From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Khoa
Pham
Sent: Saturday, February 02, 2013 6:27 AM

To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP



Hi Jitendra,****


  1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be
    remembered by pjsip !****

  2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other
    endpoint, should we need to open 1000 players ?****


On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh <
jitendra.bhadoriya@one97.net> wrote:****

Thanks everyone for their suggestions. ****

Following steps can be taken to increase number of calls supported on
PJSIP:****


Example: If you have to increase simultaneous calls to 1000 change the
following:****

  1.   Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000****
    
  2.   Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired number
    

of calls).****

  1.   Change __FD_SETSIZE to double to 2000 (double of desired number
    

of calls).****

  1.   Change PJSUA_MAX_PLAYERS to 1000.****
    
  2.   Recompile pjsip using following steps:****
    

a.      ./configure --disable-ssl --disable-sound; ****

b.      make dep****

c.      make ****

d.      make install****

  1.   Recompile your application with new libs.****
    

Thanks,****

Jitendra Singh****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Omar
Hussein
Sent: 16 January 2013 07:53 PM
**

To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP****


Try****


PJ_IOQUEUE_MAX_HANDLES

Regards****

Omar****


On 17/01/2013, at 12:33 AM, "Jitendra Singh" jitendra.bhadoriya@one97.net
wrote:****

Hi Sandeep,****


I have already done that but didn’t mention in the mail. I set both of
these to 600 (for testing 600 calls). But I think some internal parameter
in pjsua also need to be changed to increase the maximum calls and
currently these parameters are configured to 512. I want to know the
variables which need to be changed. ****


Thanks,
Jitendra Singh Bhadoriya****

Technical Leader - One97 Communications Ltd
+91.9717123309****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.orgpjsip-bounces@lists.pjsip.org]
On Behalf Of Sandeep Karanth
Sent: 16 January 2013 06:58 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP
**


Try****

define PJSUA_MAX_CALLS      1024****

define PJSUA_MAX_PLAYERS  1024****


On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh <
jitendra.bhadoriya@one97.net> wrote:****

Friends  !! thanks for your inputs.****


We can set the maximum number of simultaneously calls to be supported, by
setting following #defines :****


define PJSUA_MAX_CALLS    (500)****

define PJSUA_MAX_PLAYERS  500****


Then compile pjproject and then link your sipclient binary with these
libraries.****


My problem is, I want to increase number of calls so that my sipclient can
support say 1000 simultaneous calls. But when I try to configure say 600
calls (just to test whether more than 500 call supported or not), then at
the startup I get following log in pjsip log file:****


18:05:44.674  pjsua_media.c  Unable to create media transport: Too many
objects of the specified type (PJ_ETOOMANY) [status=70010]
****


In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and
prints the following logs:****


18:05:44.674  pjsua_media.c  RTP socket reachable at 10.0.6.141:41024****

18:05:44.674  pjsua_media.c  RTCP socket reachable at 10.0.6.141:41025****


*Now My Question is, which variable needs to be tuned/changed inside the
PJSIP code, so that I can support more than 512 calls. *****



Thanks,
Jitendra Singh Bhadoriya****

Technical Leader - One97 Communications Ltd
+91.9717123309****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep
Karanth
Sent: 16 January 2013 04:54 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP
**


No. I was talking about the internal conference bridge created in
pjsua_lib which handles the media processing for pjsua. The below link has
better explaination ****


http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf

I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing
playback of a wave file and  not recording as i mentioned in a previous
mail. U just need to go to config_site.h and u can copy the config from
config_site_sample.h under  PJ_CONFIG_MAXIMUM_SPEED and then recompile and
try again.****

On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham onmyway133@gmail.com wrote:**
**

When reading PJSIP Dev Guide, section 1.2.3 Polling the stack****


*PJSIP stack never creates threads. All execution throughout the stack
runs on *****

*behalf of application’s created thread, either when an API is called or
when *****

application calls the polling function****


Is this what you're talking about? ****

And if yes, please show me the tool you used to make 200-300 calls, thanks




--
Khoa Pham
HCMC University of Science
Faculty of Information Technology****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



--
Khoa Pham
HCMC University of Science
Faculty of Information Technology****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi, As mentioned above in the tread follow the steps to increase the number of maximum calls and also you could try to exclude ioqueue_select.c from build and include ioqueue_winnt.c in the build. This should give you considerable performance improvement although I am not sure how stable it is. Regards, Sandeep On Wed, Feb 13, 2013 at 9:51 AM, Prasanna Kumar Nelam < prasannakumar.n@imimobile.com> wrote: > ** ** ** > > Hi,**** > > ** ** > > We are trying for 32 calls in pjsip, ran one instance of pjsip as a server > and other instance as a client. The client makes calls to the server, and > client play a wav file in the call, after completing playing of file it > will close that particular call by calling hangup the call.**** > > ** ** > > In this scenario, we are facing the problem in the select call in the > ioqueue_select.c file, the server is sending the provisional and complete > responses, but the client is not able to receive these packets, so the > retransmissions happening at server end.**** > > ** ** > > In data transmissions from client, we are receiving Error sending RTP: > Object is busy (PJ_EBUSY) error; even these are coming after changing the > send and receive buffers of a socket to 1MB.**** > > ** ** > > The OS we are using is windows XP, 32bit.**** > > ** ** > > Can anyone please suggest me how to solve this problem.**** > > ** ** > > Thanks in advance.**** > > ** ** > > Prasanna kumar Nelam,**** > > ** ** > > ** ** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Khoa > Pham > *Sent:* Saturday, February 02, 2013 6:27 AM > > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP > **** > > ** ** > > Hi Jitendra,**** > > ** ** > > 1. Why should set PJSUA_MAX_ACC? It is the maxium account that can be > remembered by pjsip !**** > > 2. Why need PJSUA_MAX_PLAYERS? In case we're playing wav file to the other > endpoint, should we need to open 1000 players ?**** > > ** ** > > On Fri, Feb 1, 2013 at 6:39 PM, Jitendra Singh < > jitendra.bhadoriya@one97.net> wrote:**** > > Thanks everyone for their suggestions. **** > > Following steps can be taken to increase number of calls supported on > PJSIP:**** > > **** > > Example: If you have to increase simultaneous calls to 1000 change the > following:**** > > 1. Change PJSUA_MAX_CALLS to 1000 and PJSUA_MAX_ACC to 1000**** > > 2. Change PJ_IOQUEUE_MAX_HANDLES to 2000 (double of desired number > of calls).**** > > 3. Change __FD_SETSIZE to double to 2000 (double of desired number > of calls).**** > > 4. Change PJSUA_MAX_PLAYERS to 1000.**** > > 5. Recompile pjsip using following steps:**** > > a. ./configure --disable-ssl --disable-sound; **** > > b. make dep**** > > c. make **** > > d. make install**** > > 6. Recompile your application with new libs.**** > > **** > > Thanks,**** > > Jitendra Singh**** > > **** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Omar > Hussein > *Sent:* 16 January 2013 07:53 PM**** > > > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > **** > > Try**** > > **** > > PJ_IOQUEUE_MAX_HANDLES > > Regards**** > > Omar**** > > **** > > > On 17/01/2013, at 12:33 AM, "Jitendra Singh" <jitendra.bhadoriya@one97.net> > wrote:**** > > Hi Sandeep,**** > > **** > > I have already done that but didn’t mention in the mail. I set both of > these to 600 (for testing 600 calls). But I think some internal parameter > in pjsua also need to be changed to increase the maximum calls and > currently these parameters are configured to 512. I want to know the > variables which need to be changed. **** > > **** > > Thanks, > Jitendra Singh Bhadoriya**** > > Technical Leader - One97 Communications Ltd > +91.9717123309**** > > **** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org<pjsip-bounces@lists.pjsip.org>] > *On Behalf Of *Sandeep Karanth > *Sent:* 16 January 2013 06:58 PM > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > **** > > Try**** > > # define PJSUA_MAX_CALLS 1024**** > > # define PJSUA_MAX_PLAYERS 1024**** > > **** > > On Wed, Jan 16, 2013 at 6:47 PM, Jitendra Singh < > jitendra.bhadoriya@one97.net> wrote:**** > > Friends !! thanks for your inputs.**** > > **** > > We can set the maximum number of simultaneously calls to be supported, by > setting following #defines :**** > > **** > > # define PJSUA_MAX_CALLS (500)**** > > # define PJSUA_MAX_PLAYERS 500**** > > **** > > Then compile pjproject and then link your sipclient binary with these > libraries.**** > > **** > > My problem is, I want to increase number of calls so that my sipclient can > support say 1000 simultaneous calls. But when I try to configure say 600 > calls (just to test whether more than 500 call supported or not), then at > the startup I get following log in pjsip log file:**** > > **** > > 18:05:44.674 pjsua_media.c *Unable to create media transport: Too many > objects of the specified type (PJ_ETOOMANY) [status=70010]***** > > **** > > In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and > prints the following logs:**** > > **** > > 18:05:44.674 pjsua_media.c RTP socket reachable at 10.0.6.141:41024**** > > 18:05:44.674 pjsua_media.c RTCP socket reachable at 10.0.6.141:41025**** > > **** > > *Now My Question is, which variable needs to be tuned/changed inside the > PJSIP code, so that I can support more than 512 calls. ***** > > **** > > **** > > Thanks, > Jitendra Singh Bhadoriya**** > > Technical Leader - One97 Communications Ltd > +91.9717123309**** > > **** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Sandeep > Karanth > *Sent:* 16 January 2013 04:54 PM > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > **** > > No. I was talking about the internal conference bridge created in > pjsua_lib which handles the media processing for pjsua. The below link has > better explaination **** > > **** > > http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf > > I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing > playback of a wave file and not recording as i mentioned in a previous > mail. U just need to go to config_site.h and u can copy the config from > config_site_sample.h under PJ_CONFIG_MAXIMUM_SPEED and then recompile and > try again.**** > > On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham <onmyway133@gmail.com> wrote:** > ** > > When reading PJSIP Dev Guide, section 1.2.3 Polling the stack**** > > **** > > *PJSIP stack never creates threads. All execution throughout the stack > runs on ***** > > *behalf of application’s created thread, either when an API is called or > when ***** > > *application calls the polling function***** > > **** > > Is this what you're talking about? **** > > And if yes, please show me the tool you used to make 200-300 calls, thanks > **** > > > **** > > **** > > -- > Khoa Pham > ****HCMC** **University**** of Science > Faculty of Information Technology**** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > **** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > **** > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > > > **** > > ** ** > > -- > Khoa Pham > ****HCMC** **University**** of Science > Faculty of Information Technology**** > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >
MD
Michael Derfler
Wed, Feb 13, 2013 7:22 AM

That could be a problem with the default limit for open file descriptors
available to the shell in linux (I had the same problem).
check the max number of open file descriptors in the console:
"ulimit -n"
The default is 1024.
You can get max 512 connections now because 1024 sockets are "opended" (rtp

  • rtcp)

to increase the limit just type  i.e.: ulimit -n 4096 or programmatically:
change __FD_SETSIZE 1024 to something bigger (don't exactly where it is
located)

Regards,
Mike

2013/1/16 Jitendra Singh jitendra.bhadoriya@one97.net

Friends  !! thanks for your inputs.****


We can set the maximum number of simultaneously calls to be supported, by
setting following #defines :****


define PJSUA_MAX_CALLS    (500)****

define PJSUA_MAX_PLAYERS  500****


Then compile pjproject and then link your sipclient binary with these
libraries.****


My problem is, I want to increase number of calls so that my sipclient can
support say 1000 simultaneous calls. But when I try to configure say 600
calls (just to test whether more than 500 call supported or not), then at
the startup I get following log in pjsip log file:****


18:05:44.674  pjsua_media.c  Unable to create media transport: Too many
objects of the specified type (PJ_ETOOMANY) [status=70010]


In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and
prints the following logs:****


18:05:44.674  pjsua_media.c  RTP socket reachable at 10.0.6.141:41024****

18:05:44.674  pjsua_media.c  RTCP socket reachable at 10.0.6.141:41025****


*Now My Question is, which variable needs to be tuned/changed inside the
PJSIP code, so that I can support more than 512 calls. *



Thanks,
Jitendra Singh Bhadoriya****

Technical Leader - One97 Communications Ltd
+91.9717123309****


From: pjsip [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Sandeep
Karanth
Sent: 16 January 2013 04:54 PM
To: pjsip list
Subject: Re: [pjsip] Maximum calls supported on PJSIP
**


No. I was talking about the internal conference bridge created in
pjsua_lib which handles the media processing for pjsua. The below link has
better explaination ****


http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf

I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing
playback of a wave file and  not recording as i mentioned in a previous
mail. U just need to go to config_site.h and u can copy the config from
config_site_sample.h under  PJ_CONFIG_MAXIMUM_SPEED and then recompile and
try again.****

On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham onmyway133@gmail.com wrote:**
**

When reading PJSIP Dev Guide, section 1.2.3 Polling the stack****


*PJSIP stack never creates threads. All execution throughout the stack
runs on *****

*behalf of application’s created thread, either when an API is called or
when *****

application calls the polling function****


Is this what you're talking about? ****

And if yes, please show me the tool you used to make 200-300 calls, thanks




--
Khoa Pham
HCMC University of Science
Faculty of Information Technology****


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org****



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

That could be a problem with the default limit for open file descriptors available to the shell in linux (I had the same problem). check the max number of open file descriptors in the console: "ulimit -n" The default is 1024. You can get max 512 connections now because 1024 sockets are "opended" (rtp + rtcp) to increase the limit just type i.e.: ulimit -n 4096 or programmatically: change __FD_SETSIZE 1024 to something bigger (don't exactly where it is located) Regards, Mike 2013/1/16 Jitendra Singh <jitendra.bhadoriya@one97.net> > Friends !! thanks for your inputs.**** > > ** ** > > We can set the maximum number of simultaneously calls to be supported, by > setting following #defines :**** > > ** ** > > # define PJSUA_MAX_CALLS (500)**** > > # define PJSUA_MAX_PLAYERS 500**** > > ** ** > > Then compile pjproject and then link your sipclient binary with these > libraries.**** > > ** ** > > My problem is, I want to increase number of calls so that my sipclient can > support say 1000 simultaneous calls. But when I try to configure say 600 > calls (just to test whether more than 500 call supported or not), then at > the startup I get following log in pjsip log file:**** > > ** ** > > 18:05:44.674 pjsua_media.c *Unable to create media transport: Too many > objects of the specified type (PJ_ETOOMANY) [status=70010]* > > ** ** > > In this case Pjsip was able to open only 512 RTP and 512 RTCP sockets and > prints the following logs:**** > > ** ** > > 18:05:44.674 pjsua_media.c RTP socket reachable at 10.0.6.141:41024**** > > 18:05:44.674 pjsua_media.c RTCP socket reachable at 10.0.6.141:41025**** > > ** ** > > *Now My Question is, which variable needs to be tuned/changed inside the > PJSIP code, so that I can support more than 512 calls. * > > ** ** > > ** ** > > Thanks, > Jitendra Singh Bhadoriya**** > > Technical Leader - One97 Communications Ltd > +91.9717123309**** > > ** ** > > *From:* pjsip [mailto:pjsip-bounces@lists.pjsip.org] *On Behalf Of *Sandeep > Karanth > *Sent:* 16 January 2013 04:54 PM > *To:* pjsip list > *Subject:* Re: [pjsip] Maximum calls supported on PJSIP**** > > ** ** > > No. I was talking about the internal conference bridge created in > pjsua_lib which handles the media processing for pjsua. The below link has > better explaination **** > > ** ** > > http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf > > I didnt use any tool to get 200-300 calls from pjsua. And btw I was doing > playback of a wave file and not recording as i mentioned in a previous > mail. U just need to go to config_site.h and u can copy the config from > config_site_sample.h under PJ_CONFIG_MAXIMUM_SPEED and then recompile and > try again.**** > > On Wed, Jan 16, 2013 at 4:45 PM, Khoa Pham <onmyway133@gmail.com> wrote:** > ** > > When reading PJSIP Dev Guide, section 1.2.3 Polling the stack**** > > ** ** > > *PJSIP stack never creates threads. All execution throughout the stack > runs on ***** > > *behalf of application’s created thread, either when an API is called or > when ***** > > *application calls the polling function***** > > ** ** > > Is this what you're talking about? **** > > And if yes, please show me the tool you used to make 200-300 calls, thanks > **** > > > **** > > ** ** > > -- > Khoa Pham > HCMC University of Science > Faculty of Information Technology**** > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org**** > > ** ** > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >