summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib
AgeCommit message (Collapse)Author
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
2009-11-11Misc (#951): undo r3012, and silently adjust max_calls to PJSUA_MAX_CALLS ↵Benny Prijono
instead if it is greater git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3013 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-11Misc (#951): check when app specifies max_calls that is greater than ↵Benny Prijono
PJSUA_MAX_CALLS (thanks Robbie Hanson for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3012 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10Fixed for #937 (presence enhancements): handle case where event argument is NULLBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3009 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-10Ticket #864: Revise on account registration Contact update ruleBenny Prijono
- 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: http://svn.pjsip.org/repos/pjproject/trunk@3001 74dad513-b988-da41-8d7b-12977e46ad98
2009-11-09Misc fix (#951): Fixed pjsua bug RTP timestamp & sequence resetted after ↵Nanang Izzuddin
hold-resume (thanks Nikolay Popok for the report). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2996 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-26Implement ticket #982: Support for SIP Message Summary/Message Waiting ↵Benny Prijono
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: http://svn.pjsip.org/repos/pjproject/trunk@2968 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-25Initial commit for ticket #950: QoS support:Benny Prijono
- implementation: - PJLIB (sock_qos*.*) - added QoS support in: - SIP UDP transport, - SIP TCP transport, - media UDP transport (done in pjsua-lib), - pjnath ICE stream transport, - pjnath STUN socket, - pjnath TURN client - added QoS options in pjsua-lib: - QoS fields in pjsua_transport_config - added "--set-qos" parameter in pjsua Notes: - QoS in TLS transport is not yet implemented, waiting for #957 - build ok on VS6, VS2005 (multiple targets), Carbide, and Mingw - no run-time testing yet git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2966 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-21More #937 (presence):Benny Prijono
- added protection to not resubscribe immediately if initial SUBSCRIBE is responded with 481 for some reason git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2960 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-21More ticket #937 (presence revamping):Benny Prijono
- 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: http://svn.pjsip.org/repos/pjproject/trunk@2959 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20Initial commit for ticket #937: Revamping of presence management to make it ↵Benny Prijono
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: http://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-20Ticket #976: Fixed pjsua_call_make_call() to associate call with account ↵Nanang Izzuddin
before media channel initialization. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2955 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-15Misc (#951): pool that is used to add missing ";lr" parameter in the Route ↵Benny Prijono
URI is not destroyed in PJSUA-LIB, causing potential memory leak git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2949 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-14Ticket #881: send UPDATE or re-INVITE after ICE negotiation, if the default ↵Benny Prijono
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: http://svn.pjsip.org/repos/pjproject/trunk@2945 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-14Ticket #970: More gracefull PJSUA-LIB shutdown sequence. Enhancements:Benny Prijono
- 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: http://svn.pjsip.org/repos/pjproject/trunk@2943 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-13Ticket #364: Upon unregistration, (un)REGISTER should be sent only after ↵Benny Prijono
(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: http://svn.pjsip.org/repos/pjproject/trunk@2942 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-12Ticket #411: Cannot update account presence's status while previous PUBLISH ↵Benny Prijono
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: http://svn.pjsip.org/repos/pjproject/trunk@2940 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-11Ticket #951 (misc fixes):Benny Prijono
- fixed misc compiler warnings with gcc on Linux git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2938 74dad513-b988-da41-8d7b-12977e46ad98
2009-10-01Misc (ticket #951): increase CSeq on retrying MESSAGE request due to 401/407 ↵Benny Prijono
response (thanks Rafael Maia for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2923 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-17Ticket #866: Fixed compile error caused by implicit conversion from void* in ↵Nanang Izzuddin
test_stun_on_status(). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2895 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-17Ticket #945: Account config may not get initialized with default values if ↵Benny Prijono
pjsua_acc_config_default() is called before pjsua_init() - added call to pjsua_config_default() in init_data(), so the global config is now initialized in pjsua_create() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2887 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-12Ticket #933: Incoming OPTIONS may trigger assertion if it arrives when ↵Benny Prijono
PJSUA-LIB is being shutdown (thanks Johan Lantz for the report) - destroy the media subsystem after busy_sleep(1000) in the shutdown sequence - also handle the case when OPTIONS arrives just when PJSUA-LIB is being initialized and media transport is not ready (in this case just reply OPTIONS without message body) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2871 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-12Ticket #877: Memory consumption of the invite session grows indefinitely if ↵Benny Prijono
call is running for long period of time and with many re-INVITES - introducing flip-flop pools in the pjsip_inv_session. There are two additional pools created, and one of them will be reset everytime SDP negotiation is done to release memory back to the OS git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2869 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-12Ticket #866: Allow application to specify more than one STUN servers for ↵Benny Prijono
more robustness, and continue application startup if STUN resolution fails PJSUA-LIB: - New fields in pjsua_config to specify more than one STUN servers (the stun_srv_cnt and stun_srv array) - The existing stun_host and stun_domain fields are deprecated, but backward compatibility is maintained. If stun_srv_cnt is zero, the library will import the entries from stun_host and stun_domain - The library will now resolve the STUN server entries one by one and test it before using it - New auxiliary API pjsua_resolve_stun_servers() to perform resolution and test against array of STUN servers pjsua application: - The "stun-srv" command line options can now be specified more than once git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2864 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-11Ticket #833:Nanang Izzuddin
- Renamed pjsip_timer_default_setting() to pjsip_timer_setting_default(). - Updated session timer settings in pjsua-lib as whole session timer setting struct (pyhton version remains using se & min_se). - Added output param SIP status code in pjsip_timer_process_resp() and pjsip_timer_process_req() to specify the corresponding SIP status code when function returning non-PJ_SUCCESS. - Fixed print header functions in sip_timer.c to have buffer check. - Added PJSIP_SESS_TIMER_DEF_SE setting to specify the default value of session timer interval. - Fixed role reference of the refresher, it is transaction role, not dialog role. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2859 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-11Ticket #833:Nanang Izzuddin
- Initial version of Session Timers (RFC 4028). - Added new options in pjsua app to configure Session Timers settings. - Added python tests for Session Timers. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2858 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-05Ticket #930:Nanang Izzuddin
- Updated semantic of contact param in functions pjsip_dlg_create_uac(), pjsip_dlg_create_uas(), pjsip_endpt_create_request() and also variable pjsua_acc.contact to be Contact header value (was Contact URI). - Updated docs related to above modifications. - Fixed pjsua_im_send() in generating contact header, it should use pjsua_acc.contact instead, if it is set. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2855 74dad513-b988-da41-8d7b-12977e46ad98
2009-08-04Ticket #930:Nanang Izzuddin
- Changed semantic of pjsua_acc_config.contact_params, it is now used for specifying Contact header parameters (it was used for specifying Contact URI parameters). - Added a new field pjsua_acc_config.contact_uri_params, for specifying Contact URI parameters. - Added fields pjsua_acc_config.contact_params and pjsua_acc_config.contact_uri_params into python pjsua. - Updated/added option in pjsua app to specify Contact header parameters and Contact URI parameters. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2852 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-16Sound device is not automatically started after pjsua_set_no_snd_dev() is ↵Benny Prijono
called, even after pjsua_set_snd_dev() is called git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2837 74dad513-b988-da41-8d7b-12977e46ad98
2009-07-15Ticket #919:Nanang Izzuddin
- Added default ilbc mode into codec passthrough setting. - Added iLBC mode 'negotiation' in iLBC codec_open(). - Updated stream_create() to prioritize codec_open(), that may update the codec params, over stream initializations involving codec params. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2834 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-30Ticket #910:Nanang Izzuddin
- Added a new API pjmedia_codec_passthrough_init2(). - Updated the initialization steps of passthrough codec in pjsua_media.c, to configure the codecs (of passthrough codec) to be enabled based on audio device extended/encoded formats. - Minor update: added passthrough.h into pjmedia_codec.vcproj. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2825 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-30Related to #911:Benny Prijono
- added subscription state name string in pjsua_buddy_info and display this in pjsua git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2824 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-15Ticket #873: Include the parsed XML tuple in the pjsip_pres_status, and ↵Benny Prijono
include it in the pjsua_buddy_info in PJSUA-LIB, in case the PIDF document contains other info that is needed by application (thanks Johan Lantz for the suggestion) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2762 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-12Ticket #882: Added check of active call count before auto-close sound device.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2758 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-05Ticket #880: Pressing call hold twice in pjsua will cause call to be unheldBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2752 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-04Ticket #860:Benny Prijono
- will send SUBSCRIBE to refresh REFER subscription (not REFER!), only when required (such as when call transfer is running for longer than REFER subscription expiration, hence need to be refreshed) - replaced hardcoded REFER subscription duration (600s) with a macro, {{{PJSIP_XFER_EXPIRES}}}. - when NOTIFY with "200 OK" sipfrag body is received and subscription state is not terminated, send SUBSCRIBE with Expires=0 to terminate the REFER subscription - for transferee, terminate the subscription in CONNECTING state and not in CONFIRMED state. Terminating the subscription in CONFIRMED state causes redundant NOTIFYs with "200 OK" sipfrag body to be sent, one with active subscription and another with terminated state. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2750 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-04Ticket #863: Account may always re-register with IPv6, due to string ↵Benny Prijono
comparison of IPv6 address. Note: this needs ticket #878) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2745 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-04More ticket #878 (New PJLIB API to parse socket address string):Benny Prijono
- updated PJSUA-LIB to use the new API git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2744 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-03More ticket #876:Benny Prijono
- fixed crash when null-audio is used with switchboard git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2742 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-03Ticket #876: Second call fails to open the sound device event when ↵Benny Prijono
--null-audio is set git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2741 74dad513-b988-da41-8d7b-12977e46ad98
2009-06-03Misc (ticket #838): added link to the ticket which changed the account ↵Benny Prijono
re-registration rule git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2737 74dad513-b988-da41-8d7b-12977e46ad98
2009-05-29Integration of Sipit24 branch, many tickets involved:Benny Prijono
- #793: AMR encoder should regard 'mode-set' param specified by remote decoder. - #831: Automatically switch to TCP transport when sending large request - #832: Support for outbound proxy setting without using Route header - #849: Modify conference audio switch behavior in connecting ports. - #850: Remove 'Require=replaces' param in 'Refer-To' header (in call transfer with replaces). - #851: Support for regular nomination in ICE - #852: --ip-addr support for IPv6 for media transport in pjsua - #854: Adding SOFTWARE attribute in all outgoing requests may cause compatibility problem with older STUN server (thanks Alexei Kuznetsov for the report) - #855: Bug in digit map frequencies for DTMF digits (thanks FCCH for the report) - #856: Put back the ICE candidate priority values according to the default values in the draft-mmusic-ice - #857: Support for ICE keep-alive with Binding indication - #858: Do not authenticate STUN 438 response - #859: AMR-WB format param in the SDP is not negotiated correctly. - #867: Return error instead of asserting when PJSUA-LIB fails to open log file git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2724 74dad513-b988-da41-8d7b-12977e46ad98
2009-05-12Ticket #842: Error parsing status line in sipfrag message body in call ↵Benny Prijono
transfer scenario (thanks Tomáš Valenta for the report!) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2695 74dad513-b988-da41-8d7b-12977e46ad98
2009-05-07Ticket #827: Option in PJSUA-LIB logging config to append existing log file ↵Benny Prijono
(thanks Robert Cichielo for the suggestion) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2686 74dad513-b988-da41-8d7b-12977e46ad98
2009-05-06Ticket #824: Race condition in sound auto-close feature may cause sound ↵Benny Prijono
device to not be opened git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2679 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-28Ticket #760: Enhancements to PUBLISH management (thanks Johan Lantz for the ↵Benny Prijono
suggestion) - Changes in PJSUA-LIB - retry with fresh request on 412/Conditional Request Failed response - changed default Expires in PUBLISH request to none (we will not put Expires), to avoid getting 423/Interval Too Brief response - if the PUBLISH fails for any reason, it will be retried on every PJSUA_PRES_TIMER (default 300 seconds), similar to how failed SUBSCRIBE will be retried - Changes to publish.h: - added API to add headers in every PUBLISH request - Added test scenario in Python unit tests git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2661 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-27Ticket #693: Allow incoming MESSAGE request without message bodyBenny Prijono
- also added SIPp scenario to test this git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2651 74dad513-b988-da41-8d7b-12977e46ad98
2009-04-23Fixed ticket #794: Bug with generating SDP version in origin line (thanks ↵Benny Prijono
Joel Dodson for the report) - the INVITE session now correctly uses the SDP offer "fixed" by the negotiator, hence it will have the correct origin fields. - removed update_sdp_version() from PJSUA-LIB - the negotiator now also fixes the session ID of subsequent answer so that it's identical to the previous SDP git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2643 74dad513-b988-da41-8d7b-12977e46ad98