summaryrefslogtreecommitdiff
path: root/pjsip
AgeCommit message (Collapse)Author
2006-09-26Added support for specifying IP address in PJSUA-LIB/pjsua.Benny Prijono
This option can be used for example to select the IP interface of SIP/RTP/RTCP transports, or to specify the public IP address of NAT/router in case port forwarding is used. For SIP transports, this feature works for both UDP and TCP transports. Changes: - added public_ip field in pjsua_transport_config, and change SIP and media transport creation to consider this option. - added --ip-addr option in pjsua - added pjsip_tcp_transport_start2() which allows specifying alternate TCP published address when creating TCP transports. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@742 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-25Tests with other user agents revealed some bugs whichBenny Prijono
have been fixed below: - some UAs sends "telephone-event/8000/1" instead of "telephone-event/8000", which caused SDP negotiation to fail. Fixed in sdp_neg.c. - codec name was (incorrectly) compared case-sensitively, causing negotiation to fail. Fixed in sdp_neg.c. - Also improved error reporting in SDP negotiation by introducing few more error codes. - Added Warning header in Not Acceptable response sent by pjsip_inv_session when SDP negotiation fails. - PJSUA-LIB will try to negotiate both SDPs before sending 100 response. - Fixed bug in iLBC codec when setting the mode to 30. Also: - Echo cancellation by default is disabled now since it doesn't seem to work. Further investigation needed. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@738 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-24Fixed several bugs in PJSUA-API:Benny Prijono
- in some condition, when outgoing call fails, call count incorrectly decremented to -1 - introduce account priority in pjsua_acc_config, and improve the account searching for incoming calls - pjsua will hangup call after sending transfer/REFER request. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@737 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-22Updated doxygen documentation for the websiteBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@736 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-22Handle incoming empty packets sent by some user agents (to refresh NAT)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@735 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-22Fixed few bugs that seem to have been introduced by new dialog Benny Prijono
locking algorithm: - Fixed crash in PJSUA-API when initiating client subscription - Fixed another crash in PJSUA-API when hanging-up call Also fixed SDP negotiator: - add a=inactive when rejecting media line Also increase maximum log size from 1500 to 2000 since some SIP packet is quite large. A little bit of Warning: ** THIS MAY AFFECT APPLICATION'S STACK USAGE ** git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@734 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-22In pjsua, outgoing REFER now always put Refer-Sub: falseBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@733 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-20Automatically suspend AEC when nothing is connected to the sound port in the ↵Benny Prijono
bridge, and resume as soon as frames are transmitted. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@731 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-19Fixed race-condition/deadlock problems in the dialog/user agent layer Benny Prijono
all the way up to PJSUA-API: - standardized locking order: dialog then user agent, and dialog then PJSUA - any threads that attempt to acquire mutexes in different order than above MUST employ retry mechanism (for an example, see acquire_call() in pjsua_call.c). This retry mechanism has also been used in the UA layer (sip_ua_layer.c) since it needs to lock user agent layer first before the dialog. - introduced pjsip_dlg_try_inc_lock() and PJSUA_TRY_LOCK() to accomodate above. - pjsua tested on Quad Xeon with 4 threads and 200 cps, so far so good. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@729 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-19Fixed misc compilation warnings (mostly about unused variables)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@728 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Fix the local IP address resolution issue in PJSIP, PJMEDIA, and PJSUA, by ↵Benny Prijono
adding a new API pj_gethostip() to resolve the default local IP address of local host. This new function will work even when local hostname resolution is not set correctly, by detecting the default IP interface in the system. Also fix compile warnings in iLBC. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@721 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Added pjsip_transport_register_type() API to register new transport type.Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@720 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Added account ID in pjsua_call_info.Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@719 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Updated the doxygen comments for PJSIP_EFAILEDCREDENTIAL and ↵Benny Prijono
PJSIP_ENOCREDENTIAL, since these are queried often. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@718 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Fixed WinCE compilationBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@717 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-14Added --duration option in PJSUA to limit the maximum duration of calls. ↵Benny Prijono
Also added pjsip_generic_string_hdr_init2() to initialize temporary SIP header that is allocated in the stack. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@715 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-13Fixed bug in client REGISTER: crashed when application calls ↵Benny Prijono
pjsip_regc_register()/pjsip_regc_send() while previous REGISTER request has not been answered with final response. This occurs for example when pjsip_regc_register() is called in quick successions. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@714 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-13SIP methods are now compared case-sensitively (previously it was ↵Benny Prijono
case-insensitive) because the standard says so. There's no ill effect of the old behavior, but it's still important that we do things according to what the standard says. Also a little change in string implementation (use memcmp() instead of strncmp()), an increase the version number from 0.5.7.6 to 0.5.7.7. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@713 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-13Fixed bug in event subscription: for event subscriptions established by ↵Benny Prijono
non-SUBSCRIBE method (such as REFER), the method to refresh/unsubscribe subscription would still be SUBSCRIBE, not the initial method to establish subscription. There's no known ill effect of this bug (that I know of), but it's still important that this one has been fixed. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@712 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-09Fixed authentication with qop: nc is not printed, and set nc length to 8 ↵Benny Prijono
bytes (sipcenter proxy server complained about this). It's now working fine with or without qop. Default caching and auto_send still set to disabled. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@696 74dad513-b988-da41-8d7b-12977e46ad98
2006-09-09Fix compilation error when PJSIP_AUTH_HEADER_CACHING and ↵Benny Prijono
PJSIP_AUTH_AUTO_SEND_NEXT is disabled, and set the default for both to disabled. Also fixed the error message in pjsua when invalid arguments are specified. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@695 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-25Yet another documentation/doxygen updateBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@691 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-24Just updated doxygen documentationBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@690 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-20Finishing autoconf work, also fixed compilation error in publish.hBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@689 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-20Added initial "norefersub" (RFC 4488) implementation in PJSUA-LIB, and also ↵Benny Prijono
properly register all supported SIP method, accepted content type, and supported extensions to endpoint. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@688 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-15Support for PUBLISH (RFC 3903):Benny Prijono
- API BREAK: pjsua_pres_create_uac() API CHANGED!! Added options in the function, to allow creating SUBSCRIBE without ";id=" parameter in the Event header. - the generic event publication in pjsip-simple/publish.[hc] - split PIDF and X-PIDF body generation and parsing into pjsip-simple/presence_body.c. - allow NULL in module parameter in pjsip_endpt_add_capability() - added "--publish" option in PJSUA. - by default, PJSUA-LIB will not add ";id=" parameter in Event header in the SUBSCRIBE request since lots of server and user agents don't support this correctly. - Set version to 0.5.7.6. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@685 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-15Added initial PUBLISH client support, and also default account selection in ↵Benny Prijono
pjsua/pjsua-lib git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@683 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-12Improved logging consistency and added more logging info in verbosity 6Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@675 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-11Fixed bugs in previous deadlock workaroundBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@673 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-10Attempt to fix the race condition in dialog locking.Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@671 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-08Fixed bugs in client registration (sip_regc.c): when re-registration failed ↵Benny Prijono
to send the request, application callback is not called. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@663 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-08Added logging in sip_regc.c to report the error when pjsip_regc_send() fails ↵Benny Prijono
(because no error will be logged when re-registration fails). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@662 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-07Added Ctrl-C handler for pjsua Windows, and added average bps in media ↵Benny Prijono
statistic. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@660 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-07Added --auto-conf options in pjsua, also enable speex/3200, and set quality ↵Benny Prijono
5 to use large resampling filter git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@659 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-07Change set_ec_tail() API to set_ec() in sound port, also change suppressor ↵Benny Prijono
to reduce mic signal by division rather than zeroing the signal. Also moved out VAD and EC settings to config.h. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@658 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-06Fixed assertion error if ACK is received before INVITE transaction sends ↵Benny Prijono
final response (malicious?). Also fixed misc warnings, and stress-tested on Quad Xeon git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@657 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-06Change AEC into generic echo canceller framework with either AEC or simple ↵Benny Prijono
echo suppressor backend can be selected during runtime. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@653 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-05AEC and sound backend fixes:Benny Prijono
- Changed default sound backend in Windows to PortAudio - Finalizing AEC settings on Windows: - default tail is 256 msec - write AEC configuration with "dc" git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@651 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-04Fixed bug in pjsua_media.c because of recent AEC changes: sound device is ↵Benny Prijono
not connected anywhere! git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@649 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-04More work on the AEC (including changes in PJSUA), embed the AEC in ↵Benny Prijono
sound_port, reduce DirectSound buffer from 32 to 16, and fixed ARM compilation for MSVC WinCE target. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@648 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-02Fix compilation error in MacOS because of recent changes in config.h, also ↵Benny Prijono
disable AEC by default in pjsua-lib, and added ec-tail option in pjsua git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@643 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-02Added experimental AEC media port (aec_port.[hc]) based on Speex AEC in ↵Benny Prijono
pjmedia and pjsua-lib. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@642 74dad513-b988-da41-8d7b-12977e46ad98
2006-08-01Added simple WinCE application:Benny Prijono
- added pjsua_wince in pjsip-apps, which is a simple SIP UA application just to broadly test pjsip/pjmedia on WinCE. - Fix name conflicts in xpidf.c (e.g. ATOM variable conflicts with ATOM type in WinCE SDK). - Fix speex compilation errors on Wince (e.g. inline keyword is not recognized, replaced with PJ_INLINE). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@641 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-31- Added iLBC codec (experimental) with the following features:Benny Prijono
- configurable default decoder mode (20 or 30), - encoder mode follows the mode specified in SDP fmtp from the remote's SDP, - silence detector uses pjmedia's, - PLC uses iLBC's PLC, - perceptual enhancement (penh) is configurable via codec param, as usual. - iLBC mode is configurable in pjsua with --ilbc-mode option. - Added packet lost simulation in pjmedia's UDP transport and in pjsua (with --rx-drop-pct and --tx-drop-pct options). - Increase default buffer count in DirectSound to 32 frames to make it more resilient to CPU disruption. - Specify and parse fmtp mode in SDP for codecs that need it. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@637 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-29Another take at fixing 64bit problems. PJ_MAX_OBJ_NAME is increased to 32 ↵Benny Prijono
chars (from 16), and check all those sprintf's especially the ones with "%p" format. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@635 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-27Added capability in pjsua to add application created media port to pjsua's ↵Benny Prijono
conference bridge, also capability to use custom sound device in pjsua. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@632 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-26Added --ptime and --no-vad option in pjsuaBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@629 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-23Added 64bit Linux target (x86_64), also fixed compilation warnings when ↵Benny Prijono
compiling for this target git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@624 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-23Improvement/bug fix in hash table lookup to allow user to specify the hash ↵Benny Prijono
value, and modify transaction to take advantage of this feature git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@623 74dad513-b988-da41-8d7b-12977e46ad98
2006-07-22Changed all public header files to compile correctly when -ansi and ↵Benny Prijono
-pedantic is used, also when g++ is used git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@622 74dad513-b988-da41-8d7b-12977e46ad98