Draft: correction of ast_control_pvt_cause indication
pjsip is updating the cause_code and indicating it with AST_CONTROL_PVT_CAUSE_CODE on each incoming response.
chan_pjsip/chan_pjsip_incoming_response_update_cause{
update cause_code with each incoming response,
indicate AST_CONTROL_PVT_CAUSE_CODE
}
and chan-brcm doing the tone-playing and state-changing based on the indication received which includes this run-time temp cause_code. This leads to some race conditions(released during re-invite).
chan_brcm/brcm_indicate{
AST_CONTROL_PVT_CAUSE_CODE
tone playing/ state changing
}
As the cause_code is also used by chan_pjsip/chan_pjsip_session_end/ast_queue_hangup_with_cause
, and then used for ast_channel_hangupcause_set
through app_dial. We should move the part for AST_CONTROL_PVT_CAUSE_CODE from brcm_indicate to brcm_hangup by using ast_channel_hangupcause
Edited by Wenpeng Song