Skip to content
Snippets Groups Projects
  • Yalu Zhang's avatar
    fe6bedf1
    Fix a bug that call clearing tones are not started when two other call parties hangup · fe6bedf1
    Yalu Zhang authored
    Call scenario
    - DUT calls A and the call is answered
    - B calls DUT
    - Press R to accept B
    - A hangs up and then B hangs up There are no call clearing tones after a brief beep.
    
    Cause
    handle_dialtone_timeout() calls chan_voicemngr_get_active_subchannel() to get the sub-channel
    and the sub[0] is returned and its state is ONHOOK. So the call clearing procedure is not
    started by handle_dialtone_timeout().
    
    Solution
    Let chan_voicemngr_get_active_subchannel() select the sub-channel with state CALLENDED over
    ONHOOK.
    
    Also remove the unused call state ANSWER.
    Verified
    fe6bedf1
    History
    Fix a bug that call clearing tones are not started when two other call parties hangup
    Yalu Zhang authored
    Call scenario
    - DUT calls A and the call is answered
    - B calls DUT
    - Press R to accept B
    - A hangs up and then B hangs up There are no call clearing tones after a brief beep.
    
    Cause
    handle_dialtone_timeout() calls chan_voicemngr_get_active_subchannel() to get the sub-channel
    and the sub[0] is returned and its state is ONHOOK. So the call clearing procedure is not
    started by handle_dialtone_timeout().
    
    Solution
    Let chan_voicemngr_get_active_subchannel() select the sub-channel with state CALLENDED over
    ONHOOK.
    
    Also remove the unused call state ANSWER.
chan_voicemngr.h 9.66 KiB