Commit Graph

2644 Commits

Author SHA1 Message Date
Benny Prijono 9055f57a83 Ticket #981: new pj_perror() utility API
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2965 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-25 08:46:40 +00:00
Benny Prijono 78531d79a3 More ticket #972: SOL_UDP is not set properly on Linux
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2964 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-24 02:18:27 +00:00
Benny Prijono 17412425cd Fixed ticket #980: Memory pool alignment error when alignment is set to be greater than 4 bytes (thanks John Ridges for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2963 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-24 02:06:40 +00:00
Benny Prijono 1d61ba5e51 More ticket #972: fixed compilation error on Linux due to the last introduction ot PJ_TCP_NODELAY. Everyone needs to re-run configure though (thanks Dan Arrhenius for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2962 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-24 00:00:40 +00:00
Benny Prijono 64e1787e08 Fixed ticket #979: Crash when printing Retry-After header (thanks Andrey Kovalenko for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2961 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-22 01:10:58 +00:00
Benny Prijono 6ab0532a18 More #937 (presence):
- added protection to not resubscribe immediately if initial SUBSCRIBE is responded with 481 for some reason


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2960 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-21 03:03:06 +00:00
Benny Prijono 12c01a959e More ticket #937 (presence revamping):
- Added couple of SIPp scenario files to test various retry scenarios:
    - uas-subscribe-refresh-481.xml: client should resubscribe immediately on receiving 481 on resubscription
    - uas-subscribe-terminated-retry.xml: client should resubscribe upon receiving NOTIFY with some specific termination reasons
 - Added log message when PJSUA-LIB is resubscribing automatically due to above




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2959 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-21 02:37:52 +00:00
Nanang Izzuddin 793f939969 Ticket #978: Fixed noise in APS G.729 playback/decoding on some devices by adopting G.729 SID/DTX frame handling from VAS implementation.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2958 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 14:54:57 +00:00
Benny Prijono 30b8ede479 Fixed ticket #977: ICE does not change role to Controlling when talking to ice-lite agents (thanks Amaresh Marekar for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2957 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 14:44:00 +00:00
Benny Prijono 73bb72384f Initial commit for ticket #937: Revamping of presence management to make it 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: https://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 13:56:26 +00:00
Nanang Izzuddin 79f4f20268 Ticket #976: Fixed pjsua_call_make_call() to associate call with account before media channel initialization.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2955 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 13:14:40 +00:00
Benny Prijono 3492140945 Misc (#951): added couple of SIPp scenario XML files for future use:
- uac-subscribe.xml: generic subscriber
 - uac-options.xml: send OPTIONS


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2954 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 03:05:37 +00:00
Benny Prijono ed93903816 More ticket #965: Receiving (malformed) re-INVITE with the same Via branch parameter value as previous INVITE would raise assertion (thanks Daniel Nanassy for the report)
- added the SIPp XML scenario to reproduce this


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2953 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 03:02:21 +00:00
Benny Prijono 72748d012a More ticket #972: compilation problem with IPPROTO_IPV6 constant (thanks Robert Cichielo for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2952 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20 01:24:42 +00:00
Nanang Izzuddin cf69c28174 Ticket #954 (issue no 2): Updated session timer to process 2xx response in mod_inv state handlers (was in mod_inv_on_rx_response()).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2951 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-16 06:28:56 +00:00
Nanang Izzuddin 006cc01eeb Ticket #957:
- 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
2009-10-16 03:06:13 +00:00
Benny Prijono dc20c5909a Misc (#951): pool that is used to add missing ";lr" parameter in the Route URI is not destroyed in PJSUA-LIB, causing potential memory leak
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2949 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-15 06:55:30 +00:00
Benny Prijono 3249988985 Fixed ticket #974: Crash if ICE session is destroyed by the application inside "on_ice_complete" with an PJ_ICE_STRANS_OP_NEGOTIATION op callback (thanks John Ridges for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2948 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-15 04:46:39 +00:00
Benny Prijono 948d4f8668 Fixed ticket #973: pj_ioqueue_accept() fails on Windows NT IOCP backend if connection is immediately available and the "local" parameter is NULL (thanks John Ridges for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2947 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-15 04:04:45 +00:00
Benny Prijono db04cd5260 Ticket #972: setsockopt compatibility problems on Windows (thanks Yann and John Ridges for the reports)
- 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
2009-10-15 03:48:20 +00:00
Benny Prijono f5d9f1f381 Ticket #881: send UPDATE or re-INVITE after ICE negotiation, if the default candidate has changed
- 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
2009-10-14 13:13:18 +00:00
Benny Prijono 43cccb99ce Fixed ticket #971: Assertion in ICE with regular nomination strategy when registering timer
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2944 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-14 10:36:32 +00:00
Benny Prijono 384dab4d61 Ticket #970: More gracefull PJSUA-LIB shutdown sequence. Enhancements:
- 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
2009-10-14 01:58:04 +00:00
Benny Prijono 534a9ba6a0 Ticket #364: Upon unregistration, (un)REGISTER should be sent only after (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: https://svn.pjsip.org/repos/pjproject/trunk@2942 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-13 14:01:59 +00:00
Nanang Izzuddin 0e7071ce8f Ticket #968: Fixed WMME factory initialization to just return PJ_SUCCESS when no audio device is installed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2941 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-13 11:19:57 +00:00
Benny Prijono fe50c9ecfe Ticket #411: Cannot update account presence's status while previous PUBLISH 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: https://svn.pjsip.org/repos/pjproject/trunk@2940 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-12 07:44:14 +00:00
Benny Prijono 6ad776630f Related to ticket #411 (Cannot update account presence's status while previous PUBLISH is in progress):
- 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
2009-10-12 01:27:40 +00:00
Benny Prijono 140beae268 Ticket #951 (misc fixes):
- fixed misc compiler warnings with gcc on Linux


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2938 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-11 05:06:43 +00:00
Benny Prijono 2c91aa2368 Ticket #941: Lots of compilation wanings in libg7221 in basic_op.h with gcc
- set default inlining behavior for all basic_op functions to disabled


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2937 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-11 04:55:34 +00:00
Benny Prijono 196eabdf3d Ticket #965: Receiving (malformed) re-INVITE with the same Via branch parameter value as previous INVITE would raise assertion (thanks Daniel Nanassy for the report)
- also fix possible crashes when UAS transaction initialization fails for some reason


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2936 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-10 13:36:43 +00:00
Benny Prijono 9378ea1dbb Ticket #966: Bad RPID <person> id attribute generation (thanks Filipe Figueiredo for the report)
- make sure the id starts with letter


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2935 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-09 13:17:56 +00:00
Nanang Izzuddin dedcdf0ab3 Ticket #954: Added missing fix in r2933, updating local SE (to a value less than local Min-SE) should also update local Min-SE.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2934 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-09 12:31:59 +00:00
Nanang Izzuddin 346d6ec921 Ticket #954: Updated session timer to tolerate 'bad' SE (less than Min-SE specified in request) in 2xx response.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2933 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-09 12:19:35 +00:00
Benny Prijono 7a6b0847c2 Fixed ticket #917, #936, and #967:
- #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
2009-10-09 12:11:07 +00:00
Benny Prijono f7bcbe3bdf More ticket #960: STUN compatibility problem with RFC 3489 servers (in encoding SERVER-NAME or SOFTWARE attribute)
- 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
2009-10-07 08:38:02 +00:00
Benny Prijono 078497473b Ticket #964: Assertion when receiving SDP media with port 0 and without rtpmap attribute for the dynamic payload type formats (thanks Andrey Kovalenko for the report)
- 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
2009-10-06 13:33:21 +00:00
Nanang Izzuddin 9d86462106 Ticket #964:
- 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
2009-10-06 11:29:14 +00:00
Nanang Izzuddin fa17c85a2f Misc fix (#951): WMME dev should zero-fill WAVEFORMATEX as much as WAVEFORMATEX struct size, instead of just PCMWAVEFORMAT size, as it potentially leads to WAVERR_BADFORMAT when it is used in opening audio device (thanks Johan Lantz for the report).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2925 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-05 18:13:08 +00:00
Benny Prijono ea4b439975 Misc (ticket #951): increase CSeq on retrying MESSAGE request due to 401/407 response (thanks Rafael Maia for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2923 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-01 14:17:49 +00:00
Benny Prijono e0351cb7c7 Ticket #960: STUN compatibility problem with RFC 3489 servers (in encoding SERVER-NAME or SOFTWARE attribute)
- now always set string attribute's length to 4-bytes aligned



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2916 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-01 06:06:01 +00:00
Benny Prijono 828c761a14 Fixed ticket #959: Assertion upon receiving malformed SIP messages (thanks Andrey Kovalenko for the report)
- 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
2009-09-22 17:56:44 +00:00
Nanang Izzuddin c67d7bc66d Ticket #958: Fixed missing codec type check in initializing iLBC setting in codec_open() of passthrough codec.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2914 74dad513-b988-da41-8d7b-12977e46ad98
2009-09-10 15:20:05 +00:00
Nanang Izzuddin 6c62bf450d Ticket #957: Initial version of TLS transport for Symbian, includes:
- Secure socket, generic abstraction and Symbian implementation (using CSecureSocket).
 - Initial rewriting of SIP TLS transport.
 - Updated symbian_ua.mmp to support SIP transport TLS (experimental).

 


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2913 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-27 19:55:13 +00:00
Benny Prijono 0079ac3853 More #956: added admin commands and html mode
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2912 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-24 11:56:13 +00:00
Benny Prijono 8b9f0083c2 Ticket #956: confbot application, initial version
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2911 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-23 14:26:37 +00:00
Benny Prijono f5dd34e7ed Ticket #955 (fixes and enhancements to Python module):
- 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
2009-08-22 11:47:00 +00:00
Benny Prijono 2d1a94b8a6 Ticket #955 (fixes and enhancements to Python module):
- 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
2009-08-22 11:41:49 +00:00
Benny Prijono 5f1991706d Misc (#951): Updated the doxygen comment/documentation in pj_gethostname() that specying IPv4 address will fail on some platforms (e.g. Windows). Thanks Robert Cichielo for the report.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2908 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-22 11:18:50 +00:00
Benny Prijono 71b602b2fd Misc (#951): r2906 accidentally left STEREO_DEMO option ON in pjsua
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2907 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-21 13:38:32 +00:00
Benny Prijono 8ccd42897e Misc (ticket #951): fixed crash in pjsua application during shutdown with STEREO_DEO (thanks Andreas Ahland for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2906 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-21 11:12:19 +00:00