using my own conference bridge instead of pjsua's

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

 



Hi,

I followed the suggestions in
http://www.pjsip.org/trac/wiki/FAQ#pjsua-lib-perf. The
difference is that I didn't put one conference bridge
per call, but I'm going to use one per conference
room. My application is a sip conference room, that
has many small rooms of about 5 persons. I have this
same application running on top of the pjsua with a
single conference bridge, but the cpu usage is too
high even for small amount of calls (when I have a big
pjsua_config::max_calls) . I followed the sugestions
like avoiding resample by keeping all sample rates the
same (8 kHz), using the codec pcma or pcmu, disabling
debug mode, disabling echo canceller, and using the
settings PJ_CONFIG_MAXIMUM_SPEED inside config_site.h.

If I compile the application with
pjsua_config::max_calls at a small value (up to 100)
the CPU usage is ok, around 50% (for up to 50~80
calls), but if I compile it to a large number like 500
calls I get a very high CPU usage even for a small
amount of calls (like 5 or 7 calls).

So I followed the suggestion in the wiki, but the
problem remains the same. In my code I made only one
conference bridge just to test one room alone. the
conference bridge has 50 slots, enough for 15 calls to
play wavs and make a conference. I created the
conference bridge with the correct sampling rate (8
kHz), using linear resample and 16 bits. Even now that
I don't use the conference bridge from pjsua, the
value of pjsua_config::max_calls makes a big
difference in my code, the same as before.

One thing to note is that the high CPU only happens
when I connect two calls, but not with wav players /
recorder. So I can make a application that handles
hundreds of calls if they don't need to be connected,
but this is not the case.

I've tryed different compilers already (making a
sample code in plain C and one other in C++).
My system is running on Linux debian 4.0 (etch) on a
semprom 3000+ with 1024 MB RAM.

Is there anything I'm missing here? If you want I can
try to make a small sample code and post it, but I
don't think it can get very small...


Thanks for all help,

Thiago


      Abra sua conta no Yahoo! Mail, o ?nico sem limite de espa?o para armazenamento!
http://br.mail.yahoo.com/



[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