Skip to content
Snippets Groups Projects
  • Mark Michelson's avatar
    d97bed46
    Local channels: Alternate solution to ringback problem. · d97bed46
    Mark Michelson authored
    Commit 54b25c80 solved an issue where a
    specific scenario involving local channels and a native local RTP bridge
    could result in ringback still being heard on a calling channel even
    after the call is bridged.
    
    That commit caused many tests in the testsuite to fail with alarming
    consequences, such as not sending DialBegin and DialEnd events, and
    giving incorrect hangup causes during calls.
    
    This commit reverts the previous commit and implements and alternate
    solution. This new solution involves only passing AST_CONTROL_RINGING
    frames across local channels if the local channel is in AST_STATE_RING.
    Otherwise, the frame does not traverse the local channels. By doing
    this, we can ensure that a playtones generator does not get started on
    the calling channel but rather is started on the local channel on which
    the ringing frame was initially indicated.
    
    ASTERISK-25250 #close
    Reported by Etienne Lessard
    
    Change-Id: I3bc87a18a38eb2b68064f732d098edceb5c19f39
    d97bed46
    History
    Local channels: Alternate solution to ringback problem.
    Mark Michelson authored
    Commit 54b25c80 solved an issue where a
    specific scenario involving local channels and a native local RTP bridge
    could result in ringback still being heard on a calling channel even
    after the call is bridged.
    
    That commit caused many tests in the testsuite to fail with alarming
    consequences, such as not sending DialBegin and DialEnd events, and
    giving incorrect hangup causes during calls.
    
    This commit reverts the previous commit and implements and alternate
    solution. This new solution involves only passing AST_CONTROL_RINGING
    frames across local channels if the local channel is in AST_STATE_RING.
    Otherwise, the frame does not traverse the local channels. By doing
    this, we can ensure that a playtones generator does not get started on
    the calling channel but rather is started on the local channel on which
    the ringing frame was initially indicated.
    
    ASTERISK-25250 #close
    Reported by Etienne Lessard
    
    Change-Id: I3bc87a18a38eb2b68064f732d098edceb5c19f39