summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_core.c
AgeCommit message (Collapse)Author
2012-06-05Re #1527: added debugging facility to the timer heap. By enabling ↵Benny Prijono
PJ_TIMER_DEBUG, application can use pj_timer_heap_dump() or pjsip_endpt_dump() to dump the timer entries along with the source location where it is scheduled from. The macro will also enable dumping the timer heap entries when the SIP endpoint is being destroyed git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4154 74dad513-b988-da41-8d7b-12977e46ad98
2012-05-14Re #1509: backported r4112-4121Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4122 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-26Misc (re #1446): Fixed compile errors on Symbian S60 5th Ed SDK: ↵Nanang Izzuddin
unrecognized a struct defined inside another struct and 64 bit integer constants suffix. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4099 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-26Re #1446 (misc): Fixed linking error if PJMEDIA_HAS_VIDEO is 0Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4086 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-24Fix #1423:Nanang Izzuddin
- Added provisional media in call for generating initial and subsequent SDP offer/answer. If a reoffer is rejected by peer, the main call media will remain unchanged and the provisional media will be cleaned up (the cleanup is currently delayed until call gets destroyed or another reoffer/answer occurs). - Reenabled media transport dump in pjsua_core.c. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4071 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-12Re #1476: Initial version of send rate control in video stream, added simple ↵Nanang Izzuddin
blocking method (block application thread to make send delay when delay is needed). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4043 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30Re #1474: merged r3879:3885Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4001 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-09Fixes #1442: Unable to make call if disabled media is includedLiong Sauw Ming
Add an API pjsua_schedule_timer2() to allow application to schedule a callback function to be executed after a specified time interval. This enables app to post a delayed job which, in this case, allows the initialization of all media transport creations to finish first before we get the media transport creations result. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3938 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01Re #1419, implement media count manipulation per call basis:Nanang Izzuddin
- moved the media count setting from account setting to call setting - introduced pjsua_call_setting, to be used by pjsua_call_make_call() and some new APIs: pjsua_call_answer2(), pjsua_call_reinvite2(), pjsua_call_update2() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3891 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-31Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunkLiong Sauw Ming
* Backport of r3833:r3877 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3878 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunkLiong Sauw Ming
* Backport of r3557:r3832 TODO: ticket #1268 (Option for automatic/manual sending of RTCP SDES/BYE for the stream) for video stream. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-21Re #1266: Asynchronous media transport creationLiong Sauw Ming
* Add feature that allows ICE media transport to be created asynchronously. * Add new callback, e.g. on_call_media_transport_state(call_id, state_struct) to report media transport status. * Handle outgoing calls while creating media transport asynchronously. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3763 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-19Implemented native video preview support. This closes #1340Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3756 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-18Modified the libraries to use the new log indentation feature re #1372Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3753 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19Re #1326:Nanang Izzuddin
- Fixed compile warnings on vs2005 - Fixed compile error when PJMEDIA_HAS_VIDEO set to 0 on vs2005 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3666 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19Re #1326: Initial code integration from branch 2.0-dev to trunk as ↵Nanang Izzuddin
"2.0-pre-alpha-svn". git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3664 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05Re #1250: Updated the year in all copyright texts with 2011!Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15Fixed #1205: Configurable delay before registration refresh setting in ↵Liong Sauw Ming
pjsua_acc_config git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3441 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-01Fix #1203: iPhone OS background mode detectionLiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3429 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-28Initial implementation for re #1202 (PJILB System Information API) for ↵Benny Prijono
Linux/Unix git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3423 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-11Re #1161: Support for adding custom presence subscription headers.Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3412 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-16Implemented SIP outbound (closed #1020)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3366 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-01Closed #1142 (Account based configuration to specify if "c=0.0.0.0" method ↵Benny Prijono
should be used when putting call on hold): - use PJSUA_CALL_HOLD_TYPE_DEFAULT to specify default global call hold type - use pjsua_acc_config.call_hold_type to specify call hold type for the account - call hold type can also be set on per call basis by changing the call_hold_type in the call structure (requires inclusion of <pjsua-lib/pjsua_internal.h> git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3330 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28Close #1137: added field reg_hdr_list into pjsua_acc_config to specify ↵Nanang Izzuddin
custom headers for REGISTER requests of the account. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3326 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28Closed #1139 (Support for tel: URI in PJSUA-LIB):Benny Prijono
- added new PJSUA API: pjsua_verify_url() which can be used for tel: URI - modified and tested according to spec - added new PJSIP error code, PJSIP_ENOROUTESET, to indicate that route set is needed to send to tel: URI - added couple of unit tests (we can't cover the whole tel: URI scenario yet) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3323 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20Closed #1129:Nanang Izzuddin
- Added run-time configuration for activating/deactivating stream keep-alive (non-codec-VAD mechanism), also added this config to account settings. - Fixed bug wrong session info pointer "si" in pjsua_media_channel_update() when call audio index is not zero. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07Re #1120:Nanang Izzuddin
- Added enum pjsua_sip_timer_use for session timer usage types, containing: inactive, optional, required, always - Replaced require_timer (boolean) with above enum in global and account config setting. - Updated pjsua app --use-timer option accordingly. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3305 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-06Misc (re #1068): fix compile errors/warnings on Symbian S60 5th ed.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3255 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01Implemented core multipart support and support in the invite session (re #1070)Benny Prijono
- incoming multipart message will be handled automatically - for testing, enable HAVE_MULTIPART_TEST in pjsua_app.c git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3243 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-22Fixed #1095 (New option to control the Route headers in REGISTER request). ↵Benny Prijono
Details: - added new account config setting: reg_use_proxy. This contains bitmask values to indicate whether outbound proxies and account proxies are to be added in the REGISTER request. Default value is to add both. - added new pjsua cmdline option to control this: --reg-use-proxy - miscellaneous minor fixes in other pjsua cmdline arguments git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3216 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-20Fixed #1086 (New option to update the Contact URI in a single REGISTER ↵Benny Prijono
request): added contact_rewrite_method account config to control this. Default is to use the new mechanism, i.e. the single REGISTER method. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3213 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-13Re #1069:Nanang Izzuddin
- Added new approach of SRTP optional mode in pjsua-lib by duplicating SDP media line for secured and unsecured version of media transport. - Integrated this feature into pjsua app, it is activated via --use-srtp=3 param. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3172 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14Ticket #1056:Nanang Izzuddin
- Added functions to set/unset transport state notification callback on specific transport. - Updated transaction to immediately terminate the transactions when their transport gets disconnected. - Minor update: renamed function pjsip_tpmgr_set/get_status_cb() to pjsip_tpmgr_set/get_state_cb(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3138 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-30Ticket #1044:Nanang Izzuddin
- Added initial version of automatic re-registration after registration failure and automatic call disconnection after re-registration attempt fails. - Published auto re-registration setting to pjsua app. - Updated pjsip_regc_send() to retrieve the transport earlier (was only in tsx_callback()). - Fixed TCP and TLS transport to prevent transport deletion in transport disconnection callback. - Fixed wrong keep-alive settings used by TLS transport (was using TCP keep-alive settings). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3128 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-10More #1032 (new SIP TCP/TLS transport callback):Benny Prijono
- PJSUA-LIB transport callback, if installed, will call the previously registered callback, to allow multiple transport callbacks to be installed - there seem to be a bug with the use of "pjsip_tp_state_callback" everywhere (the "pjsip_tp_state_callback" type is pointer, but most variables of this type are declared to pointer too) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3119 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24Ticket #1032:Nanang Izzuddin
- Initial version of server domain name verification: - Updated SSL certificate info, especially identities info - Updated verification mechanism as in the specifications in ticket desc. - Added server domain name info in pjsip_tx_data. - Added alternative API for acquiring transport and creating transport of transport factory to include pjsip_tx_data param. - Server identity match criteria: - full host name match - wild card not accepted - if identity is URI, it must be SIP/SIPS URI - Initial version of transport state notifications: - Added new API to set transport state callback in PJSIP and PJSUA. - Defined states: connected/disconnected, accepted/rejected, verification errors. - Minors: - Updated SSL socket test: dump verification result, test of requiring client cert, and few minors. - Updated test cert to include subjectAltName extensions. - Added SSL certificate dump function. - Updated max number of socket async operations in Symbian sample apps (RSocketServ::Connect()) to 32 (was default 8). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3106 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-20More ticket #982 (MWI): support for Asterisk unsolicited MWI requests:Benny Prijono
- undo r3019 which put unsolicited MWI support in pjsua app only - put the unsolicited MWI support in PJSUA-LIB instead - unsolicited MWI is by default enabled - on_mwi_info() callback will be called just as the solicited MWI version git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3021 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-11Misc (#951): undo r3012, and silently adjust max_calls to PJSUA_MAX_CALLS ↵Benny Prijono
instead if it is greater git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3013 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-11Misc (#951): check when app specifies max_calls that is greater than ↵Benny Prijono
PJSUA_MAX_CALLS (thanks Robbie Hanson for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3012 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-26Implement ticket #982: Support for SIP Message Summary/Message Waiting ↵Benny Prijono
Indication (MWI, RFC 3842) - PJSIP-SIMPLE: - implement MWI - PJSUA-LIB: - added "mwi_enabled" flag in account config - added "on_mwi_info" callback - pjsua app: - added "--mwi" option to enable MWI on account - added simple callback to log the NOTIFY message - other: - added SIPp scenario files to simulate UAS side - build: - added MWI support on VS6, VS2005, MMP, and Makefile git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2968 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-25Initial commit for ticket #950: QoS support:Benny Prijono
- implementation: - PJLIB (sock_qos*.*) - added QoS support in: - SIP UDP transport, - SIP TCP transport, - media UDP transport (done in pjsua-lib), - pjnath ICE stream transport, - pjnath STUN socket, - pjnath TURN client - added QoS options in pjsua-lib: - QoS fields in pjsua_transport_config - added "--set-qos" parameter in pjsua Notes: - QoS in TLS transport is not yet implemented, waiting for #957 - build ok on VS6, VS2005 (multiple targets), Carbide, and Mingw - no run-time testing yet git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2966 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20Initial commit for ticket #937: Revamping of presence management to make it ↵Benny Prijono
more efficient Presence enhancements: - finer grained buddy lock object, instead of using global PJSUA-LIB's mutex - individual resubscription timer for buddies and also add random delay interval so that resubscriptions don't happen simultaneously (may hog processing and bandwidth). - in general reduced the use of global PJSUA-LIB's mutex for more efficiency - added last termination code in buddy info - use the RPID note's text for buddy's offline status rather than the default "offline" status, if available - resubscribe automatically on several termination causes as explained in the ticket (still untested) General enhancements: - added pjsua_schedule_timer() and pjsua_cancel_timer() APIs git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-15Misc (#951): pool that is used to add missing ";lr" parameter in the Route ↵Benny Prijono
URI is not destroyed in PJSUA-LIB, causing potential memory leak git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2949 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-14Ticket #970: More gracefull PJSUA-LIB shutdown sequence. Enhancements:Benny Prijono
- wait for unregistration to complete (or a preconfigured delay expires) - new account config field to set the maximum delay to wait for unregistration - rejects incoming requests (INVITE, SUBSCRIBE, and OPTIONS) when shutdown is in progress git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2943 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-13Ticket #364: Upon unregistration, (un)REGISTER should be sent only after ↵Benny Prijono
(un)PUBLISH has completed successfully - wait for unpublication to complete or some delay expires, before sending unregistration - added unpublish_max_wait_time_msec field in account config to control how long to wait git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2942 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-12Ticket #411: Cannot update account presence's status while previous PUBLISH ↵Benny Prijono
is in progress (thanks Olivier Beytrison for the report) - enable request queueing. If PUBLISH is to be sent while another one is still in progress, queue the request and send it later when the ongoing request completes - this behavior is controlled by new pjsip_publishc_opt structure to control session's options - default behavior is to queue the request git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2940 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-17Ticket #866: Fixed compile error caused by implicit conversion from void* in ↵Nanang Izzuddin
test_stun_on_status(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2895 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-17Ticket #945: Account config may not get initialized with default values if ↵Benny Prijono
pjsua_acc_config_default() is called before pjsua_init() - added call to pjsua_config_default() in init_data(), so the global config is now initialized in pjsua_create() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2887 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-12Ticket #933: Incoming OPTIONS may trigger assertion if it arrives when ↵Benny Prijono
PJSUA-LIB is being shutdown (thanks Johan Lantz for the report) - destroy the media subsystem after busy_sleep(1000) in the shutdown sequence - also handle the case when OPTIONS arrives just when PJSUA-LIB is being initialized and media transport is not ready (in this case just reply OPTIONS without message body) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2871 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-12Ticket #866: Allow application to specify more than one STUN servers for ↵Benny Prijono
more robustness, and continue application startup if STUN resolution fails PJSUA-LIB: - New fields in pjsua_config to specify more than one STUN servers (the stun_srv_cnt and stun_srv array) - The existing stun_host and stun_domain fields are deprecated, but backward compatibility is maintained. If stun_srv_cnt is zero, the library will import the entries from stun_host and stun_domain - The library will now resolve the STUN server entries one by one and test it before using it - New auxiliary API pjsua_resolve_stun_servers() to perform resolution and test against array of STUN servers pjsua application: - The "stun-srv" command line options can now be specified more than once git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2864 74dad513-b988-da41-8d7b-12977e46ad98