summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_call.c
AgeCommit message (Collapse)Author
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
2008-09-08Ticket #613: Added packet discard statistic in pjsua 'dq' outputBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2266 74dad513-b988-da41-8d7b-12977e46ad98
2008-09-02Ticket #608: Added API to retrieve media transport and session from pjsua callBenny Prijono
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2259 74dad513-b988-da41-8d7b-12977e46ad98
2008-08-26Ticket #602:Nanang Izzuddin
- Introduced new API pjmedia_rtp_session_init2() to enable intializing RTP session with non-default initial settings - Updated stream so it can be created with non-default initial RTP settings. - Updated pjsua-lib to make sure RTP timestamp and sequence contigue when stream session is restarted. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2241 74dad513-b988-da41-8d7b-12977e46ad98
2008-08-04Ticket #563: Updated SDP offer/answer related to call hold scenario to ↵Nanang Izzuddin
conform to RFC 3264 section 8.4 (before: 'a=inactive' and 'c=0.0.0.0', now: 'a=sendonly' and muted ports). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2191 74dad513-b988-da41-8d7b-12977e46ad98
2008-07-17Added ability to dump extended statistics (RTCP XR) in pjsua.Nanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2152 74dad513-b988-da41-8d7b-12977e46ad98
2008-07-13Ticket #518: some fixes for growing memory usage in PJSUA-LIB, by using ↵Benny Prijono
temporary pools for temporary variables and by having separate pool for each account and buddy git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2130 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-27Fix handling of multiple media lines in the incoming SDP offer. Now ↵Benny Prijono
pjsua-lib will be able to select the best media line to handle git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2079 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-26Fixed assertion in invite session when INVITE has bad SDP because the SDP is ↵Benny Prijono
given without having been validated first git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2065 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-26Ticket #544: Fixed SRTP on hold+reinvite scenarioNanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2064 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-26Fixed bug: media got deactivated when SDP negotiation fails on re-INVITE or ↵Benny Prijono
UPDATE while it should be unaffected git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2060 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-20Large changeset to replace all occurences of year 2007 with 2008 in the ↵Benny Prijono
copyright notice git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2039 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-19Ticket #549: major modification in media transport API to support more ↵Benny Prijono
offer/answer scenarios git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2032 74dad513-b988-da41-8d7b-12977e46ad98
2008-06-16More ticket #540: updated snd-auto-close to work friendly with callNanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2027 74dad513-b988-da41-8d7b-12977e46ad98
2008-05-17More on ticket #535: updated files using and related to math.hNanang Izzuddin
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1961 74dad513-b988-da41-8d7b-12977e46ad98