diff options
Diffstat (limited to 'include/asterisk/framehook.h')
-rw-r--r-- | include/asterisk/framehook.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/asterisk/framehook.h b/include/asterisk/framehook.h index 8a58323f2..d388f2e1b 100644 --- a/include/asterisk/framehook.h +++ b/include/asterisk/framehook.h @@ -224,7 +224,7 @@ typedef int (*ast_framehook_consume_callback)(void *data, enum ast_frame_type ty typedef void (*ast_framehook_chan_fixup_callback)(void *data, int framehook_id, struct ast_channel *old_chan, struct ast_channel *new_chan); -#define AST_FRAMEHOOK_INTERFACE_VERSION 3 +#define AST_FRAMEHOOK_INTERFACE_VERSION 4 /*! This interface is required for attaching a framehook to a channel. */ struct ast_framehook_interface { /*! framehook interface version number */ @@ -242,6 +242,10 @@ struct ast_framehook_interface { * on is masqueraded and should be used to move any essential framehook data onto the channel the * old channel was masqueraded to. */ ast_framehook_chan_fixup_callback chan_fixup_cb; + /*! chan_breakdown_cb is optional. This function is called when another channel is masqueraded into + * the channel that a framehook is running on and should be used to evaluate whether the framehook + * should remain on the channel. */ + ast_framehook_chan_fixup_callback chan_breakdown_cb; /*! disable_inheritance is optional. If set to non-zero, when a channel using this framehook is * masqueraded, detach and destroy the framehook instead of moving it to the new channel. */ int disable_inheritance; |