2
* This file contains several sample settings especially for Windows
3
* Mobile and Symbian targets. You can include this file in your
4
* <pj/config_site.h> file.
6
* The Windows Mobile and Symbian settings will be activated
7
* automatically if you include this file.
9
* In addition, you may specify one of these macros (before including
10
* this file) to activate additional settings:
12
* #define PJ_CONFIG_NOKIA_APS_DIRECT
13
* Use this macro to activate the APS-Direct feature. Please see
14
* http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more
17
* #define PJ_CONFIG_WIN32_WMME_DIRECT
18
* Configuration to activate "APS-Direct" media mode on Windows or
19
* Windows Mobile, useful for testing purposes only.
24
* Typical configuration for WinCE target.
26
#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0
32
/* Disable floating point support */
33
#define PJ_HAS_FLOATING_POINT 0
39
/* Select codecs to disable */
40
#define PJMEDIA_HAS_L16_CODEC 0
41
#define PJMEDIA_HAS_ILBC_CODEC 0
43
/* We probably need more buffers on WM, so increase the limit */
44
#define PJMEDIA_SOUND_BUFFER_COUNT 32
46
/* Fine tune Speex's default settings for best performance/quality */
47
#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
49
/* For CPU reason, disable speex AEC and use the echo suppressor. */
50
#define PJMEDIA_HAS_SPEEX_AEC 0
52
/* Previously, resampling is disabled due to performance reason and
53
* this condition prevented some 'light' wideband codecs (e.g: G722.1)
54
* to work along with narrowband codecs. Lately, some tests showed
55
* that 16kHz <-> 8kHz resampling using libresample small filter was
56
* affordable on ARM9 260 MHz, so here we decided to enable resampling.
57
* Note that it is important to make sure that libresample is created
58
* using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
59
* be set to 3 or 4 so pjsua-lib will apply small filter resampling.
61
//#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE
62
#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE
64
/* Use the lighter WSOLA implementation */
65
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE
71
/* Set maximum number of dialog/transaction/calls to minimum to reduce
74
#define PJSIP_MAX_TSX_COUNT 31
75
#define PJSIP_MAX_DIALOG_COUNT 31
76
#define PJSUA_MAX_CALLS 4
82
/* Default codec quality, previously was set to 5, however it is now
83
* set to 4 to make sure pjsua instantiates resampler with small filter.
85
#define PJSUA_DEFAULT_CODEC_QUALITY 4
87
/* Set maximum number of objects to minimum to reduce memory usage */
88
#define PJSUA_MAX_ACC 4
89
#define PJSUA_MAX_PLAYERS 4
90
#define PJSUA_MAX_RECORDERS 4
91
#define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
92
#define PJSUA_MAX_BUDDIES 32
94
#endif /* PJ_WIN32_WINCE */
98
* Typical configuration for Symbian OS target
100
#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
106
/* Disable floating point support */
107
#define PJ_HAS_FLOATING_POINT 0
109
/* Misc PJLIB setting */
110
#define PJ_MAXPATH 80
112
/* This is important for Symbian. Symbian lacks vsnprintf(), so
113
* if the log buffer is not long enough it's possible that
114
* large incoming packet will corrupt memory when the log tries
117
#define PJ_LOG_MAX_SIZE (PJSIP_MAX_PKT_LEN+500)
119
/* Since we don't have threads, log buffer can use static buffer
122
#define PJ_LOG_USE_STACK_BUFFER 0
124
/* Disable check stack since it increases footprint */
125
#define PJ_OS_HAS_CHECK_STACK 0
132
/* Disable non-Symbian audio devices */
133
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
134
#define PJMEDIA_AUDIO_DEV_HAS_WMME 0
136
/* Select codecs to disable */
137
#define PJMEDIA_HAS_L16_CODEC 0
138
#define PJMEDIA_HAS_ILBC_CODEC 0
139
#define PJMEDIA_HAS_G722_CODEC 0
141
/* Fine tune Speex's default settings for best performance/quality */
142
#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
144
/* For CPU reason, disable speex AEC and use the echo suppressor. */
145
#define PJMEDIA_HAS_SPEEX_AEC 0
147
/* Previously, resampling is disabled due to performance reason and
148
* this condition prevented some 'light' wideband codecs (e.g: G722.1)
149
* to work along with narrowband codecs. Lately, some tests showed
150
* that 16kHz <-> 8kHz resampling using libresample small filter was
151
* affordable on ARM9 222 MHz, so here we decided to enable resampling.
152
* Note that it is important to make sure that libresample is created
153
* using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must
154
* be set to 3 or 4 so pjsua-lib will apply small filter resampling.
156
//#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE
157
#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE
159
/* Use the lighter WSOLA implementation */
160
#define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE
162
/* We probably need more buffers especially if MDA audio backend
163
* is used, so increase the limit
165
#define PJMEDIA_SOUND_BUFFER_COUNT 32
171
/* Disable safe module access, since we don't use multithreading */
172
#define PJSIP_SAFE_MODULE 0
174
/* Use large enough packet size */
175
#define PJSIP_MAX_PKT_LEN 2000
177
/* Symbian has problem with too many large blocks */
178
#define PJSIP_POOL_LEN_ENDPT 1000
179
#define PJSIP_POOL_INC_ENDPT 1000
180
#define PJSIP_POOL_RDATA_LEN 2000
181
#define PJSIP_POOL_RDATA_INC 2000
182
#define PJSIP_POOL_LEN_TDATA 2000
183
#define PJSIP_POOL_INC_TDATA 512
184
#define PJSIP_POOL_LEN_UA 2000
185
#define PJSIP_POOL_INC_UA 1000
186
#define PJSIP_POOL_TSX_LAYER_LEN 256
187
#define PJSIP_POOL_TSX_LAYER_INC 256
188
#define PJSIP_POOL_TSX_LEN 512
189
#define PJSIP_POOL_TSX_INC 128
195
/* Default codec quality, previously was set to 5, however it is now
196
* set to 4 to make sure pjsua instantiates resampler with small filter.
198
#define PJSUA_DEFAULT_CODEC_QUALITY 4
200
/* Set maximum number of dialog/transaction/calls to minimum */
201
#define PJSIP_MAX_TSX_COUNT 31
202
#define PJSIP_MAX_DIALOG_COUNT 31
203
#define PJSUA_MAX_CALLS 4
205
/* Other pjsua settings */
206
#define PJSUA_MAX_ACC 4
207
#define PJSUA_MAX_PLAYERS 4
208
#define PJSUA_MAX_RECORDERS 4
209
#define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
210
#define PJSUA_MAX_BUDDIES 32
215
* Additional configuration to activate APS-Direct feature for
218
* Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
220
#ifdef PJ_CONFIG_NOKIA_APS_DIRECT
222
/* MUST use switchboard rather than the conference bridge */
223
#define PJMEDIA_CONF_USE_SWITCH_BOARD 1
225
/* Enable APS sound device backend and disable MDA & VAS */
226
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0
227
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 1
228
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 0
230
/* Enable passthrough codec framework */
231
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 1
233
/* And selectively enable which codecs are supported by the handset */
234
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1
235
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1
236
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1
237
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1
238
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1
244
* Additional configuration to activate VAS-Direct feature for
247
* Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct
249
#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT
251
/* MUST use switchboard rather than the conference bridge */
252
#define PJMEDIA_CONF_USE_SWITCH_BOARD 1
254
/* Enable VAS sound device backend and disable MDA & APS */
255
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0
256
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 0
257
#define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1
259
/* Enable passthrough codec framework */
260
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 1
262
/* And selectively enable which codecs are supported by the handset */
263
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1
264
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1
265
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1
266
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1
267
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1
273
* Configuration to activate "APS-Direct" media mode on Windows,
274
* useful for testing purposes only.
276
#ifdef PJ_CONFIG_WIN32_WMME_DIRECT
278
/* MUST use switchboard rather than the conference bridge */
279
#define PJMEDIA_CONF_USE_SWITCH_BOARD 1
281
/* Only WMME supports the "direct" feature */
282
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
283
#define PJMEDIA_AUDIO_DEV_HAS_WMME 1
285
/* Enable passthrough codec framework */
286
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 1
288
/* Only PCMA and PCMU are supported by WMME-direct */
289
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1
290
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1
291
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 0
292
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 0
293
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 0
298
* iPhone sample settings.
305
/* Disable floating point support */
306
#define PJ_HAS_FLOATING_POINT 0
312
/* We have our own native CoreAudio backend */
313
#define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0
314
#define PJMEDIA_AUDIO_DEV_HAS_WMME 0
315
#define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1
317
/* The CoreAudio backend has built-in echo canceller! */
318
#define PJMEDIA_HAS_SPEEX_AEC 0
320
/* Disable some codecs */
321
#define PJMEDIA_HAS_L16_CODEC 0
322
#define PJMEDIA_HAS_G722_CODEC 0
324
/* Use the built-in CoreAudio's iLBC codec (yay!) */
325
#define PJMEDIA_HAS_ILBC_CODEC 1
326
#define PJMEDIA_ILBC_CODEC_USE_COREAUDIO 1
328
/* Fine tune Speex's default settings for best performance/quality */
329
#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5
335
/* Increase allowable packet size, just in case */
336
//#define PJSIP_MAX_PKT_LEN 2000
342
/* Default codec quality, previously was set to 5, however it is now
343
* set to 4 to make sure pjsua instantiates resampler with small filter.
345
#define PJSUA_DEFAULT_CODEC_QUALITY 4
347
/* Set maximum number of dialog/transaction/calls to minimum */
348
#define PJSIP_MAX_TSX_COUNT 31
349
#define PJSIP_MAX_DIALOG_COUNT 31
350
#define PJSUA_MAX_CALLS 4
352
/* Other pjsua settings */
353
#define PJSUA_MAX_ACC 4
354
#define PJSUA_MAX_PLAYERS 4
355
#define PJSUA_MAX_RECORDERS 4
356
#define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS)
357
#define PJSUA_MAX_BUDDIES 32
364
#ifdef PJ_CONFIG_MINIMAL_SIZE
366
# undef PJ_OS_HAS_CHECK_STACK
367
# define PJ_OS_HAS_CHECK_STACK 0
368
# define PJ_LOG_MAX_LEVEL 0
369
# define PJ_ENABLE_EXTRA_CHECK 0
370
# define PJ_HAS_ERROR_STRING 0
371
# undef PJ_IOQUEUE_MAX_HANDLES
372
/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller
373
* than native fdset_t and will trigger assertion on sock_select.c.
375
# define PJ_IOQUEUE_MAX_HANDLES 32
376
# define PJ_CRC32_HAS_TABLES 0
377
# define PJSIP_MAX_TSX_COUNT 15
378
# define PJSIP_MAX_DIALOG_COUNT 15
379
# define PJSIP_UDP_SO_SNDBUF_SIZE 4000
380
# define PJSIP_UDP_SO_RCVBUF_SIZE 4000
381
# define PJMEDIA_HAS_ALAW_ULAW_TABLE 0
383
#elif defined(PJ_CONFIG_MAXIMUM_SPEED)
384
# define PJ_SCANNER_USE_BITWISE 0
385
# undef PJ_OS_HAS_CHECK_STACK
386
# define PJ_OS_HAS_CHECK_STACK 0
387
# define PJ_LOG_MAX_LEVEL 3
388
# define PJ_ENABLE_EXTRA_CHECK 0
389
# define PJ_IOQUEUE_MAX_HANDLES 5000
390
# define PJSIP_MAX_TSX_COUNT ((640*1024)-1)
391
# define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1)
392
# define PJSIP_UDP_SO_SNDBUF_SIZE (24*1024*1024)
393
# define PJSIP_UDP_SO_RCVBUF_SIZE (24*1024*1024)
395
# define PJSIP_SAFE_MODULE 0
396
# define PJ_HAS_STRICMP_ALNUM 0
397
# define PJ_HASH_USE_OWN_TOLOWER 1
398
# define PJSIP_UNESCAPE_IN_PLACE 1
401
# define PJSIP_MAX_NET_EVENTS 10
404
# define PJSUA_MAX_CALLS 512