Skip to end of metadata
Go to start of metadata

Interception routines

Icon

As Interception routines are implemented internally using the Gosub application, all routines should end with an explicit call to the Return application.

The interception routines give the administrator an opportunity to alter connected line and redirecting information before the channel driver is given the information. If the routine does not change a value then that is what is going to be passed to the channel driver.

The tag string available in CALLERID, CONNECTEDLINE, and REDIRECTING is useful for the interception routines to provide some information about where the information originally came from.

The 'i' option of the CONNECTEDLINE dialplan function should always be used in the CONNECTED_LINE interception routines. The interception routine always passes the connected line information on to the channel driver when the routine returns. Similarly, the 'i' option of the REDIRECTING dialplan function should always be used in the REDIRECTING interception routines.

Icon

Note that Interception routines do not attempt to draw a distinction between caller/callee. As it turned out, it was not a good thing to distinguish since transfers make a mockery of caller/callee.

  • ${REDIRECTING_SEND_SUB}
    Subroutine to call before sending a redirecting update to the party.
  • ${REDIRECTING_SEND_SUB_ARGS}
    Arguments to pass to ${REDIRECTING_CALLEE_SEND_SUB}.
  • ${CONNECTED_LINE_SEND_SUB}
    Subroutine to call before sending a connected line update to the party.
  • ${CONNECTED_LINE_SEND_SUB_ARGS}
    Arguments to pass to ${CONNECTED_LINE_SEND_SUB}.

Interception macros

WARNING

Icon

Interception macros have been deprecated in Asterisk 11 due to deprecation of Macro. Users of the interception functionality should plan to migrate to Interception routines.

The interception macros give the administrator an opportunity to alter connected line and redirecting information before the channel driver is given the information. If the macro does not change a value then that is what is going to be passed to the channel driver.

The tag string available in CALLERID, CONNECTEDLINE, and REDIRECTING is useful for the interception macros to provide some information about where the information originally came from.

The 'i' option of the CONNECTEDLINE dialplan function should always be used in the CONNECTED_LINE interception macros. The interception macro always passes the connected line information on to the channel driver when the macro exits. Similarly, the 'i' option of the REDIRECTING dialplan function should always be used in the REDIRECTING interception macros.

  • ${REDIRECTING_CALLEE_SEND_MACRO}
    Macro to call before sending a redirecting update to the callee. This macro may never be needed since the redirecting updates should only go from the callee to the caller direction. It is available for completeness.
  • ${REDIRECTING_CALLEE_SEND_MACRO_ARGS}
    Arguments to pass to ${REDIRECTING_CALLEE_SEND_MACRO}.
  • ${REDIRECTING_CALLER_SEND_MACRO}
    Macro to call before sending a redirecting update to the caller.
  • ${REDIRECTING_CALLER_SEND_MACRO_ARGS}
    Arguments to pass to ${REDIRECTING_CALLER_SEND_MACRO}.
  • ${CONNECTED_LINE_CALLEE_SEND_MACRO}
    Macro to call before sending a connected line update to the callee.
  • ${CONNECTED_LINE_CALLEE_SEND_MACRO_ARGS}
    Arguments to pass to ${CONNECTED_LINE_CALLEE_SEND_MACRO}.
  • ${CONNECTED_LINE_CALLER_SEND_MACRO}
    Macro to call before sending a connected line update to the caller.
  • ${CONNECTED_LINE_CALLER_SEND_MACRO_ARGS}
    Arguments to pass to ${CONNECTED_LINE_CALLER_SEND_MACRO}.
  • No labels