Commit Graph

1057 Commits

Author SHA1 Message Date
Benny Prijono 0ef4e19a9a Fixed #1131: Callee disconnects call without sending BYE if ACK is not received (thanks Montevecchi Massimiliano and Klaus Darilion for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3324 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 08:03:23 +00:00
Benny Prijono c754578e5d Closed #1139 (Support for tel: URI in PJSUA-LIB):
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3323 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 07:43:18 +00:00
Nanang Izzuddin 4ea1bcc610 Close #1138:
- Added new pjsua registration status callback on_reg_state2(), it includes the whole info from the lower layer registration callback pjsip_regc_cb().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3322 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 04:57:01 +00:00
Benny Prijono 0282727447 Misc (re #1134): fixed error in Makefile target for generating doxygen documentation when WWWDIR is specified
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3319 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-23 22:46:11 +00:00
Nanang Izzuddin 5e39a2b9d0 Closed #1129:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20 06:13:02 +00:00
Benny Prijono d9a7c8a9fa Fix #1121 (Deadlock in transaction code when hanging up calls (thanks Dennis Struble for the report))
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3311 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-15 07:42:14 +00:00
Nanang Izzuddin 742ef4bd30 Re #1120:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3305 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 09:36:15 +00:00
Sauw Ming 844c1c96d1 Fixed #1117: Configurable PJSUA-LIB lock timeout
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3304 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 05:12:02 +00:00
Sauw Ming 48f6dbfce2 Fixed #1118: Add last error code to PJSUA-LIB account info structure
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3303 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 05:10:25 +00:00
Benny Prijono ae6d39e980 Fixed ticket:1119: Crash if sending UPDATE fails in session timer module because network connectivity is lost (thanks Robbie Hanson for the fix!)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3302 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-06 12:47:53 +00:00
Benny Prijono 7386879c0d Fixed #1116 (Bug in regenerating elements of some headers when incoming request contains escaped characters (thanks Ferguen Adel for the report)):
- Fixed the printing part of Via "branch" parameter and To/From "tag" parameter, since these parameters are important for transaction/dialog identification
 - Note that if the escaping sequence describes a character that otherwise is a valid token, that token would still be printed unescaped, hence the problem would still persist. But sender really shouldn't send this kind of escaped sequence as it really is asking for trouble.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3301 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-31 16:46:13 +00:00
Benny Prijono b7b8844cb8 Dummy commit (re #1109)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3274 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-17 10:32:33 +00:00
Benny Prijono c8a8579610 Another dummy error commit (re #1109)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3273 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-17 01:40:43 +00:00
Benny Prijono ab61e98c7b Another dummy commit (re #1110)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3272 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-16 13:04:30 +00:00
Benny Prijono 4423d96dce Dummy error commit (re #1110)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3271 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-16 12:53:43 +00:00
Nanang Izzuddin 4fdd3fb555 Misc (re #1068): set sip_transport_tls_ossl.c to be excluded from build on Windows Mobile build configs (obsoleted by sip_transport_tls.c).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3264 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-11 07:26:13 +00:00
Benny Prijono 2958061f92 Misc (re #1068): fixed various compilation warnings with Visual Studio 6 and 2005
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3262 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-11 06:03:47 +00:00
Benny Prijono 0bf5b98509 Misc (re #1068): do not add To tag to the SIP response if the request already has one (thanks Rafael Maia for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3260 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-09 14:24:36 +00:00
Nanang Izzuddin d1f054e473 Misc (re #1068): fix compile errors/warnings on Symbian S60 5th ed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3255 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-06 07:18:08 +00:00
Benny Prijono c7c91832d3 Re #1070 (multipart): modified Visual Studio projects
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3244 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 13:48:49 +00:00
Benny Prijono 1c1d734e05 Implemented core multipart support and support in the invite session (re #1070)
- incoming multipart message will be handled automatically
 - for testing, enable HAVE_MULTIPART_TEST in pjsua_app.c


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3243 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:48:51 +00:00
Benny Prijono ad56eb8ee9 Re #1070 (support for multipart bodies): added new pjsip_param_cmp() API
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3242 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:26:34 +00:00
Benny Prijono 1e5a08b1d1 Re #1070 (support for multipart bodies): modified the param field of pjsip_media_type from a simple string to pjsip_param, to support a more complex use of this field
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3241 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:24:58 +00:00
Nanang Izzuddin 78bec1ae8c Re #1103:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3239 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15 14:45:47 +00:00
Benny Prijono ec4c77ec3b Misc (Re: #1068): fixed bug with pjsip_status_code enum, when an optimizing compiler decides to use 16bit integer to represent this enum. In PJSUA-LIB, there is a code which assigns 32bit value to a variable of this type, causing overflow. Thanks Rickard Angbratt for the report
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3233 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-02 12:23:20 +00:00
Benny Prijono 122b9a771b Fixed #1039: Add Allow header in outgoing REGISTER request (thanks Daniel Anens for the info)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3223 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24 13:32:05 +00:00
Benny Prijono 07fe230e3d Fixed #1081: Implement ICE option tag (RFC 5678)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3222 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24 12:33:18 +00:00
Benny Prijono 2dbf507315 Fixed #1079 (Media transport should be kept alive during double-hold 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: https://svn.pjsip.org/repos/pjproject/trunk@3219 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23 12:38:28 +00:00
Benny Prijono ab74c904a1 Another unterminated SDP offer/answer negotiation fix (Re: #1045):
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3217 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23 12:21:20 +00:00
Benny Prijono 29c8ca331c Fixed #1095 (New option to control the Route headers in REGISTER request). 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: https://svn.pjsip.org/repos/pjproject/trunk@3216 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-22 06:02:13 +00:00
Benny Prijono a8f9e622f5 Fixes #1047 (Don't send UPDATE if remote doesn't support it (thanks Bogdan 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: https://svn.pjsip.org/repos/pjproject/trunk@3215 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-21 13:28:55 +00:00
Benny Prijono c6d5fdcbaf Fixed #1086 (New option to update the Contact URI in a single REGISTER 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: https://svn.pjsip.org/repos/pjproject/trunk@3213 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-20 08:58:26 +00:00
Benny Prijono 4d6ff4d62c Fixed #1077: In ICE stream transport (ice_strans.c), automaticaly retry 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: https://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-19 12:35:33 +00:00
Nanang Izzuddin 0fd92673c1 Fix #1045:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3208 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-16 15:26:18 +00:00
Nanang Izzuddin 93bacd0bfe Fix #476:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3206 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15 09:56:39 +00:00
Benny Prijono b2d231342d Re #1068 (Misc Fixes): changed timeout timer value initialization in 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: https://svn.pjsip.org/repos/pjproject/trunk@3203 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15 05:14:10 +00:00
Nanang Izzuddin ff245a27d4 Re #1089:
- Fixed compile error (on Symbian) incompatible types between int and pjsip_dialog_cap_status.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3200 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-09 07:35:26 +00:00
Nanang Izzuddin 16852b3f2e Re #668:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3198 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-04 13:41:34 +00:00
Nanang Izzuddin 2a1b9ee832 Re #1089:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3196 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-03 10:41:32 +00:00
Benny Prijono 8b33bba1f1 Fixed #1092 (Crash when receiving various messages with "Contact: *" header format)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3190 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-02 03:03:43 +00:00
Benny Prijono 7ec94e61aa Fix #1090: Disable the "Bug in branch_param generator (i.e. not unique)" 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: https://svn.pjsip.org/repos/pjproject/trunk@3188 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-01 14:52:18 +00:00
Nanang Izzuddin c71bed6688 Fix #1087:
- Moved auto reregistration scheduling to be before the registration callback.
 - Updated validations in auto_rereg_timer_cb() & schedule_reregistration().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3185 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-26 15:04:43 +00:00
Benny Prijono 609fff5054 Fix #1071: Increase default maximum SIP packet size to 4000
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3182 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-19 06:07:40 +00:00
Nanang Izzuddin d89cc3a4c9 Re #1069:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3172 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-13 05:22:51 +00:00
Benny Prijono 4e5c3f53c9 Fixed #1062 (Assertion if 200/OK INVITE response is received during PJSUA-LIB destroy sequence)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3153 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-29 12:11:51 +00:00
Benny Prijono c2ce9ccaca Fixed #1061 (Assertion when receiving authentication challenge with empty 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: https://svn.pjsip.org/repos/pjproject/trunk@3149 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-29 00:03:19 +00:00
Nanang Izzuddin 8f0f0d3b10 Misc (#1026) fixed build problems on Symbian S60 5th edition:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3148 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-28 07:52:57 +00:00
Nanang Izzuddin c3ea16a66a Ticket #1057: Implemented pjsua_modify_acc().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3144 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-20 14:36:38 +00:00
Nanang Izzuddin 665800081b Minor fix #1044:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3139 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14 08:12:08 +00:00
Nanang Izzuddin 91cfa96fe4 Ticket #1056:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3138 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14 06:57:35 +00:00
Nanang Izzuddin 36dd5b607e Ticket #1044:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3128 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-30 11:13:59 +00:00
Benny Prijono 2140732ff3 More #1032 (new SIP TCP/TLS transport callback):
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3119 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-10 13:33:25 +00:00
Nanang Izzuddin 10d9c1463d More ticket #1033: Fixed send_msg_callback of transaction.c to reset 'cont' flag to stop (re)transmitting when transaction has been unregistered.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3114 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-01 12:14:24 +00:00
Nanang Izzuddin d69220bb10 Minor #1032: Fixed transport TCP of missing returning PJ_FALSE when connect attempt failed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3113 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-26 09:06:44 +00:00
Nanang Izzuddin 5e69da528f More ticket #1032:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3110 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-25 11:58:19 +00:00
Benny Prijono cca2e436db Misc (#1026): fixed wrong documentation of pjsua_acc_config.allow_contact_rewrite
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3109 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-25 09:33:18 +00:00
Benny Prijono c7b3c3bb10 Ticket #996: update the ETag header in the pending PUBLISH requests if the value changes in the previous request (thanks Johan Lantz for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3108 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24 11:22:21 +00:00
Nanang Izzuddin 2fb937eb02 Ticket #1032:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3106 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24 05:43:34 +00:00
Benny Prijono 38c975dfa3 Ticket #1031: Automatically handle 423 (Interval Too Brief) response in SIP 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: https://svn.pjsip.org/repos/pjproject/trunk@3105 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-23 11:03:07 +00:00
Benny Prijono 166d502e3a Ticket #995: Send un-PUBLISH when pjsua_acc_set_registration(FALSE) is 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: https://svn.pjsip.org/repos/pjproject/trunk@3096 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10 14:24:48 +00:00
Benny Prijono 9a048649f3 Fixed ticket #1011: "Invalid operation step" assertion when TCP is used
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3094 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10 08:48:27 +00:00
Benny Prijono bcc8dd7270 Fixed ticket #1034: Crash on accepting a call with no codec in the SDP offer
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3091 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-09 12:28:03 +00:00
Benny Prijono 3dd29e2863 More ticket #1033:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3090 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-08 17:42:35 +00:00
Benny Prijono 5c816affbc More ticket #1033:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3084 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-29 22:00:04 +00:00
Nanang Izzuddin 06839e722b Ticket #1028: Recommit r3074 with updated codec.h.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3078 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 11:48:31 +00:00
Benny Prijono d1873b783e Fixed ticket #1036: Stray timer may be registered by SIP TCP and TLS transport in destroy routine, which could crash the program on Symbian (thanks Tamàs Solymosi for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3077 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 09:09:27 +00:00
Benny Prijono 0ff300cbeb Undo r3074 for ticket #1028 as it is missing updated codec.h hence causing build errors (thanks Michael Bradley Jr for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3075 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26 18:54:28 +00:00
Nanang Izzuddin 721750538f Ticket #1028:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3074 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26 15:29:23 +00:00
Benny Prijono 09638547a7 Initial commit for #1033: Assertion error when shutting down PJSIP while TCP/TLS connect is in progress and a transaction is waiting
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3071 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-25 13:42:56 +00:00
Benny Prijono 984d7679ed Misc (#1026): initialize display field of SIP name address to NULL, as some 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: https://svn.pjsip.org/repos/pjproject/trunk@3070 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 17:27:32 +00:00
Benny Prijono b2d60deaa9 Fixed ticket #1030: Missing To tag in out-of-dialog response (thanks Rui Macedo for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3069 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 17:07:28 +00:00
Benny Prijono 15d3a70d96 Ticket #1029: Fix support for multiple (event) subscriptions in a single dialog (thanks Wang Eric for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3068 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 10:04:26 +00:00
Benny Prijono ddd4714f1e Ticket #694: work on 'make install':
- adhere to --prefix
 - header and lib files installation
 - pkgconfig creation
 - also added version.mak to fill in with the correct version


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3063 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-15 15:06:20 +00:00
Benny Prijono 5765555ef0 Misc (#1026): remove the code that silently set SO_SNDBUF/SO_RCVBUF as it's 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: https://svn.pjsip.org/repos/pjproject/trunk@3060 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-14 09:05:08 +00:00
Benny Prijono 06b0f95a81 More ticket #1013: PJSIP resolver should not try to resolve the target if IP 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: https://svn.pjsip.org/repos/pjproject/trunk@3053 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-08 17:12:05 +00:00
Benny Prijono 808d1a46ab Ticket #1013: PJSIP resolver should not try to resolve the target if IP address is given (thanks Emil Sturniolo for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3049 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-08 10:02:51 +00:00
Benny Prijono 98301da871 Misc (#1003): fixed bug: wrong month value in PIDF timestamp generation (thanks Johan Lantz for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3045 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-05 15:23:43 +00:00
Benny Prijono bf53b00eb6 Misc fix (#1003): resolve NAT type after mapped addresses for SIP/RTP/RTCP sockets have been resolved, so reduce chattiness during initialization and simplify debugging related to STUN problems
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3041 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-04 13:08:31 +00:00
Nanang Izzuddin fdbfcf1ccf Ticket #1005:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3039 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-30 06:35:20 +00:00
Benny Prijono 531be6c093 Misc (#1003): added protection against situation when pj_sock_getsockname() 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: https://svn.pjsip.org/repos/pjproject/trunk@3035 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-22 13:00:22 +00:00
Benny Prijono e79115689f Misc (ticket #1003):
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3032 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-14 11:13:45 +00:00
Benny Prijono 011e3f27f0 Ticket #1002: Crash when adding/removing buddies (thanks Nikolay Popok and 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: https://svn.pjsip.org/repos/pjproject/trunk@3031 74dad513-b988-da41-8d7b-12977e46ad98
2009-12-10 05:16:23 +00:00
Benny Prijono fe1bd34b90 More ticket #982 (MWI): support for Asterisk unsolicited MWI requests:
- 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: https://svn.pjsip.org/repos/pjproject/trunk@3021 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-20 23:33:07 +00:00
Nanang Izzuddin 4874763f26 Ticket #957:
- Fixed compile error of incompatible param type (or bad type conversion) on Symbian 5th ed (and perhaps also on some GCC versions).
 - Fixed on_connect_complete() to reset SSL sock state before callback when connection fails (OpenSSL impl).
 - Fixed saving remote address before start connecting, so it won't miss remote address info when socket connection establishes immediately (OpenSSL impl).




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3020 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-20 07:48:41 +00:00
Benny Prijono 6d936a37af More #982 (MWI): support for Asterisk unsolicited MWI in pjsua application
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3019 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-20 04:18:27 +00:00
Benny Prijono 1cd713bae8 Misc (#951): undo r3012, and silently adjust max_calls to PJSUA_MAX_CALLS instead if it is greater
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3013 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-11 00:33:00 +00:00
Benny Prijono 4bf49ea383 Misc (#951): check when app specifies max_calls that is greater than PJSUA_MAX_CALLS (thanks Robbie Hanson for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3012 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-11 00:21:55 +00:00
Benny Prijono d3d18c325a Fixed for #937 (presence enhancements): handle case where event argument is NULL
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3009 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10 10:54:11 +00:00
Benny Prijono 14681e32d6 More ticket #957 (SSL): exclude sip_transport_tls_ossl.c from VS6 build
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3008 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10 10:46:38 +00:00
Benny Prijono a27ca1b9a1 More ticket #940: Multiple header rows with the same name may not be completely processed by PJSIP modules:
- handle the case when context doesn't have rdata (such as when parsing individual header or in pjsip-test), which crashed the app


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3003 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10 05:09:44 +00:00
Benny Prijono 4f93376671 Ticket #864: Revise on account registration Contact update rule
- don't switch if only port number is different and the Via received address is private
 - always update the transport (i.e. Via) address as well


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3001 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10 03:45:42 +00:00
Nanang Izzuddin b5e025aeba Ticket #957: Fixed 0.0.0.0:0 address returned by SIP TLS client transport, which would cause 0.0.0.0:0 address in SIP via header.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3000 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-09 13:40:26 +00:00
Benny Prijono a25bc9dc21 Ticket #950 and #957:
- added QoS options on PJLIB/PJLIB SSL/TLS socket/transport
 - added demo in Symbian ua.cpp


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2998 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-09 08:51:34 +00:00
Nanang Izzuddin 8ea7eb016a Misc fix (#951): Fixed pjsua bug RTP timestamp & sequence resetted after hold-resume (thanks Nikolay Popok for the report).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2996 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-09 08:11:34 +00:00
Benny Prijono 020bea19d6 Fixed ticket #986: Assertion when authorization PJSIP_AUTH_AUTO_SEND_NEXT is enabled (thanks Zhefeng Du for the report)
- also added SIPp scenario for testing


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2988 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-06 04:16:36 +00:00
Benny Prijono 611083d09e Fixed ticket #940: Multiple header rows with the same name may not be completely processed by PJSIP modules
- the parser now collect and aggregate all Supported/Require header fields into single header


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2985 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-04 13:17:31 +00:00
Benny Prijono 47cdfb62a8 More ticket #982: updated VS6 project with the mwi.[hc]
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2974 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-28 12:19:35 +00:00
Nanang Izzuddin 9c7616f2e2 Ticket #957: Updated PJSIP_HAS_TLS_TRANSPORT default value to refer to PJ_HAS_SSL_SOCK.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2973 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-28 06:09:15 +00:00
Nanang Izzuddin ea6d3c4d6b Ticket #957:
- Added features in secure socket: handshake timeout timer, certificate info, renegotiation API.
 - Added unit test for secure socket, along with testing purpose certificate & private key.
 - Updated build configs for secure socket.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2970 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-26 15:47:52 +00:00
Benny Prijono 4dd961b2fb Implement ticket #982: Support for SIP Message Summary/Message Waiting 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: https://svn.pjsip.org/repos/pjproject/trunk@2968 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-26 11:21:37 +00:00