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: https://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
- Added SSL socket abstraction with OpenSSL backend.
- Updated cipher data type and added cipher constants (Symbian SSL socket has also been updated).
- Updated SIP TLS transport to allow setting certificate/credential (via file).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2950 74dad513-b988-da41-8d7b-12977e46ad98
- set PJ_SOL_IP, PJ_SOL_TCP, and PJ_SOL_UDP to IPPROTO_IP, IPPROTO_TCP, and IPPROTO_UDP respectively on Windows
- also added PJ_TCP_NODELAY and PJ_SO_REUSEADDR
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2946 74dad513-b988-da41-8d7b-12977e46ad98
- done
- added pj_ice_strans_state (to be used for informational purposes for now)
- added pjmedia ICE transport specific info, and display it in call dump output
- misc fixes (changed pjmedia_transport_info.spec_info_cnt from int to unsigned)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2945 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@2943 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@2942 74dad513-b988-da41-8d7b-12977e46ad98
- 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: https://svn.pjsip.org/repos/pjproject/trunk@2940 74dad513-b988-da41-8d7b-12977e46ad98
- Crash in timer if publication session is terminated prematurely. To reproduce: publish two events in quick successions, e.g. by pressing "t" in pjsua couple of times. The publication session will be terminated with PJ_EBUSY status, and crash may occur when timer heap is polled.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2939 74dad513-b988-da41-8d7b-12977e46ad98
- #917: CANCEL may be sent to different servers than the INVITE when DNS SRV is used (thanks Alexei Kuznetsov for the report)
- #936: CANCEL must be sent with TCP if the INVITE was sent with TCP because of 1300 bytes message size/MTU limit (thanks Johan Lantz for the report)
- #967: Wrong Route header generation in CANCEL request with strict route
Save the server address(es) found by resolution process to tx_data, which is copied to CANCEL request. CANCEL request then uses this address rather than starting a fresh server resolution.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2932 74dad513-b988-da41-8d7b-12977e46ad98
- rollback the previous fix in r2916 since it is broken. It fails various authentication scenarios due to alignment of USERNAME attribute
- this fix only applies old alignment rule to SERVERNAME attribute or when STUN magic is not used in the message
- also disabled test vectors from draft-denis-behave-rfc3489bis-test-vectors-02, it fails with this fix
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2928 74dad513-b988-da41-8d7b-12977e46ad98
- added SIPp scenario to test it with re-INVITE
- minor: SDP parsing allow the last line without newline (required for SIPp)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2927 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed creating media answer in SDP negotation to just clone the offer (and update media direction) when media offer specifies port 0 (media inactive).
- Added pjsua python test.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2926 74dad513-b988-da41-8d7b-12977e46ad98
- transaction checks for the method before processing incoming ACK request
- transport layer checks the validity of status code in the response
- added SIPP scenario to reproduce the bad ACK request
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2915 74dad513-b988-da41-8d7b-12977e46ad98
- allow user to specify either custom body or header in call.send_request(). Previously user has to specify both (thanks Saúl Ibarra for the patch)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2910 74dad513-b988-da41-8d7b-12977e46ad98
- added acc.send_pager() API to send IM from account to an arbitrary URI (thanks Saúl Ibarra for the patch)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2909 74dad513-b988-da41-8d7b-12977e46ad98
- special treatment in ICE media transport, since Session Timer refresh when sending re-INVITE doesn't call transport_encode_sdp(), causing the ICE media transport to mistakenly think that it's role is UAS hence it will disable current ICE session
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2896 74dad513-b988-da41-8d7b-12977e46ad98