Skip to content
Snippets Groups Projects
  • Joshua Colp's avatar
    781a520b
    bridge_basic: Ignore answer from transfer target when they've timed out. · 781a520b
    Joshua Colp authored
    This is a fun one.
    
    Given the following attended transfer scenario:
    
    1. Transfer target is called
    2. Transferer hangs up
    3. Transfer target call attempt reaches timeout
    4. Transfer target is told to hang up
    5. Transfer target answers before channel is hung up
    6. Transferer recall target is called
    
    A crash would occur. This is because the transfer target call
    attempt, despite being told to hang up, would raise a recall
    target answer before the recall target had been answered. As it
    had not answered there would be no recall target channel and it
    would implode.
    
    This change makes it so that if the transfer target has been
    hung up we don't tell the attended transfer code that it has
    answered. We also clear out the stimulus that the recall target
    has been answered after telling the transfer target to hang up,
    in case it was able to raise the information before we told it
    to hangup.
    
    ASTERISK-27361
    
    Change-Id: Ifb8b255a9c4d2c5c1b8ad77bf54f659ed286df99
    781a520b
    History
    bridge_basic: Ignore answer from transfer target when they've timed out.
    Joshua Colp authored
    This is a fun one.
    
    Given the following attended transfer scenario:
    
    1. Transfer target is called
    2. Transferer hangs up
    3. Transfer target call attempt reaches timeout
    4. Transfer target is told to hang up
    5. Transfer target answers before channel is hung up
    6. Transferer recall target is called
    
    A crash would occur. This is because the transfer target call
    attempt, despite being told to hang up, would raise a recall
    target answer before the recall target had been answered. As it
    had not answered there would be no recall target channel and it
    would implode.
    
    This change makes it so that if the transfer target has been
    hung up we don't tell the attended transfer code that it has
    answered. We also clear out the stimulus that the recall target
    has been answered after telling the transfer target to hang up,
    in case it was able to raise the information before we told it
    to hangup.
    
    ASTERISK-27361
    
    Change-Id: Ifb8b255a9c4d2c5c1b8ad77bf54f659ed286df99