From 0b5da784d0946231831911f9460b3c7ba95bf224 Mon Sep 17 00:00:00 2001 From: tilghman Date: Mon, 4 May 2009 19:29:13 +0000 Subject: Restore 'asyncagi break' command to 1.6.1 and higher. (closes issue #14985) Reported by: nikkk Patches: 20090428__bug14985.diff.txt uploaded by tilghman (license 14) 20090429__bug14985__1.6.1.diff.txt uploaded by tilghman (license 14) Tested by: nikkk git-svn-id: http://svn.digium.com/svn/asterisk/trunk@192171 f38db490-d61c-443f-a65b-d21fe96a405b --- include/asterisk/autoconfig.h.in | 46 +++++++++++++++++++++++++--------------- res/res_agi.c | 20 +++++++++++++++++ 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 6211c3a9c..f52a872ce 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -1208,6 +1208,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define to 1 if the C compiler supports function prototypes. */ +#undef PROTOTYPES + /* Define to necessary symbol if this constant uses a non-standard name on your system. */ #undef PTHREAD_CREATE_JOINABLE @@ -1224,6 +1227,11 @@ /* Define to the type of arg 5 for `select'. */ #undef SELECT_TYPE_ARG5 +/* Define to 1 if the `setvbuf' function takes the buffering type as its + second argument and the buffer pointer as the third, as on System V before + release 3. */ +#undef SETVBUF_REVERSED + /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT @@ -1244,30 +1252,20 @@ /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME -/* Enable extensions on AIX 3, Interix. */ +/* Define to 1 if on AIX 3. + System headers sometimes define this. + We just want to avoid a redefinition error message. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +#undef _FILE_OFFSET_BITS + /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ #undef _LARGEFILE_SOURCE @@ -1285,6 +1283,20 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE +/* Enable extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif + +/* Define like PROTOTYPES; this can be used by system headers. */ +#undef __PROTOTYPES + /* Define to empty if `const' does not conform to ANSI C. */ #undef const diff --git a/res/res_agi.c b/res/res_agi.c index 7eebf7c61..22002557a 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -78,6 +78,19 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") hangup + + + Interrupts Async AGI + + + + Interrupts expected flow of Async AGI commands and returns control to previous source + (typically, the PBX dialplan). + + + hangup + + Returns status of the connected channel. @@ -1034,6 +1047,12 @@ static int handle_answer(struct ast_channel *chan, AGI *agi, int argc, char *arg return (res >= 0) ? RESULT_SUCCESS : RESULT_FAILURE; } +static int handle_asyncagi_break(struct ast_channel *chan, AGI *agi, int argc, char *argv[]) +{ + ast_agi_send(agi->fd, chan, "200 result=0\n"); + return RESULT_FAILURE; +} + static int handle_waitfordigit(struct ast_channel *chan, AGI *agi, int argc, char *argv[]) { int res, to; @@ -2474,6 +2493,7 @@ static char usage_speechrecognize[] = */ static struct agi_command commands[] = { { { "answer", NULL }, handle_answer, NULL, NULL, 0 }, + { { "asyncagi", "break", NULL }, handle_asyncagi_break, NULL, NULL, 1 }, { { "channel", "status", NULL }, handle_channelstatus, NULL, NULL, 0 }, { { "database", "del", NULL }, handle_dbdel, NULL, NULL, 1 }, { { "database", "deltree", NULL }, handle_dbdeltree, NULL, NULL, 1 }, -- cgit v1.2.3