summaryrefslogtreecommitdiff
path: root/pjsip/src
AgeCommit message (Collapse)Author
2010-08-01Re #1070 (support for multipart bodies): modified the param field of ↵Benny Prijono
pjsip_media_type from a simple string to pjsip_param, to support a more complex use of this field git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3241 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15Re #1103:Nanang Izzuddin
- Added (back) raw jitter statistics into RTCP statistics, with the new name "rx_raw_jitter". - Added IPDV statistics into RTCP statistics. - Added new compile-time settings to enable/disable raw jitter and IPDV statistics. - Updated call dump in pjsua-lib. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3239 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24Fixed #1039: Add Allow header in outgoing REGISTER request (thanks Daniel ↵Benny Prijono
Anens for the info) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3223 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24Fixed #1081: Implement ICE option tag (RFC 5678)Benny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3222 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23Fixed #1079 (Media transport should be kept alive during double-hold ↵Benny Prijono
scenario). Details: - now the stream will be destroyed but the media transport will be kept alive during doublehold scenario - small fix in SRTP to also negotiate crypto even when the media is marked as inactive, otherwise it's possible that an "optional" endpoint would create RTP/AVP offer and send it to "mandatory" endpoint, which would be rejected and cause the media port to be set to zero git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3219 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23Another unterminated SDP offer/answer negotiation fix (Re: #1045):Benny Prijono
- fixed unterminated negotiation if our media transport rejects incoming offer (e.g. due to mismatch SRTP transport) with 488. - to fix the above, modified the SDP negotiator (sdp_neg.[hc])'s pjmedia_sdp_neg_cancel_offer() to also be able to cancel in remote offer state - also fixed the bug introduced previous Session Timer fix (Re: #1047), which cause SDP negotiator's state to be cleared after failed UAC UPDATE transaction is terminated, which means UPDATE can only be sent 5 seconds after the last UPDATE if the last UPDATE failed. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3217 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-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