From 29ce32912d24c522d58e422285f030230a051897 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Wed, 23 Mar 2005 21:52:31 +0000 Subject: Merge API changes for chanspy git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5238 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/channel.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 25b483b11..a28135c12 100755 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -152,14 +152,27 @@ struct ast_channel_tech { struct ast_channel *(* const bridged_channel)(struct ast_channel *chan, struct ast_channel *bridge); }; + +#define CHANSPY_NEW 0 +#define CHANSPY_RUNNING 1 +#define CHANSPY_DONE 2 + +struct ast_channel_spy { + struct ast_frame *queue[2]; + ast_mutex_t lock; + char status; + struct ast_channel_spy *next; +}; + + /*! Main Channel structure associated with a channel. */ /*! * This is the side of it mostly used by the pbx and call management. */ struct ast_channel { /*! ASCII Description of channel name */ - char name[AST_CHANNEL_NAME]; - + char name[AST_CHANNEL_NAME]; + /*! Technology */ const struct ast_channel_tech *tech; /*! Private data used by the technology driver */ @@ -313,6 +326,9 @@ struct ast_channel { /*! Raw write format */ int rawwriteformat; + /*! Chan Spy stuff */ + struct ast_channel_spy *spiers; + /*! For easy linking */ struct ast_channel *next; @@ -329,6 +345,8 @@ struct ast_channel { #define AST_FLAG_ZOMBIE (1 << 4) /* if we are a zombie */ #define AST_FLAG_EXCEPTION (1 << 5) /* if there is a pending exception */ #define AST_FLAG_MOH (1 << 6) /* XXX anthm promises me this will disappear XXX listening to moh */ +#define AST_FLAG_SPYING (1 << 7) /* XXX might also go away XXX is spying on someone */ +#define AST_FLAG_NBRIDGE (1 << 8) /* is it in a native bridge */ #define AST_FEATURE_PLAY_WARNING (1 << 0) #define AST_FEATURE_REDIRECT (1 << 1) @@ -389,6 +407,7 @@ struct outgoing_helper { #define AST_SOFTHANGUP_TIMEOUT (1 << 3) #define AST_SOFTHANGUP_APPUNLOAD (1 << 4) #define AST_SOFTHANGUP_EXPLICIT (1 << 5) +#define AST_SOFTHANGUP_UNBRIDGE (1 << 6) /* Bits 0-15 of state are reserved for the state (up/down) of the line */ /*! Channel is down and available */ -- cgit v1.2.3