summaryrefslogtreecommitdiff
path: root/pjsip/src
AgeCommit message (Collapse)Author
2010-06-21Fixes #1047 (Don't send UPDATE if remote doesn't support it (thanks Bogdan ↵Benny Prijono
Krakowski for the report)) and fixes #1097 (Support sending UPDATE without SDP). Details: - Session timer fixes: - will look at remote capability in Allow header - if UPDATE is supported, will send UPDATE without SDP first. If this fails, will send UPDATE with SDP - otherwise will send re-INVITE - PJSUA-LIB will look at dialog's remote capability to determine whether re-INVITE or UPDATE should be sent to change default addresses after ICE negotiation. - pjsip_inv_update() now allows NULL offer, in which case the UPDATE will be sent without SDP. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3215 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-06-19Fixed #1077: In ICE stream transport (ice_strans.c), automaticaly retry ↵Benny Prijono
allocation once if TURN allocation fails. If this allocation retry also fails, notify the TURN user via on_ice_complete() callback. Details: - added new PJ_ICE_STRANS_OP_KEEP_ALIVE operation - also added new on_ice_transport_error() pjsua callback to allow application to react to the failure. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-16Fix #1045:Nanang Izzuddin
- Fixed invite module to reset SDP negotiator state after incomplete SDP offer-answer in re-INVITE/UPDATE. - Added some SIPp test scenarios. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3208 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15Fix #476:Nanang Izzuddin
- Added lock codec feature to make sure that only one codec is active, by updating media session using UPDATE (if remote supports it) or re-INVITE. - Added few SIPp test scenarios. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3206 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15Re #1068 (Misc Fixes): changed timeout timer value initialization in ↵Benny Prijono
sip_transaction.c to copy the value from TD timer value instead of calculating it directly from T1. This would enable customization of the timeout value by changing PJSIP_TD_TIMEOUT macro. Previously the only way to modify this is to change the T1 value, which is undesireable. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3203 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-09Re #1089:Nanang Izzuddin
- Fixed compile error (on Symbian) incompatible types between int and pjsip_dialog_cap_status. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3200 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-04Re #668:Nanang Izzuddin
- Fixed process_answer() of SDP negotiation, when no common format in a media, instead of returning error, it should just deactivate the media (offer & answer) and continue negotiating next media. - Generalized the way of deactivating media: set port to 0 and remove all attributes. - Added new API pjmedia_sdp_media_clone_deactivate() to clone media and deactivate the newly cloned media. - Updated PJMEDIA SDP negotiation test. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3198 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-03Re #1089:Nanang Izzuddin
- Added a feature in dialog to store and retrieve remote capabilities dug from the remote messages. - Added few APIs in dialog to query and update remote capabilities, also added an API in pjsua_call to query whether a capability is supported by remote. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3196 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-02Fixed #1092 (Crash when receiving various messages with "Contact: *" header ↵Benny Prijono
format) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3190 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-01Fix #1090: Disable the "Bug in branch_param generator (i.e. not unique)" ↵Benny Prijono
assertion. This also fixes the hang problem when building the app in Release mode (assertion disabled), because the transaction is destroyed without being unlocked, causing the subsequent transaction unlock to loop indefinitely. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3188 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-26Fix #1087:Nanang Izzuddin
- Moved auto reregistration scheduling to be before the registration callback. - Updated validations in auto_rereg_timer_cb() & schedule_reregistration(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3185 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-29Fixed #1062 (Assertion if 200/OK INVITE response is received during ↵Benny Prijono
PJSUA-LIB destroy sequence) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3153 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-29Fixed #1061 (Assertion when receiving authentication challenge with empty ↵Benny Prijono
realm (thanks Andrey Kovalenko for the report)): - removed the assertion (allow responding to empty realm) - slight modification in Authenticate/WWW-Authenticate headers to allow printing challenge with empty realm, otherwise a malformed header will be printed if empty realm is given git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3149 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-28Misc (#1026) fixed build problems on Symbian S60 5th edition:Nanang Izzuddin
- link error undefined reference to `.L23' in function pjsip_cred_info_cmp() (thanks Ken Fish for the report). - compile error unable to convert pj_uint32_t to pjsip_transport_state. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3148 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-20Ticket #1057: Implemented pjsua_modify_acc().Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3144 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14Minor fix #1044: Nanang Izzuddin
- Moved the code of disconnecting calls (after first re-reg attempt failure) to schedule_reregistration(), so it will be executed earlier (right after the failure of re-reg attempt). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3139 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-03-01More ticket #1033: Fixed send_msg_callback of transaction.c to reset 'cont' ↵Nanang Izzuddin
flag to stop (re)transmitting when transaction has been unregistered. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3114 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-26Minor #1032: Fixed transport TCP of missing returning PJ_FALSE when connect ↵Nanang Izzuddin
attempt failed. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3113 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-25More ticket #1032:Nanang Izzuddin
- Updated transport state notification callback to return void. - Updated transport state enum to only contain connected and disconnected, no more bitmask value. - Added direction field to SIP transport. - Removed remote hostname hash from transport key. - Updated cert info dump to return -1 when buffer is insufficient. - Added new error code PJSIP_TLS_ECERTVERIF. - Updated get_cert_name() in ssl_sock_symbian.c to use heap buffer instead of stack. - Minors, e.g: added prefix PJ in cipher types, docs. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3110 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24Ticket #996: update the ETag header in the pending PUBLISH requests if the ↵Benny Prijono
value changes in the previous request (thanks Johan Lantz for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3108 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
2010-02-23Ticket #1031: Automatically handle 423 (Interval Too Brief) response in SIP ↵Benny Prijono
registration (thanks Tomáš Valenta for the suggestion) - implemented in sip_reg.c instead of in PJSUA-LIB, so that the functionality can be reused by non-PJSUA-LIB applications - also added several Python test scripts git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3105 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10Ticket #995: Send un-PUBLISH when pjsua_acc_set_registration(FALSE) is ↵Benny Prijono
called (thanks Johan Lantz for the suggestion) - in this implementation, when pjsua_acc_set_registration(FALSE) is called, the un-REGISTER request will be sent immediately after un-PUBLISH, unlike the process during shutdown where the un-REGISTER request will be sent only after un-PUBLISH transaction is complete git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3096 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10Fixed ticket #1011: "Invalid operation step" assertion when TCP is usedBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3094 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-09Fixed ticket #1034: Crash on accepting a call with no codec in the SDP offerBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3091 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-08More ticket #1033:Benny Prijono
- fixed the problem that caused ACK not to be sent. This happened when TCP switching is used, and the TCP fails to send the request. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3090 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-29More ticket #1033:Benny Prijono
- fix for r3071: added protection for case when TSX_HAS_PENDING_TRANSPORT flag is set to the transaction but pending_tx is NULL, causing crash git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3084 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27Ticket #1028: Recommit r3074 with updated codec.h.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3078 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27Fixed ticket #1036: Stray timer may be registered by SIP TCP and TLS ↵Benny Prijono
transport in destroy routine, which could crash the program on Symbian (thanks Tamàs Solymosi for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3077 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26Undo r3074 for ticket #1028 as it is missing updated codec.h hence causing ↵Benny Prijono
build errors (thanks Michael Bradley Jr for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3075 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26Ticket #1028:Nanang Izzuddin
- Added new API pjmedia_codec_mgr_set_default_param() to set/update default codec parameter and implemented pjsua_codec_set_param() based on it. - Added mutex in codec manager to protect states manipulations. - Modified API pjmedia_codec_mgr_init() to add pool factory param. - Added new API pjmedia_codec_mgr_destroy(). - Updated passthrough codec AMR to regard peer's mode-set setting. - Fixed VAS audio device to apply AMR encoding bitrate setting. - Fixed IPP codec codec_open() to update AMR bitrate info (for stream) when AMR encoding bitrate is not using the default, e.g: requested by peer via format param 'mode-set' in SDP. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3074 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-25Initial commit for #1033: Assertion error when shutting down PJSIP while ↵Benny Prijono
TCP/TLS connect is in progress and a transaction is waiting git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3071 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21Misc (#1026): initialize display field of SIP name address to NULL, as some ↵Benny Prijono
libc library (mingw with gcc4, msvcrt) has some problem with sprintf with zero length and invalid pointer (thanks Klaus Darilion for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3070 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21Fixed ticket #1030: Missing To tag in out-of-dialog response (thanks Rui ↵Benny Prijono
Macedo for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3069 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21Ticket #1029: Fix support for multiple (event) subscriptions in a single ↵Benny Prijono
dialog (thanks Wang Eric for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3068 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-14Misc (#1026): remove the code that silently set SO_SNDBUF/SO_RCVBUF as it's ↵Benny Prijono
not that useful and it would print error message on many platforms that don't support it, causing many questions from users git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3060 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-08More ticket #1013: PJSIP resolver should not try to resolve the target if IP ↵Benny Prijono
address is given (thanks Emil Sturniolo for the report) - fixed bug with IPv6 - also fixed bug with not fully initializing socket address, causing assertion on pjsip-test and also potentially will cause error on MacOS X due to sin_zero_len not being zeroed git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3053 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-08Ticket #1013: PJSIP resolver should not try to resolve the target if IP ↵Benny Prijono
address is given (thanks Emil Sturniolo for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3049 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-05Misc (#1003): fixed bug: wrong month value in PIDF timestamp generation ↵Benny Prijono
(thanks Johan Lantz for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3045 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-04Misc fix (#1003): resolve NAT type after mapped addresses for SIP/RTP/RTCP ↵Benny Prijono
sockets have been resolved, so reduce chattiness during initialization and simplify debugging related to STUN problems git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3041 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-30Ticket #1005:Nanang Izzuddin
- Fixed bug in pjsip_tls_transport_start(): specified ca_list_file must be applied even when cert_file is not set. - Fixed bug in lis_create_transport(): new transport should inherit cert settings (from listener). - Fixed pjsua app, missing TLS transport setting 'require_client_cert' for '--tls-verify-client' option. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3039 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-22Misc (#1003): added protection against situation when pj_sock_getsockname() ↵Benny Prijono
returns PJ_SUCCESS but 0.0.0.0 is reported as the socket address, potentially causing SIP TCP transport to put 0.0.0.0 or empty Via address. Not sure if this situation could happen though. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3035 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-14Misc (ticket #1003):Benny Prijono
- added missing transport selection information in pjsua_acc_create_request(), when the account has been locked to use a specific transport/listener. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3032 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-10Ticket #1002: Crash when adding/removing buddies (thanks Nikolay Popok and ↵Benny Prijono
Robert Cichielo for the reports) - the timer associated with a buddy is not removed when buddy is deleted, causing crash later on in timer heap. Fixed. - when fails to send the initial SUBSCRIBE request, the dialog associated with buddy subscription will have been destroyed in the callback, causing any subsequent "pjsip_dlg_dec_lock(buddy->dlg)" call to crash. Fixed by protecting the call with "if (buddy->dlg)". git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3031 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