call limited 32 calls on pjsip max_calls

WS
Wesley Schravendijk
Mon, May 21, 2018 6:16 AM

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 (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.