Terminating a trombone operation using caller DTMF

Figure 1. Event flow required to terminate a trombone operation when the caller requests this by dialing a DTMF sequence
Details of this graphic are provided in the succeeding text.
  1. If the caller state table detects a valid sequence of DTMF keys from the caller requesting the trombone to terminate, it sends TromboneDisconnectCall to IBM_Trombone_Custom_Server.
  2. IBM_Trombone_Custom_Server disconnects the caller and third party from the TDM bus and replies to the TromboneDisconnectCall.
  3. The caller state table then uses CloseHostServerLink to inform IBM_Trombone_Custom_Server that the caller has ended the trombone operation. (Using TerminateCall or CloseEverything would disconnect the caller which is probably not what you want at this point.)
  4. IBM_Trombone_Custom_Server sends a HostEvent to the third party state table to indicate that the caller has terminated the trombone operation.
  5. The caller state table uses CloseEverything, CloseHostServerLink, or TerminateCall to detach from IBM_Trombone_Custom_Server (and hang up on the third party if desired).

At this point, the caller is connected back to the state table application that invoked the IBMTromboneCall state table, and the third party has been disconnected.