Opened 10 years ago

Closed 10 years ago

#1793 closed enhancement (fixed)

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


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 (1)

comment:1 Changed 10 years ago by nanang

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

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.