Ticket #1793 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

Avoid unwanted call unhold when sending re-INVITE/UPDATE with call setting param set to NULL

Reported by: nanang Owned by: bennylp
Priority: normal Milestone: release-2.4
Component: pjsua-lib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description

Currently, when application calls pjsua_call_reinvite/update() with NULL call setting param, the existing call settings (including the flag) will be used, this may surprise the application with unwanted actions, for example, when previously application calls pjsua_call_reinvite()/update() with PJSUA_CALL_UNHOLD flag, the flag will stick for any future calls to pjsua_call_reinvite()/update() with NULL call setting param, so at some point it may unhold the call accidentally.

Some flags (such as PJSUA_CALL_UNHOLD, PJSUA_CALL_UPDATE_CONTACT, and PJSUA_CALL_NO_SDP_OFFER) are considered to be one-time operation or not supposed to be done again without explicitly specified in the flag. So when call setting param is NULL, such one-time operation flags are better be reset and application should explicitly specify the flag in the call setting param whenever it needs to release hold, etc.

Thanks to Itay Bianco for the report.

Change History

comment:1 Changed 4 years ago by nanang

  • Status changed from new to closed
  • Resolution set to fixed

In 4929:

Close #1793: Avoid call setting flags PJSUA_CALL_UNHOLD, PJSUA_CALL_UPDATE_CONTACT, and PJSUA_CALL_NO_SDP_OFFER to be sticky or reused in the next calls of pjsua_call_reinvite/update().

Note: See TracTickets for help on using tickets.