Skip to content
Snippets Groups Projects
  • Mark Michelson's avatar
    205a31f8
    Expand the scope of Dial Events · 205a31f8
    Mark Michelson authored
    Dial events up to this point have come in two flavors
    * A Dial event with no status to indicate that dialing has begun
    * A Dial event with a status to indicate that dialing has ended
    
    With this change, Dial events have been expanded to also give
    intermediate events, such as "RINGING", "PROCEEDING", and "PROGRESS".
    This is especially useful for ARI dialing, as it gives the application
    writer the opportunity to place a channel into an early bridge when
    early media is detected.
    
    AMI handles these in-progress dial events by sending a new event called
    "DialState" that simply indicates that dial state has changed but has
    not ended. ARI never distinguished between DialBegin and DialEnd, so no
    change was made to the event itself.
    
    Another change here relates to dial forwards. A forward-related event
    was previously only sent when a channel was successfully able to forward
    a call to a new channel. With this set of changes, if forwarding is
    blocked, we send a Dial event with a forwarding destination but no
    forwarding channel, since we were prevented from creating one. This is
    again useful for ARI since application writers can now handle call
    forward attempts from within their own application.
    
    ASTERISK-25925 #close
    Reported by Mark Michelson
    
    Change-Id: I42cbec7730d84640a434d143a0d172a740995543
    205a31f8
    History
    Expand the scope of Dial Events
    Mark Michelson authored
    Dial events up to this point have come in two flavors
    * A Dial event with no status to indicate that dialing has begun
    * A Dial event with a status to indicate that dialing has ended
    
    With this change, Dial events have been expanded to also give
    intermediate events, such as "RINGING", "PROCEEDING", and "PROGRESS".
    This is especially useful for ARI dialing, as it gives the application
    writer the opportunity to place a channel into an early bridge when
    early media is detected.
    
    AMI handles these in-progress dial events by sending a new event called
    "DialState" that simply indicates that dial state has changed but has
    not ended. ARI never distinguished between DialBegin and DialEnd, so no
    change was made to the event itself.
    
    Another change here relates to dial forwards. A forward-related event
    was previously only sent when a channel was successfully able to forward
    a call to a new channel. With this set of changes, if forwarding is
    blocked, we send a Dial event with a forwarding destination but no
    forwarding channel, since we were prevented from creating one. This is
    again useful for ARI since application writers can now handle call
    forward attempts from within their own application.
    
    ASTERISK-25925 #close
    Reported by Mark Michelson
    
    Change-Id: I42cbec7730d84640a434d143a0d172a740995543