summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_call.c
AgeCommit message (Collapse)Author
2013-02-27Re #1559: Backported to 1.x, except r4312,r4330Liong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4387 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-23Re #1417: Fixed error handling if pjsip_timer_init_session() when accepting ↵Liong Sauw Ming
incoming call and fixed typo in assertion in sip_inv.c git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4067 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-15Fix #1464: Only use PJSUA lock in PJSUA implementations of INVITE session ↵Nanang Izzuddin
callbacks when updating 'pjsua_var' is needed, while updating 'pjsua_call' should be enough with call/dialog lock (which is actually being held by the INVITE session layer during invoking its callback). git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3977 74dad513-b988-da41-8d7b-12977e46ad98
2012-02-18Fixed #1452: Wrong call media state is reported if hold request is ↵Benny Prijono
challenged with authentication (thanks Bogdan Krakowski for the fix) git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3954 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-22Fixed bug in re #1376: pjsua_call_info() could not be called when state is ↵Benny Prijono
disconnected git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3771 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-22Fixed #1376: Crash if pjsua_call_get_info() is called with disconnected callBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3768 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-16Fixed #1371: Soft deadlock when application query call info of other call ↵Benny Prijono
inside a callback. The following APIs should be safe to be called in this situation: - pjsua_call_get_info() - pjsua_call_get_conf_port() git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3751 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-15Fixed #1369: Local state is set to HOLD even if hold operation failsBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3749 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-16Fixed #1305: Bug in pjsua_call_hangup_all() may cause deadlock (thanks Kees ↵Benny Prijono
van der Bent for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3584 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-27Fixed #1302: Bug in soft deadlock detection may cause program to block ↵Benny Prijono
indefinitely (thanks Attila Magyar for the fix) git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3576 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-20Fixed #1291:Nanang Izzuddin
- fixed bug in SIP invite module, SDP negotiator state should be reverted back after an SDP re-offer is rejected by application. - fixed bug in pjsua_call_on_rx_offer(), evaluating call->audio_index should be done after pjsua_media_channel_create_sdp() is successful. git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3574 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-19Fixed #1259: Option to use of 100rel in UAS if UAC supports it (thanks ↵Benny Prijono
Marcus Froeschl for the suggestion) git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3570 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05Re #1250: Updated the year in all copyright texts with 2011!Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16Fixed #1209: new enhancement: Option to update Contact URI when sending ↵Benny Prijono
re-INVITE or UPDATE git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3452 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-25Fix #1163:Nanang Izzuddin
- Fixed lock codec to always be done after successful media update, and pend the lock codec until call state CONFIRMED if media update is done in call state EARLY but remote does not support UPDATE method. - Added additional checks in lock_codec() and perform_lock_codec(), e.g: skip locking codec when media deactivated. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3374 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-17Fixed #1159: UPDATE is sent to lock codec even though call is being disconnectedBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3371 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-20Fixed #1149 (Crash when holding the call after receiving SDP answer with ↵Benny Prijono
multiple codecs (thanks Cyril GY for the report)): - avoid using pre-created SDP, but rather use timer and create SDP right when the UPDATE/re-INVITE is about to be sent, to avoid the use of stale pool - also fixed bug in the old code when the lock codec feature is not activated after the call is confirmed git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3349 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-05Fix #1143:Nanang Izzuddin
- Fixed no audio bug when pjsua with SRTP optional-with-duplicated-offer calls pjsua with SRTP disabled, by updating active media index after SDP negotiation done. - Fixed bug in generating SDP, pjsua_media_channel_create_sdp(), by making sure all media in the SDP candidate are aligned with current active SDP before calling pjmedia_transport_encode_sdp(). - Fixed bug in modifying SDP for call hold, the media index to be modified was hardcoded to 0, should be active media index. - Added python tests for calls with SRTP optional-with-duplicated-offer. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3334 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-01Closed #1142 (Account based configuration to specify if "c=0.0.0.0" method ↵Benny Prijono
should be used when putting call on hold): - use PJSUA_CALL_HOLD_TYPE_DEFAULT to specify default global call hold type - use pjsua_acc_config.call_hold_type to specify call hold type for the account - call hold type can also be set on per call basis by changing the call_hold_type in the call structure (requires inclusion of <pjsua-lib/pjsua_internal.h> git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3330 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07Re #1120:Nanang Izzuddin
- 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: http://svn.pjsip.org/repos/pjproject/trunk@3305 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07Fixed #1117: Configurable PJSUA-LIB lock timeoutLiong Sauw Ming
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3304 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01Implemented core multipart support and support in the invite session (re #1070)Benny Prijono
- incoming multipart message will be handled automatically - for testing, enable HAVE_MULTIPART_TEST in pjsua_app.c git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3243 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 #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-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-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
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-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-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-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-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-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-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-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-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
2009-04-14Ticket #786: Crash when UAC invite or subscribe session initialization fails ↵Benny Prijono
(thanks Rostislav Molodyko for the report) git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2593 74dad513-b988-da41-8d7b-12977e46ad98
2009-03-12(Major) Task #737 and #738: integration of APS-Direct and Audiodev from ↵Benny Prijono
aps-direct branch to trunk. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2506 74dad513-b988-da41-8d7b-12977e46ad98
2008-12-23Updated copyright notice in all files to Teluu Inc., and changed the year as ↵Benny Prijono
well git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2394 74dad513-b988-da41-8d7b-12977e46ad98
2008-12-17Ticket 684: protect the memory allocation for TX packet with try/catch, and ↵Benny Prijono
fixed various transmit data buffer leaks when transmission fails immediately git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2380 74dad513-b988-da41-8d7b-12977e46ad98
2008-11-27More ticket #10: changed to signature of the redirection callbacks to make ↵Benny Prijono
it more natural to use git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2371 74dad513-b988-da41-8d7b-12977e46ad98
2008-11-27Ticket #10: handle redirection response in the invite sessionBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2370 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-24Ticket #635: Disconnect the other call leg when multiple 2xx/OK responses to ↵Benny Prijono
INVITE are received due to forking git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2315 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-20Ticket #611: Configuration option to force the route URI to use loose routingBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2301 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-18Ticket #631:Nanang Izzuddin
- Changed rem_rtp/rtcp_addr to src_rtp/rtcp_addr in media transport info - Updated behaviour of media transport get info, when the transport hasn't receive any packet src_rtp/rtcp_addr will not be set. - Fixed bug in pjsua_call_dump that rem_addr was unset. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2293 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-17Ticket #631:Nanang Izzuddin
- Added new fields in media transport info: remote address originating RTP & RTCP. - Updated transport UDP & ICE to fill above fields in getting transport info. - Updated pjsua call dump, instead of showing remote RTP address from SDP, it will show address of RTP originator. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2291 74dad513-b988-da41-8d7b-12977e46ad98