diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-04 19:29:13 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-05-04 19:29:13 +0000 |
commit | 0b5da784d0946231831911f9460b3c7ba95bf224 (patch) | |
tree | 17ac0ab67c95751d0813f14c82464d3e059b9b95 | |
parent | 863236bfe230f734054ccae7b8b759d44c9642a3 (diff) |
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
-rw-r--r-- | include/asterisk/autoconfig.h.in | 46 | ||||
-rw-r--r-- | 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 <sys/time.h> 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$") <ref type="agi">hangup</ref> </see-also> </agi> + <agi name="asyncagi break" language="en_US"> + <synopsis> + Interrupts Async AGI + </synopsis> + <syntax /> + <description> + <para>Interrupts expected flow of Async AGI commands and returns control to previous source + (typically, the PBX dialplan).</para> + </description> + <see-also> + <ref type="agi">hangup</ref> + </see-also> + </agi> <agi name="channel status" language="en_US"> <synopsis> 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 }, |