We are having a problem with the max_calls settings on PJSIP and
Asterisk. We are stress-testing our Asterisk server, but found that we
had a max 32 active call limitation on our PJSIP module. We are using
PJSIP to test our Asterisk server
After a quick google we found the following settings would fix the problem.
|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.|
Somehow This is not working for us; What are we doing wrong here?
Anybody suggestions. Help would be higly appreciated.
Our code in the config_site.php file
|/* * This file contains several sample settings especially for Windows *
Mobile and Symbian targets. You can include this file in your *
<pj/config_site.h>file. * * The Windows Mobile and Symbian settings will
be activated * automatically if you include this file. * * In addition,
you may specify one of these macros (before including * this file) to
activate additional settings: * * #define PJ_CONFIG_NOKIA_APS_DIRECT *
Use this macro to activate the APS-Direct feature. Please see *
http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more * info. *
- #define PJ_CONFIG_WIN32_WMME_DIRECT * Configuration to activate
"APS-Direct" media mode on Windows or * Windows Mobile, useful for
testing purposes only. / / * Typical configuration for WinCE target.
/ #if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 / * PJLIB settings.
/ / Disable floating point support / #define PJ_HAS_FLOATING_POINT 0
/ * PJMEDIA settings / / Select codecs to disable / #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_ILBC_CODEC 0 / We probably
need more buffers on WM, so increase the limit / #define
PJMEDIA_SOUND_BUFFER_COUNT 32 / Fine tune Speex's default settings for
best performance/quality / #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY
5 / For CPU reason, disable speex AEC and use the echo suppressor. /
#define PJMEDIA_HAS_SPEEX_AEC 0 / Previously, resampling is disabled
due to performance reason and * this condition prevented some 'light'
wideband codecs (e.g: G722.1) * to work along with narrowband codecs.
Lately, some tests showed * that 16kHz <-> 8kHz resampling using
libresample small filter was * affordable on ARM9 260 MHz, so here we
decided to enable resampling. * Note that it is important to make sure
that libresample is created * using small filter. For example
PJSUA_DEFAULT_CODEC_QUALITY must * be set to 3 or 4 so pjsua-lib will
apply small filter resampling. / //#define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_NONE #define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_LIBRESAMPLE / Use the lighter WSOLA implementation /
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE / * PJSIP
settings. / / Set maximum number of dialog/transaction/calls to
minimum to reduce * memory usage / #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 / * PJSUA
settings / / Default codec quality, previously was set to 5, however
it is now * set to 4 to make sure pjsua instantiates resampler with
small filter. / #define PJSUA_DEFAULT_CODEC_QUALITY 4 / Set maximum
number of objects to minimum to reduce memory usage / #define
PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64 #define
PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* PJ_WIN32_WINCE / / * Typical configuration for Symbian OS
target / #if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 / * PJLIB settings.
/ / Disable floating point support / #define PJ_HAS_FLOATING_POINT 0
/ Misc PJLIB setting / #define PJ_MAXPATH 80 / This is important for
Symbian. Symbian lacks vsnprintf(), so * if the log buffer is not long
enough it's possible that * large incoming packet will corrupt memory
when the log tries * to log the packet. / #define PJ_LOG_MAX_SIZE
(PJSIP_MAX_PKT_LEN+500) / Since we don't have threads, log buffer can
use static buffer * rather than stack / #define PJ_LOG_USE_STACK_BUFFER
0 / Disable check stack since it increases footprint / #define
PJ_OS_HAS_CHECK_STACK 0 / * PJMEDIA settings / / Disable non-Symbian
audio devices / #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define
PJMEDIA_AUDIO_DEV_HAS_WMME 0 / Select codecs to disable / #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_ILBC_CODEC 0 #define
PJMEDIA_HAS_G722_CODEC 0 / Fine tune Speex's default settings for best
performance/quality / #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 /
For CPU reason, disable speex AEC and use the echo suppressor. /
#define PJMEDIA_HAS_SPEEX_AEC 0 / Previously, resampling is disabled
due to performance reason and * this condition prevented some 'light'
wideband codecs (e.g: G722.1) * to work along with narrowband codecs.
Lately, some tests showed * that 16kHz <-> 8kHz resampling using
libresample small filter was * affordable on ARM9 222 MHz, so here we
decided to enable resampling. * Note that it is important to make sure
that libresample is created * using small filter. For example
PJSUA_DEFAULT_CODEC_QUALITY must * be set to 3 or 4 so pjsua-lib will
apply small filter resampling. / //#define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_NONE #define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_LIBRESAMPLE / Use the lighter WSOLA implementation /
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE / We probably
need more buffers especially if MDA audio backend * is used, so increase
the limit / #define PJMEDIA_SOUND_BUFFER_COUNT 32 / * PJSIP settings.
/ / Disable safe module access, since we don't use multithreading /
#define PJSIP_SAFE_MODULE 0 / Use large enough packet size / #define
PJSIP_MAX_PKT_LEN 2000 / Symbian has problem with too many large blocks
/ #define PJSIP_POOL_LEN_ENDPT 1000 #define PJSIP_POOL_INC_ENDPT 1000
#define PJSIP_POOL_RDATA_LEN 2000 #define PJSIP_POOL_RDATA_INC 2000
#define PJSIP_POOL_LEN_TDATA 2000 #define PJSIP_POOL_INC_TDATA 512
#define PJSIP_POOL_LEN_UA 2000 #define PJSIP_POOL_INC_UA 1000 #define
PJSIP_POOL_TSX_LAYER_LEN 256 #define PJSIP_POOL_TSX_LAYER_INC 256
#define PJSIP_POOL_TSX_LEN 512 #define PJSIP_POOL_TSX_INC 128 / * PJSUA
settings. / / Default codec quality, previously was set to 5, however
it is now * set to 4 to make sure pjsua instantiates resampler with
small filter. / #define PJSUA_DEFAULT_CODEC_QUALITY 4 / Set maximum
number of dialog/transaction/calls to minimum / #define
PJSIP_MAX_TSX_COUNT 31 #define PJSIP_MAX_DIALOG_COUNT 31 #define
PJSUA_MAX_CALLS 64 / Other pjsua settings / #define PJSUA_MAX_ACC 64
#define PJSUA_MAX_PLAYERS 64 #define PJSUA_MAX_RECORDERS 4 #define
PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2PJSUA_MAX_PLAYERS) #define
PJSUA_MAX_BUDDIES 32 #endif /* * Additional configuration to activate
APS-Direct feature for * Nokia S60 target * * Please see
http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct / #ifdef
PJ_CONFIG_NOKIA_APS_DIRECT / MUST use switchboard rather than the
conference bridge / #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 / Enable
APS sound device backend and disable MDA & VAS / #define
PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS
1 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 0 / Enable passthrough codec
framework / #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 / And selectively
enable which codecs are supported by the handset / #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 #endif / * Additional
configuration to activate VAS-Direct feature for * Nokia S60 target * *
Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct /
#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT / MUST use switchboard rather than
the conference bridge / #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 /
Enable VAS sound device backend and disable MDA & APS / #define
PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS
0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1 / Enable passthrough codec
framework / #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 / And selectively
enable which codecs are supported by the handset / #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 #endif / * Configuration to
activate "APS-Direct" media mode on Windows, * useful for testing
purposes only. / #ifdef PJ_CONFIG_WIN32_WMME_DIRECT / MUST use
switchboard rather than the conference bridge / #define
PJMEDIA_CONF_USE_SWITCH_BOARD 1 / Only WMME supports the "direct"
feature / #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define
PJMEDIA_AUDIO_DEV_HAS_WMME 1 / Enable passthrough codec framework /
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 / Only PCMA and PCMU are
supported by WMME-direct / #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 0 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 0 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 0 #endif / * iPhone sample settings.
/ #if PJ_CONFIG_IPHONE / * PJLIB settings. / / Both armv6 and armv7
has FP hardware support. * See https://trac.pjsip.org/repos/ticket/1589
for more info / #define PJ_HAS_FLOATING_POINT 1 / * PJMEDIA settings
/ / We have our own native CoreAudio backend / #define
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define PJMEDIA_AUDIO_DEV_HAS_WMME 0
#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1 / The CoreAudio backend has
built-in echo canceller! / #define PJMEDIA_HAS_SPEEX_AEC 0 / Disable
some codecs / #define PJMEDIA_HAS_L16_CODEC 0 #define
PJMEDIA_HAS_G722_CODEC 0 / Use the built-in CoreAudio's iLBC codec
(yay!) / #define PJMEDIA_HAS_ILBC_CODEC 1 #define
PJMEDIA_ILBC_CODEC_USE_COREAUDIO 1 / Fine tune Speex's default settings
for best performance/quality / #define
PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 / * PJSIP settings. / /
Increase allowable packet size, just in case / //#define
PJSIP_MAX_PKT_LEN 2000 / * PJSUA settings. / / Default codec quality,
previously was set to 5, however it is now * set to 4 to make sure pjsua
instantiates resampler with small filter. / #define
PJSUA_DEFAULT_CODEC_QUALITY 4 / Set maximum number of
dialog/transaction/calls to minimum / #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 / Other
pjsua settings / #define PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64
#define PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* * Android sample settings. / #if PJ_CONFIG_ANDROID #define
PJ_ANDROID 1 / * PJLIB settings. / / Disable floating point support
/ #undef PJ_HAS_FLOATING_POINT #define PJ_HAS_FLOATING_POINT 0 / *
PJMEDIA settings / / We have our own OpenSL ES backend / #define
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define PJMEDIA_AUDIO_DEV_HAS_WMME 0
#define PJMEDIA_AUDIO_DEV_HAS_OPENSL 0 #define
PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 1 / Disable some codecs / #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_G722_CODEC 0 / Fine tune
Speex's default settings for best performance/quality / #define
PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 / * PJSIP settings. / /
Increase allowable packet size, just in case / //#define
PJSIP_MAX_PKT_LEN 2000 / * PJSUA settings. / / Default codec quality,
previously was set to 5, however it is now * set to 4 to make sure pjsua
instantiates resampler with small filter. / #define
PJSUA_DEFAULT_CODEC_QUALITY 4 / Set maximum number of
dialog/transaction/calls to minimum / #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 / Other
pjsua settings / #define PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64
#define PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* * BB10 / #if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10 /
Quality 3 - 4 to use resampling small filter / #define
PJSUA_DEFAULT_CODEC_QUALITY 4 #define PJMEDIA_HAS_LEGACY_SOUND_API 0
#undef PJMEDIA_HAS_SPEEX_AEC #define PJMEDIA_HAS_SPEEX_AEC 0 #undef
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO
0 #endif / * Minimum size / #ifdef PJ_CONFIG_MINIMAL_SIZE # undef
PJ_OS_HAS_CHECK_STACK # define PJ_OS_HAS_CHECK_STACK 0 # define
PJ_LOG_MAX_LEVEL 0 # define PJ_ENABLE_EXTRA_CHECK 0 # define
PJ_HAS_ERROR_STRING 0 # undef PJ_IOQUEUE_MAX_HANDLES / Putting max
handles to lower than 32 will make pj_fd_set_t size smaller * than
native fdset_t and will trigger assertion on sock_select.c. / # define
PJ_IOQUEUE_MAX_HANDLES 128 # define PJ_CRC32_HAS_TABLES 0 # define
PJSIP_MAX_TSX_COUNT 15 # define PJSIP_MAX_DIALOG_COUNT 15 # define
PJSIP_UDP_SO_SNDBUF_SIZE 4000 # define PJSIP_UDP_SO_RCVBUF_SIZE 4000 #
define PJMEDIA_HAS_ALAW_ULAW_TABLE 0 #elif
defined(PJ_CONFIG_MAXIMUM_SPEED) # define PJ_SCANNER_USE_BITWISE 0 #
undef PJ_OS_HAS_CHECK_STACK # define PJ_OS_HAS_CHECK_STACK 0 # define
PJ_LOG_MAX_LEVEL 3 # define PJ_ENABLE_EXTRA_CHECK 0 # define
PJ_IOQUEUE_MAX_HANDLES 5000 # define PJSIP_MAX_TSX_COUNT ((6401024)-1)
define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1) # define
PJSIP_UDP_SO_SNDBUF_SIZE (2410241024) # define
PJSIP_UDP_SO_RCVBUF_SIZE (2410241024) # define PJ_DEBUG 0 # define
PJSIP_SAFE_MODULE 0 # define PJ_HAS_STRICMP_ALNUM 0 # define
PJ_HASH_USE_OWN_TOLOWER 1 # define PJSIP_UNESCAPE_IN_PLACE 1 # if
defined(PJ_WIN32) || defined(PJ_WIN64) # define PJSIP_MAX_NET_EVENTS 10
endif # define PJSUA_MAX_CALLS 512 #endif|
We have also set the
|__FD_SETSIZE|
We are quite lost as this moment, what are we doing wrong here.
Help would be highly appreciated.
We are having a problem with the max_calls settings on PJSIP and
Asterisk. We are stress-testing our Asterisk server, but found that we
had a max 32 active call limitation on our PJSIP module. We are using
PJSIP to test our Asterisk server
After a quick google we found the following settings would fix the problem.
|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.|
Somehow This is not working for us; What are we doing wrong here?
Anybody suggestions. Help would be higly appreciated.
Our code in the config_site.php file
|/* * This file contains several sample settings especially for Windows *
Mobile and Symbian targets. You can include this file in your *
<pj/config_site.h>file. * * The Windows Mobile and Symbian settings will
be activated * automatically if you include this file. * * In addition,
you may specify one of these macros (before including * this file) to
activate additional settings: * * #define PJ_CONFIG_NOKIA_APS_DIRECT *
Use this macro to activate the APS-Direct feature. Please see *
http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more * info. *
* #define PJ_CONFIG_WIN32_WMME_DIRECT * Configuration to activate
"APS-Direct" media mode on Windows or * Windows Mobile, useful for
testing purposes only. */ /* * Typical configuration for WinCE target.
*/ #if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 /* * PJLIB settings.
*/ /* Disable floating point support */ #define PJ_HAS_FLOATING_POINT 0
/* * PJMEDIA settings */ /* Select codecs to disable */ #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_ILBC_CODEC 0 /* We probably
need more buffers on WM, so increase the limit */ #define
PJMEDIA_SOUND_BUFFER_COUNT 32 /* Fine tune Speex's default settings for
best performance/quality */ #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY
5 /* For CPU reason, disable speex AEC and use the echo suppressor. */
#define PJMEDIA_HAS_SPEEX_AEC 0 /* Previously, resampling is disabled
due to performance reason and * this condition prevented some 'light'
wideband codecs (e.g: G722.1) * to work along with narrowband codecs.
Lately, some tests showed * that 16kHz <-> 8kHz resampling using
libresample small filter was * affordable on ARM9 260 MHz, so here we
decided to enable resampling. * Note that it is important to make sure
that libresample is created * using small filter. For example
PJSUA_DEFAULT_CODEC_QUALITY must * be set to 3 or 4 so pjsua-lib will
apply small filter resampling. */ //#define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_NONE #define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_LIBRESAMPLE /* Use the lighter WSOLA implementation */
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE /* * PJSIP
settings. */ /* Set maximum number of dialog/transaction/calls to
minimum to reduce * memory usage */ #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 /* * PJSUA
settings */ /* Default codec quality, previously was set to 5, however
it is now * set to 4 to make sure pjsua instantiates resampler with
small filter. */ #define PJSUA_DEFAULT_CODEC_QUALITY 4 /* Set maximum
number of objects to minimum to reduce memory usage */ #define
PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64 #define
PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* PJ_WIN32_WINCE */ /* * Typical configuration for Symbian OS
target */ #if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 /* * PJLIB settings.
*/ /* Disable floating point support */ #define PJ_HAS_FLOATING_POINT 0
/* Misc PJLIB setting */ #define PJ_MAXPATH 80 /* This is important for
Symbian. Symbian lacks vsnprintf(), so * if the log buffer is not long
enough it's possible that * large incoming packet will corrupt memory
when the log tries * to log the packet. */ #define PJ_LOG_MAX_SIZE
(PJSIP_MAX_PKT_LEN+500) /* Since we don't have threads, log buffer can
use static buffer * rather than stack */ #define PJ_LOG_USE_STACK_BUFFER
0 /* Disable check stack since it increases footprint */ #define
PJ_OS_HAS_CHECK_STACK 0 /* * PJMEDIA settings */ /* Disable non-Symbian
audio devices */ #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define
PJMEDIA_AUDIO_DEV_HAS_WMME 0 /* Select codecs to disable */ #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_ILBC_CODEC 0 #define
PJMEDIA_HAS_G722_CODEC 0 /* Fine tune Speex's default settings for best
performance/quality */ #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 /*
For CPU reason, disable speex AEC and use the echo suppressor. */
#define PJMEDIA_HAS_SPEEX_AEC 0 /* Previously, resampling is disabled
due to performance reason and * this condition prevented some 'light'
wideband codecs (e.g: G722.1) * to work along with narrowband codecs.
Lately, some tests showed * that 16kHz <-> 8kHz resampling using
libresample small filter was * affordable on ARM9 222 MHz, so here we
decided to enable resampling. * Note that it is important to make sure
that libresample is created * using small filter. For example
PJSUA_DEFAULT_CODEC_QUALITY must * be set to 3 or 4 so pjsua-lib will
apply small filter resampling. */ //#define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_NONE #define PJMEDIA_RESAMPLE_IMP
PJMEDIA_RESAMPLE_LIBRESAMPLE /* Use the lighter WSOLA implementation */
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE /* We probably
need more buffers especially if MDA audio backend * is used, so increase
the limit */ #define PJMEDIA_SOUND_BUFFER_COUNT 32 /* * PJSIP settings.
*/ /* Disable safe module access, since we don't use multithreading */
#define PJSIP_SAFE_MODULE 0 /* Use large enough packet size */ #define
PJSIP_MAX_PKT_LEN 2000 /* Symbian has problem with too many large blocks
*/ #define PJSIP_POOL_LEN_ENDPT 1000 #define PJSIP_POOL_INC_ENDPT 1000
#define PJSIP_POOL_RDATA_LEN 2000 #define PJSIP_POOL_RDATA_INC 2000
#define PJSIP_POOL_LEN_TDATA 2000 #define PJSIP_POOL_INC_TDATA 512
#define PJSIP_POOL_LEN_UA 2000 #define PJSIP_POOL_INC_UA 1000 #define
PJSIP_POOL_TSX_LAYER_LEN 256 #define PJSIP_POOL_TSX_LAYER_INC 256
#define PJSIP_POOL_TSX_LEN 512 #define PJSIP_POOL_TSX_INC 128 /* * PJSUA
settings. */ /* Default codec quality, previously was set to 5, however
it is now * set to 4 to make sure pjsua instantiates resampler with
small filter. */ #define PJSUA_DEFAULT_CODEC_QUALITY 4 /* Set maximum
number of dialog/transaction/calls to minimum */ #define
PJSIP_MAX_TSX_COUNT 31 #define PJSIP_MAX_DIALOG_COUNT 31 #define
PJSUA_MAX_CALLS 64 /* Other pjsua settings */ #define PJSUA_MAX_ACC 64
#define PJSUA_MAX_PLAYERS 64 #define PJSUA_MAX_RECORDERS 4 #define
PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) #define
PJSUA_MAX_BUDDIES 32 #endif /* * Additional configuration to activate
APS-Direct feature for * Nokia S60 target * * Please see
http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct */ #ifdef
PJ_CONFIG_NOKIA_APS_DIRECT /* MUST use switchboard rather than the
conference bridge */ #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 /* Enable
APS sound device backend and disable MDA & VAS */ #define
PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS
1 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 0 /* Enable passthrough codec
framework */ #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 /* And selectively
enable which codecs are supported by the handset */ #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 #endif /* * Additional
configuration to activate VAS-Direct feature for * Nokia S60 target * *
Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct */
#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT /* MUST use switchboard rather than
the conference bridge */ #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 /*
Enable VAS sound device backend and disable MDA & APS */ #define
PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS
0 #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1 /* Enable passthrough codec
framework */ #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 /* And selectively
enable which codecs are supported by the handset */ #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 #endif /* * Configuration to
activate "APS-Direct" media mode on Windows, * useful for testing
purposes only. */ #ifdef PJ_CONFIG_WIN32_WMME_DIRECT /* MUST use
switchboard rather than the conference bridge */ #define
PJMEDIA_CONF_USE_SWITCH_BOARD 1 /* Only WMME supports the "direct"
feature */ #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define
PJMEDIA_AUDIO_DEV_HAS_WMME 1 /* Enable passthrough codec framework */
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 /* Only PCMA and PCMU are
supported by WMME-direct */ #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 0 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 0 #define
PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 0 #endif /* * iPhone sample settings.
*/ #if PJ_CONFIG_IPHONE /* * PJLIB settings. */ /* Both armv6 and armv7
has FP hardware support. * See https://trac.pjsip.org/repos/ticket/1589
for more info */ #define PJ_HAS_FLOATING_POINT 1 /* * PJMEDIA settings
*/ /* We have our own native CoreAudio backend */ #define
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define PJMEDIA_AUDIO_DEV_HAS_WMME 0
#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1 /* The CoreAudio backend has
built-in echo canceller! */ #define PJMEDIA_HAS_SPEEX_AEC 0 /* Disable
some codecs */ #define PJMEDIA_HAS_L16_CODEC 0 #define
PJMEDIA_HAS_G722_CODEC 0 /* Use the built-in CoreAudio's iLBC codec
(yay!) */ #define PJMEDIA_HAS_ILBC_CODEC 1 #define
PJMEDIA_ILBC_CODEC_USE_COREAUDIO 1 /* Fine tune Speex's default settings
for best performance/quality */ #define
PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 /* * PJSIP settings. */ /*
Increase allowable packet size, just in case */ //#define
PJSIP_MAX_PKT_LEN 2000 /* * PJSUA settings. */ /* Default codec quality,
previously was set to 5, however it is now * set to 4 to make sure pjsua
instantiates resampler with small filter. */ #define
PJSUA_DEFAULT_CODEC_QUALITY 4 /* Set maximum number of
dialog/transaction/calls to minimum */ #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 /* Other
pjsua settings */ #define PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64
#define PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* * Android sample settings. */ #if PJ_CONFIG_ANDROID #define
PJ_ANDROID 1 /* * PJLIB settings. */ /* Disable floating point support
*/ #undef PJ_HAS_FLOATING_POINT #define PJ_HAS_FLOATING_POINT 0 /* *
PJMEDIA settings */ /* We have our own OpenSL ES backend */ #define
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 #define PJMEDIA_AUDIO_DEV_HAS_WMME 0
#define PJMEDIA_AUDIO_DEV_HAS_OPENSL 0 #define
PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 1 /* Disable some codecs */ #define
PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_G722_CODEC 0 /* Fine tune
Speex's default settings for best performance/quality */ #define
PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 /* * PJSIP settings. */ /*
Increase allowable packet size, just in case */ //#define
PJSIP_MAX_PKT_LEN 2000 /* * PJSUA settings. */ /* Default codec quality,
previously was set to 5, however it is now * set to 4 to make sure pjsua
instantiates resampler with small filter. */ #define
PJSUA_DEFAULT_CODEC_QUALITY 4 /* Set maximum number of
dialog/transaction/calls to minimum */ #define PJSIP_MAX_TSX_COUNT 31
#define PJSIP_MAX_DIALOG_COUNT 31 #define PJSUA_MAX_CALLS 64 /* Other
pjsua settings */ #define PJSUA_MAX_ACC 64 #define PJSUA_MAX_PLAYERS 64
#define PJSUA_MAX_RECORDERS 4 #define PJSUA_MAX_CONF_PORTS
(PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) #define PJSUA_MAX_BUDDIES 32
#endif /* * BB10 */ #if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10 /*
Quality 3 - 4 to use resampling small filter */ #define
PJSUA_DEFAULT_CODEC_QUALITY 4 #define PJMEDIA_HAS_LEGACY_SOUND_API 0
#undef PJMEDIA_HAS_SPEEX_AEC #define PJMEDIA_HAS_SPEEX_AEC 0 #undef
PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO
0 #endif /* * Minimum size */ #ifdef PJ_CONFIG_MINIMAL_SIZE # undef
PJ_OS_HAS_CHECK_STACK # define PJ_OS_HAS_CHECK_STACK 0 # define
PJ_LOG_MAX_LEVEL 0 # define PJ_ENABLE_EXTRA_CHECK 0 # define
PJ_HAS_ERROR_STRING 0 # undef PJ_IOQUEUE_MAX_HANDLES /* Putting max
handles to lower than 32 will make pj_fd_set_t size smaller * than
native fdset_t and will trigger assertion on sock_select.c. */ # define
PJ_IOQUEUE_MAX_HANDLES 128 # define PJ_CRC32_HAS_TABLES 0 # define
PJSIP_MAX_TSX_COUNT 15 # define PJSIP_MAX_DIALOG_COUNT 15 # define
PJSIP_UDP_SO_SNDBUF_SIZE 4000 # define PJSIP_UDP_SO_RCVBUF_SIZE 4000 #
define PJMEDIA_HAS_ALAW_ULAW_TABLE 0 #elif
defined(PJ_CONFIG_MAXIMUM_SPEED) # define PJ_SCANNER_USE_BITWISE 0 #
undef PJ_OS_HAS_CHECK_STACK # define PJ_OS_HAS_CHECK_STACK 0 # define
PJ_LOG_MAX_LEVEL 3 # define PJ_ENABLE_EXTRA_CHECK 0 # define
PJ_IOQUEUE_MAX_HANDLES 5000 # define PJSIP_MAX_TSX_COUNT ((640*1024)-1)
# define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1) # define
PJSIP_UDP_SO_SNDBUF_SIZE (24*1024*1024) # define
PJSIP_UDP_SO_RCVBUF_SIZE (24*1024*1024) # define PJ_DEBUG 0 # define
PJSIP_SAFE_MODULE 0 # define PJ_HAS_STRICMP_ALNUM 0 # define
PJ_HASH_USE_OWN_TOLOWER 1 # define PJSIP_UNESCAPE_IN_PLACE 1 # if
defined(PJ_WIN32) || defined(PJ_WIN64) # define PJSIP_MAX_NET_EVENTS 10
# endif # define PJSUA_MAX_CALLS 512 #endif|
We have also set the
|__FD_SETSIZE|
We are quite lost as this moment, what are we doing wrong here.
Help would be highly appreciated.