[Asterisk-Users] Bug?

Ronald Wiplinger ronald at elmit.com
Thu Apr 21 18:57:55 MST 2005


Kevin Bockman wrote:

>Hello, I have found a possible bug in Asterisk.  The reason I say this
>is that it does not coredump when I call locally over SIP, only when it
>goes over the net via IAX.
>
>I'm running an AGI (in PHP) which does not apparantly complete.  It
>shows in the console that it runs, but never completes.  The agi runs
>RECORD FILE.
>
>I also tried running -STABLE (from yesterday) along with a few other
>versions of -HEAD and it also crashes.  I assume that the "output
>fwrites" are from PHP.
>
>Sorry if I have done something wrong with the reporting, this is my
>first time reporting a bug.  I think there is a procedure about posting
>to the bugs database, but I want to make sure this is a bug and not
>something I'm doing wrong.
>
>Here's the console output at the time of the crash:
>asterisk in free(): error: chunk is already free
>output: fwrite: Broken pipe
>Abort (core dumped)
>output: fwrite: Broken pipe
>output: fwrite: Broken pipe
>
>  
>

 From all what I can see here is that there might be a bug in the php 
program.
Have you already checked the line 47 and 92 in the php program if you 
have missed the semicolon at the end?
If that is not the case, can you dump the kernel to the list along with 
your bank account info, so that we have more fun in guessing and still 
get paid for.

(Sorry, I could not resist - PLEASE DO NOT send the kernel to the list!!!)

>And a gdb bt full:
>(gdb) bt full
>#0  0x282adf17 in pthread_testcancel () from /usr/lib/libpthread.so.1
>No symbol table info available.
>#1  0x2829f0b5 in sigaction () from /usr/lib/libpthread.so.1
>No symbol table info available.
>#2  0x282991e1 in pthread_kill () from /usr/lib/libpthread.so.1
>No symbol table info available.
>#3  0x28298bb0 in raise () from /usr/lib/libpthread.so.1
>No symbol table info available.
>#4  0x28369627 in abort () from /lib/libc.so.5
>No symbol table info available.
>#5  0x2830d389 in ldexp () from /lib/libc.so.5
>No symbol table info available.
>#6  0x2830d3cd in ldexp () from /lib/libc.so.5
>No symbol table info available.
>#7  0x2830e2c1 in ldexp () from /lib/libc.so.5
>No symbol table info available.
>#8  0x2830e513 in ldexp () from /lib/libc.so.5
>No symbol table info available.
>#9  0x2830e644 in free () from /lib/libc.so.5
>No symbol table info available.
>#10 0x283c8bd6 in handle_recordfile (chan=0x283cfce0, agi=0x1,
>argc=142206976, argv=0x283caf39) at res_agi.c:908
>        fs = (struct ast_filestream *) 0x879e800
>        f = (struct ast_frame *) 0x2836fae6
>        tv = {tv_sec = 3000, tv_usec = 142205952}
>        start = {tv_sec = 0, tv_usec = 3030}
>        sample_offset = 1114132012
>        res = 64
>        ms = 730313
>        sildet = (struct ast_dsp *) 0xbf307428
>        dspsilence = 1
>        silence = -1087343568
>        gotsilence = 0
>        silencestr = 0x2836fae6 "chunk is already free\n"
>        rfmt = -1087343580
>        __PRETTY_FUNCTION__ = "handle_recordfile"
>#11 0x283caf39 in agi_exec_full (chan=0x8733c00, data=0x1, enhanced=0,
>dead=1) at res_agi.c:1711
>        uc = (struct localuser *) 0x17e
>        ul = (struct localuser *) 0x283cfce0
>        u = (struct localuser *) 0x876d430
>        argv = {0xbf308048 "dial/vm.agi", 0xbf308058 "54390", 0x0
><repeats 126 times>}
>        buf = "dial/vm.agi\00054390", '\0' <repeats 2026 times>
>        tmp = 0x0
>        argc = 675085536
>        fds = {52, 56}
>        efd = -1
>        pid = 19445
>        stringp = 0x17e <Address 0x17e out of bounds>
>        agi = {fd = 56, audio = -1, ctrl = 52}
>        __PRETTY_FUNCTION__ = "agi_exec_full"
>#12 0x283cb410 in deadagi_exec (chan=0x17e, data=0x6) at res_agi.c:1970
>No locals.
>#13 0x0807fdb2 in pbx_extension_helper (c=0x8733c00, con=0x0,
>context=0xbf30ee88 "", exten=0x8733d3c "dial-dial",
>    priority=0, label=0x8080bf8 "\203Ä \205À\211Å\017\205÷þÿÿ\213\203À",
>callerid=0xbf30cc28 "dial/vm.agi|54390",
>    action=0) at pbx.c:530
>        e = (struct ast_exten *) 0x0
>        sw = (struct ast_switch *) 0x81633a0
>        data = 0x1 <Address 0x1 out of bounds>
>        foundcontext = 0x0
>        newstack = 141770288
>        res = 0
>        status = 675066876
>        incstack = {0x0, 0x0, 0x0, 0x0, 0x81083c0 "\020", 0x40 <Address
>0x40 out of bounds>,
>  0x55 <Address 0x55 out of bounds>, 0x2829e3b2 "[\201Ãê5\001",
>0x282b199c "Äø\001",
>  0x8107000 "@P\021(\025¡\233ÐÐ\001\020\b", 0xbf30ecd0 "", 0x2829ec8f
>"\203Ä\020é\031\003", 0x28115050 "",
>  0x2 <Address 0x2 out of bounds>, 0x0, 0x2829ea22 "[\201Ãz/\001",
>0x2838d818 "\200U\021\b", 0x8761c50 "",
>  0xbf30eca0 "Ðì0¿_6*(", 0x282a4d4a "[\201ÃRÌ",
>  0x80a13bc
>"\203ì\f¡\030W\017\b\205Àu\030\203ì\bh¼\023\n\bÿt$\034è;\"ûÿ\203Ä\034Ã\215v",
>0x0,
>  0x2 <Address 0x2 out of bounds>, 0x0, 0x2838d818 "\200U\021\b",
>0x87af200 "@¸s(\025¡\233Ð",
>  0xbf30ecc0 "Á\236*(*Z*(\234\031+(", 0x282a4089 "ÿ\217¬", 0x8115580
>"P°\021\bP°\021\b\002", 0x87af248 "@\023v\b",
>  0xf <Address 0xf out of bounds>, 0x282a3b6a "[\201Ã2Þ", 0x2838d818
>"\200U\021\b", 0x87af200 "@¸s(\025¡\233Ð",
>  0xbf30ecd0 "", 0x282a365f
>"\203Ä\020\215eô[^_ÉÃ\211öU\211åWVS\203ì\fè", 0x87af200
>"@¸s(\025¡\233Ð", 0x0, 0x0,
>  0x282aecde "[\201þ,", 0x28379458 "", 0x81000f0 "H\030\020\b",
>0x282a9ec1 "[\201ÃÛz", 0x282a5a2a "[\201Ãr¿",
>  0x282b199c "Äø\001", 0x8101000 "\200ó\017\b", 0xbf30ed00
>"0í0¿ò\221)(",
>  0x282ae635 "\203Ä\020\215eô[^_ÉÃU\211åS\203ì\024è", 0x2873b850
>"\003P", 0x8101034 "\020\001\020\b", 0x0,
>  0x282ae531 "\211Eðe\2135@", 0x2838d818 "\200U\021\b", 0x283795ec
>"(5\f", 0x2873b850 "\003P", 0x282b199c "Äø\001", 0x0,
>  0x10 <Address 0x10 out of bounds>, 0xbf30ed30 "\001", 0x282991f2
>"\203Ä\020\215v", 0x87af200 "@¸s(\025¡\233Ð",
>  0x8107000 "@P\021(\025¡\233ÐÐ\001\020\b", 0x0, 0x2829917a
>"[\201Ã\"\210\001",
>  0x80f21a5 "- IAX2/asterlink-13 is ringing\n", 0x80de068
>"ASTERISK_PROMPT", 0x87af200 "@¸s(\025¡\233Ð",
>  0x1 <Address 0x1 out of bounds>, 0xbf30ed48 "d!\017\b", 0x80f21a5 "-
>IAX2/asterlink-13 is ringing\n",
>  0x1 <Address 0x1 out of bounds>, 0x282a4d4a "[\201ÃRÌ", 0x8107000
>"@P\021(\025¡\233ÐÐ\001\020\b", 0x8761c50 "",
>  0x5 <Address 0x5 out of bounds>, 0x1 <Address 0x1 out of bounds>,
>0x80f2164 "", 0x87af200 "@¸s(\025¡\233Ð",
>  0xbf30ed90 "°í0¿t7*(d!\017\b", 0x282a4089 "ÿ\217¬", 0x810a500
>"@,y\b\020\006\020\b\002", 0x87af248 "@\023v\b",
>  0xf <Address 0xf out of bounds>, 0x282a3b6a "[\201Ã2Þ", 0x0, 0x41
><Address 0x41 out of bounds>,
>  0x2836fb51 " in malloc():", 0xbf30ee00 "", 0xbf30ed90
>"°í0¿t7*(d!\017\b", 0x0, 0x0, 0x0,
>  0x80f21a0 "    -- IAX2/asterlink-13 is ringing\n",
>  0x80f21e1 "7889751781 at dial-dial-da64,2\033[0;37;40m\",
>\"\033[1;35;40mIAX2/asterlink/13093478897|20\033[0;37;40m\") in new
>stack\n", 0xbf30edb0 "Pî0¿bU\005\béí0¿", 0x282a3774
>"ÉÃ\211öU\211å\203ì\020j\001ÿu\bèÔ\003", 0x80f2164 "", 0x0,
>  0xbf30ee50 "\002", 0x80554c6 "\203Ä \200= !\017\b", 0x5 <Address 0x5
>out of bounds>, 0x80cea94 "logger.c",
>  0xbf30ee50 "\002", 0x8055562
>"\215eô[^_ÉÃ\203ì\fÿ\rp!\017\bh¥ê\f\bh\"ï\f\bhE\003", 0xbf30ede9 "",
>0x8134400 "",
>  0x81344a0 "1", 0x80915ec "\203Ä\020\213¶è\003", 0x81344f0 "dial-dial",
>0x8733d3c "dial-dial",
>  0x4f <Address 0x4f out of bounds>, 0x81344a0 "1", 0x20727041 <Address
>0x20727041 out of bounds>,
>  0x31203132 <Address 0x31203132 out of bounds>, 0x8733d8c "", 0x8733ddc
>"", 0x0 <repeats 12 times>}
>        passdata = '\0' <repeats 16 times>, "dial/vm.agi|54390", '\0'
><repeats 8154 times>
>        stacklen = 141770044
>        tmp = '\0' <repeats 16 times>,
>"\033[1;36;40mDeadAGI\033[0;37;40m\0000m\0007;40m", '\0' <repeats 27
>times>
>        tmp2 = '\0' <repeats 16 times>,
>"\033[1;35;40mLocal/8XXXXXXXXXX54390 at dial-dial-990c,1\033[0;37;40m"
>        tmp3 = '\0' <repeats 16 times>,
>"\033[1;35;40mdial/vm.agi|54390\033[0;37;40m\000;37;40m\000;40m", '\0'
><repeats 8121 times>
>        atmp = '\0' <repeats 79 times>
>        atmp2 = "\005", '\0' <repeats 11 times>, "<=s\b\200
>\020\bHðz\b\017\000\000\000j;*(L\037+(üú*(\000\000\000\000\234\031+(\204U\017\b",
>'\0' <repeats 20 times>, " \2130¿t7*(\204U\017\b\000\000\000\000\001",
>'\0' <repeats 19 times>, "¨ÿ\a\b\204U\017\b\\\2130¿`\2130¿d\2130¿",
>'\0' <repeats 28 times>, "\001\000\000\000\002", '\0' <repeats 8130
>times>
>        __PRETTY_FUNCTION__ = "pbx_extension_helper"
>#14 0x086b08b0 in ?? ()
>No symbol table info available.
>#15 0x080e938a in he_errlist ()
>No symbol table info available.
>#16 0x08733e30 in ?? ()
>No symbol table info available.
>#17 0x08733d3c in ?? ()
>No symbol table info available.
>#18 0x283cb3fc in agi_unregister () at res_agi.c:1957
>        cli_no_debug = {cmda = {0x283cc359 "agi", 0x283cc35d "no",
>0x283cc360 "debug", 0x0 <repeats 13 times>},
>  handler = 0x283c9954 <agi_no_debug>, summary = 0x283cc366 "Disable AGI
>debugging",
>  usage = 0x283cd020 "Usage: agi no debug\n       Disables dumping of
>AGI transactions for debugging purposes\n",
>  generator = 0, next = 0x80f0940, inuse = 0}
>        usage_saytime = " Usage: SAY TIME <time> <escape digits>\n\tSay
>a given time, returning early if any of the given DTMF digits are\n
>received on the channel.  <time> is number of seconds elapsed since
>00:00:00\n on January"...
>        showagi = {cmda = {0x283cc39e "show", 0x283cc359 "agi", 0x0
><repeats 14 times>},
>  handler = 0x283c9b84 <handle_showagi>, summary = 0x283cb960 "Show AGI
>commands or specific help",
>  usage = 0x283cd140 "Usage: show agi [topic]\n       When called with a
>topic as an argument, displays usage\n       information on the given
>command.  If called without a\n       topic, it provides a list of AGI
>commands.\n", generator = 0,
>  next = 0x80eb780, inuse = 0}
>        app = 0x283cc34d "AGI"
>        usage_dbdel = " Usage: DATABASE DEL <family> <key>\n\tDeletes an
>entry in the Asterisk database for a\n given family and key.\n Returns 1
>if successful, 0 otherwise.\n"
>        usage_saydate = " Usage: SAY DATE <date> <escape digits>\n\tSay
>a given date, returning early if any of the given DTMF digits are\n
>received on the channel.  <date> is number of seconds elapsed since
>00:00:00\n on January"...
>        cli_debug = {cmda = {0x283cc359 "agi", 0x283cc360 "debug", 0x0
><repeats 14 times>},
>  handler = 0x283c9908 <agi_do_debug>, summary = 0x283cc37c "Enable AGI
>debugging",
>  usage = 0x283cd080 "Usage: agi debug\n       Enables dumping of AGI
>transactions for debugging purposes\n", generator = 0,
>  next = 0x283cf700, inuse = 0}
>        usage_waitfordigit = " Usage: WAIT FOR DIGIT <timeout>\n\tWaits
>up to 'timeout' milliseconds for channel to receive a DTMF digit.\n
>Returns -1 on channel failure, 0 if no digit is received in the
>timeout, or\n the numerical va"...
>        usage_getoption = " Usage: GET OPTION <filename> <escape_digits>
>[timeout]\n\tBehaves similar to STREAM FILE but used with a timeout
>option.\n"
>        dumpagihtml_help = "Usage: dump agihtml <filename>\n\tDumps the
>agi command list in html format to given filename\n"
>        usage_setmusic = " Usage: SET MUSIC ON <on|off>
><class>\n\tEnables/Disables the music on hold generator.  If <class>
>is\n not specified, then the default music on hold class will be
>used.\n Always returns 0.\n"
>        synopsis = 0x283cb688 "Executes an AGI compliant application"
>        localusecnt = 1
>        usage_dbput = " Usage: DATABASE PUT <family> <key>
><value>\n\tAdds or updates an entry in the Asterisk database for a\n
>given family, key, and value.\n Returns 1 if successful, 0
>otherwise.\n"
>        usage_sayphonetic = " Usage: SAY PHONETIC <string> <escape
>digits>\n\tSay a given character string with phonetics, returning early
>if any of the\n given DTMF digits are received on the channel. Returns 0
>if playback\n complet"...
>        localusers = (struct localuser *) 0x876d430
>        no_debug_usage = "Usage: agi no debug\n       Disables dumping
>of AGI transactions for debugging purposes\n"
>        usage_getvariable = " Usage: GET VARIABLE
><variablename>\n\tReturns 0 if <variablename> is not set.  Returns 1 if
><variablename>\n is set and returns the variable in parentheses.\n
>example return code: 200 result=1 (testvaria"...
>        usage_getdata = " Usage: GET DATA <file to be streamed>
>[timeout] [max digits]\n\tStream the given file, and recieve DTMF data.
>Returns the digits received\nfrom the channel at the other end.\n"
>        usage_streamfile = " Usage: STREAM FILE <filename> <escape
>digits> [sample offset]\n\tSend the given file, allowing playback to be
>interrupted by the given\n digits, if any. Use double quotes for the
>digits if you wish none"...
>        usage_setvariable = " Usage: SET VARIABLE <variablename>
><value>\n"
>        showagi_help = "Usage: show agi [topic]\n       When called with
>a topic as an argument, displays usage\n       information on the given
>command.  If called without a\n       topic, it provides a list of AGI
>commands.\n"
>        usage_setextension = " Usage: SET EXTENSION <new
>extension>\n\tChanges the extension for continuation upon exiting the
>application.\n"
>        usage_tddmode = " Usage: TDD MODE <on|off>\n\tEnable/Disable TDD
>transmission/reception on a channel. Returns 1 if\n successful, or 0 if
>channel is not TDD-capable.\n"
>        usage_sendimage = " Usage: SEND IMAGE <image>\n\tSends the given
>image on a channel. Most channels do not support the\n transmission of
>images. Returns 0 if image is sent, or if the channel does not\n
>support image transmis"...
>        usage_noop = " Usage: NoOp\n\tDoes nothing.\n"
>        usage_dbget = " Usage: DATABASE GET <family> <key>\n\tRetrieves
>an entry in the Asterisk database for a\n given family and key.\n
>Returns 0 if <key> is not set.  Returns 1 if <key>\n is set and returns
>the variable in pa"...
>        usage_hangup = " Usage: HANGUP [<channelname>]\n\tHangs up the
>specified channel.\n If no channel name is given, hangs up the current
>channel\n"
>        eapp = 0x283cc34c "EAGI"
>        usage_recvchar = " Usage: RECEIVE CHAR <timeout>\n\tReceives a
>character of text on a channel. Specify timeout to be the\n maximum
>time to wait for input in milliseconds, or 0 for infinite. Most
>channels\n do not support t"...
>        usage_autohangup = " Usage: SET AUTOHANGUP <time>\n\tCause the
>channel to automatically hangup at <time> seconds in the\n future.  Of
>course it can be hungup before then as well. Setting to 0 will\n cause
>the autohangup feat"...
>        usage_setcontext = " Usage: SET CONTEXT <desired
>context>\n\tSets the context for continuation upon exiting the
>application.\n"
>        usage_setpriority = " Usage: SET PRIORITY <num>\n\tChanges the
>priority for continuation upon exiting the application.\n"
>        deadsynopsis = 0x283cb910 "Executes AGI on a hungup channel"
>        usage_getvariablefull = " Usage: GET FULL VARIABLE
><variablename> [<channel name>]\n\tReturns 0 if <variablename> is not
>set or channel does not exist.  Returns 1\nif <variablename>  is set
>and returns the variable in parenthesi"...
>        commands = {{cmda = {0x283cc3a3 "answer", 0x0 <repeats 15
>times>}, handler = 0x283c7cf8 <handle_answer>,
>    summary = 0x283cc3aa "Answer channel",
>    usage = 0x283cf660 " Usage: ANSWER\n\tAnswers channel if not already
>in answer state. Returns -1 on\n channel failure, or 0 if
>successful.\n", next = 0x0}, {cmda = {0x283cc465 "channel", 0x283cc3b9
>"status", 0x0 <repeats 14 times>},
>    handler = 0x283c93b4 <handle_channelstatus>, summary = 0x283cb984
>"Returns status of the connected channel",
>    usage = 0x283cf4c0 " Usage: CHANNEL STATUS
>[<channelname>]\n\tReturns the status of the specified channel.\n If no
>channel name is given the returns the status of the\n current channel. 
>Return values:\n  0 Channel is down an"..., next = 0x0}, {
>    cmda = {0x283cc3c0 "database", 0x283cc3c9 "del", 0x0 <repeats 14
>times>}, handler = 0x283c9830 <handle_dbdel>,
>    summary = 0x283cc3cd "Removes database key/value",
>    usage = 0x283cf420 " Usage: DATABASE DEL <family> <key>\n\tDeletes
>an entry in the Asterisk database for a\n given family and key.\n
>Returns 1 if successful, 0 otherwise.\n", next = 0x0}, {cmda =
>{0x283cc3c0 "database", 0x283cc3e8 "deltree",
>      0x0 <repeats 14 times>}, handler = 0x283c9894 <handle_dbdeltree>,
>    summary = 0x283cb9ac "Removes database keytree/value",
>    usage = 0x283cf360 " Usage: DATABASE DELTREE <family>
>[keytree]\n\tDeletes a family or specific keytree within a family\n in
>the Asterisk database.\n Returns 1 if successful, 0 otherwise.\n", next
>= 0x0}, {cmda = {0x283cc3c0 "database",
>      0x283cc3f0 "get", 0x0 <repeats 14 times>}, handler = 0x283c9748
><handle_dbget>,
>    summary = 0x283cc3f4 "Gets database value",
>    usage = 0x283cf240 " Usage: DATABASE GET <family> <key>\n\tRetrieves
>an entry in the Asterisk database for a\n given family and key.\n
>Returns 0 if <key> is not set.  Returns 1 if <key>\n is set and returns
>the variable in pa"..., next = 0x0}, {
>    cmda = {0x283cc3c0 "database", 0x283cc408 "put", 0x0 <repeats 14
>times>}, handler = 0x283c97cc <handle_dbput>,
>    summary = 0x283cc40c "Adds/updates database value",
>    usage = 0x283cf180 " Usage: DATABASE PUT <family> <key>
><value>\n\tAdds or updates an entry in the Asterisk database for a\n
>given family, key, and value.\n Returns 1 if successful, 0
>otherwise.\n", next = 0x0}, {cmda = {0x283cc428 "exec",
>      0x0 <repeats 15 times>}, handler = 0x283c91dc <handle_exec>,
>summary = 0x283cc42d "Executes a given Application",
>    usage = 0x283cf0c0 " Usage: EXEC <application> <options>\n\tExecutes
><application> with given <options>.\n Returns whatever the application
>returns, or -2 on failure to find application\n", next = 0x0}, {cmda =
>{0x283cc3f0 "get",
>      0x283cc44a "data", 0x0 <repeats 14 times>}, handler = 0x283c87f8
><handle_getdata>,
>    summary = 0x283cc44f "Prompts for DTMF on a channel",
>    usage = 0x283cf000 " Usage: GET DATA <file to be streamed> [timeout]
>[max digits]\n\tStream the given file, and recieve DTMF data. Returns
>the digits received\nfrom the channel at the other end.\n", next =
>0x0}, {cmda = {0x283cc3f0 "get",
>      0x283cc46d "full", 0x283cc488 "variable", 0x0 <repeats 13 times>},
>handler = 0x283c9584 <handle_getvariablefull>,
>    summary = 0x283cb9cc "Evaluates a channel expression",
>    usage = 0x283ceea0 " Usage: GET FULL VARIABLE <variablename>
>[<channel name>]\n\tReturns 0 if <variablename> is not set or channel
>does not exist.  Returns 1\nif <variablename>  is set and returns the
>variable in parenthesi"..., next = 0x0}, {
>    cmda = {0x283cc3f0 "get", 0x283cc472 "option", 0x0 <repeats 14
>times>}, handler = 0x283c8180 <handle_getoption>,
>    summary = 0x283cb9ec "Stream file, prompt for DTMF, with timeout",
>    usage = 0x283cee20 " Usage: GET OPTION <filename> <escape_digits>
>[timeout]\n\tBehaves similar to STREAM FILE but used with a timeout
>option.\n", next = 0x0}, {cmda = {0x283cc3f0 "get", 0x283cc488
>"variable", 0x0 <repeats 14 times>},
>    handler = 0x283c94f0 <handle_getvariable>, summary = 0x283cc479
>"Gets a channel variable",
>    usage = 0x283ced40 " Usage: GET VARIABLE <variablename>\n\tReturns 0
>if <variablename> is not set.  Returns 1 if <variablename>\n is set and
>returns the variable in parentheses.\n example return code: 200
>result=1 (testvaria"..., next = 0x0}, {
>    cmda = {0x283cc590 "hangup", 0x0 <repeats 15 times>}, handler =
>0x283c9100 <handle_hangup>,
>    summary = 0x283cc491 "Hangup the current channel",
>    usage = 0x283cecc0 " Usage: HANGUP [<channelname>]\n\tHangs up the
>specified channel.\n If no channel name is given, hangs up the current
>channel\n", next = 0x0}, {cmda = {0x283cc4ac "noop", 0x0 <repeats 15
>times>},
>    handler = 0x283c99a0 <handle_noop>, summary = 0x283cc4b1 "Does
>nothing",
>    usage = 0x283cec97 " Usage: NoOp\n\tDoes nothing.\n", next = 0x0},
>{cmda = {0x283cc4be "receive", 0x283cc4c6 "char",
>      0x0 <repeats 14 times>}, handler = 0x283c7e28 <handle_recvchar>,
>    summary = 0x283cba18 "Receives text from channels supporting it",
>    usage = 0x283ceb20 " Usage: RECEIVE CHAR <timeout>\n\tReceives a
>character of text on a channel. Specify timeout to be the\n maximum
>time to wait for input in milliseconds, or 0 for infinite. Most
>channels\n do not support t"..., next = 0x0}, {
>    cmda = {0x283cc4cb "record", 0x283cc4e5 "file", 0x0 <repeats 14
>times>}, handler = 0x283c8a0c <handle_recordfile>,
>    summary = 0x283cc4d2 "Records to a given file",
>    usage = 0x283ce840 " Usage: RECORD FILE <filename> <format> <escape
>digits> <timeout> \\\n", ' ' <repeats 42 times>, "[offset samples]
>[BEEP] [s=silence]\n\tRecord to a file until a given dtmf digit in the
>sequ"..., next = 0x0}, {cmda = {
>      0x283cc4ea "say", 0x283cc4ee "alpha", 0x0 <repeats 14 times>},
>handler = 0x283c8510 <handle_sayalpha>,
>    summary = 0x283cc4f4 "Says a given character string",
>    usage = 0x283ce700 " Usage: SAY ALPHA <number> <escape
>digits>\n\tSay a given character string, returning early if any of the
>given DTMF digits\n are received on the channel. Returns 0 if playback
>completes without a digit\n"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc512 "digits", 0x0 <repeats 14
>times>}, handler = 0x283c8478 <handle_saydigits>,
>    summary = 0x283cc519 "Says a given digit string",
>    usage = 0x283ce5c0 " Usage: SAY DIGITS <number> <escape
>digits>\n\tSay a given digit string, returning early if any of the
>given DTMF digits\n are received on the channel. Returns 0 if playback
>completes without a digit\n be"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc540 "number", 0x0 <repeats 14
>times>}, handler = 0x283c83dc <handle_saynumber>,
>    summary = 0x283cc533 "Says a given number",
>    usage = 0x283ce480 " Usage: SAY NUMBER <number> <escape
>digits>\n\tSay a given number, returning early if any of the given DTMF
>digits\n are received on the channel.  Returns 0 if playback completes
>without a digit\n being p"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc547 "phonetic", 0x0 <repeats 14
>times>}, handler = 0x283c8788 <handle_sayphonetic>,
>    summary = 0x283cba44 "Says a given character string with phonetics",
>    usage = 0x283ce340 " Usage: SAY PHONETIC <string> <escape
>digits>\n\tSay a given character string with phonetics, returning early
>if any of the\n given DTMF digits are received on the channel. Returns 0
>if playback\n complet"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc55d "date", 0x0 <repeats 14
>times>}, handler = 0x283c8580 <handle_saydate>,
>    summary = 0x283cc550 "Says a given date",
>    usage = 0x283ce1a0 " Usage: SAY DATE <date> <escape digits>\n\tSay a
>given date, returning early if any of the given DTMF digits are\n
>received on the channel.  <date> is number of seconds elapsed since
>00:00:00\n on January"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc56f "time", 0x0 <repeats 14
>times>}, handler = 0x283c860c <handle_saytime>,
>    summary = 0x283cc562 "Says a given time",
>    usage = 0x283ce000 " Usage: SAY TIME <time> <escape digits>\n\tSay a
>given time, returning early if any of the given DTMF digits are\n
>received on the channel.  <time> is number of seconds elapsed since
>00:00:00\n on January"..., next = 0x0}, {
>    cmda = {0x283cc4ea "say", 0x283cc574 "datetime", 0x0 <repeats 14
>times>}, handler = 0x283c8698 <handle_saydatetime>,
>    summary = 0x283cba74 "Says a given time as specfied by the format
>given",
>    usage = 0x283cdd80 " Usage: SAY DATETIME <time> <escape digits>
>[format] [timezone]\n\tSay a given time, returning early if any of the
>given DTMF digits are\n received on the channel.  <time> is number of
>seconds elapsed si"..., next = 0x0}, {
>    cmda = {0x283cc57d "send", 0x283cc582 "image", 0x0 <repeats 14
>times>}, handler = 0x283c7f78 <handle_sendimage>,
>    summary = 0x283cbaa8 "Sends images to channels supporting it",
>    usage = 0x283cdc60 " Usage: SEND IMAGE <image>\n\tSends the given
>image on a channel. Most channels do not support the\n transmission of
>images. Returns 0 if image is sent, or if the channel does not\n
>support image transmis"..., next = 0x0}, {
>    cmda = {0x283cc57d "send", 0x283cc5b0 "text", 0x0 <repeats 14
>times>}, handler = 0x283c7dcc <handle_sendtext>,
>    summary = 0x283cbad0 "Sends text to channels supporting it",
>    usage = 0x283cdae0 " Usage: SEND TEXT \"<text to send>\"\n\tSends
>the given text on a channel. Most channels do not support the\n
>transmission of text.  Returns 0 if text is sent, or if the channel
>does not\n support text tran"..., next = 0x0}, {
>    cmda = {0x283cc588 "set", 0x283cc58c "autohangup", 0x0 <repeats 14
>times>}, handler = 0x283c9064 <handle_autohangup>,
>    summary = 0x283cbaf8 "Autohangup channel in some time",
>    usage = 0x283cd9e0 " Usage: SET AUTOHANGUP <time>\n\tCause the
>channel to automatically hangup at <time> seconds in the\n future.  Of
>course it can be hungup before then as well. Setting to 0 will\n cause
>the autohangup feat"..., next = 0x0}, {
>    cmda = {0x283cc588 "set", 0x283cc597 "callerid", 0x0 <repeats 14
>times>}, handler = 0x283c92a8 <handle_setcallerid>,
>    summary = 0x283cbb18 "Sets callerid for the current channel",
>    usage = 0x283cd980 " Usage: SET CALLERID <number>\n\tChanges the
>callerid of the current channel.\n", next = 0x0}, {
>    cmda = {0x283cc588 "set", 0x283cc5ad "context", 0x0 <repeats 14
>times>}, handler = 0x283c88e0 <handle_setcontext>,
>    summary = 0x283cc5a0 "Sets channel context",
>    usage = 0x283cd900 " Usage: SET CONTEXT <desired context>\n\tSets
>the context for continuation upon exiting the application.\n", next =
>0x0}, {cmda = {0x283cc588 "set", 0x283cc5c5 "extension", 0x0 <repeats
>14 times>},
>    handler = 0x283c893c <handle_setextension>, summary = 0x283cc5b5
>"Changes channel extension",
>    usage = 0x283cd880 " Usage: SET EXTENSION <new extension>\n\tChanges
>the extension for continuation upon exiting the application.\n", next =
>0x0}, {cmda = {0x283cc588 "set", 0x283cc5cf "music", 0x0 <repeats 14
>times>},
>    handler = 0x283c99cc <handle_setmusic>, summary = 0x283cbb40
>"Enable/Disable Music on hold generator",
>    usage = 0x283cd7c0 " Usage: SET MUSIC ON <on|off>
><class>\n\tEnables/Disables the music on hold generator.  If <class>
>is\n not specified, then the default music on hold class will be
>used.\n Always returns 0.\n", next = 0x0}, {cmda = {
>      0x283cc588 "set", 0x283cc5ea "priority", 0x0 <repeats 14 times>},
>handler = 0x283c8998 <handle_setpriority>,
>    summary = 0x283cc5d5 "Set channel dialplan priority",
>    usage = 0x283cd740 " Usage: SET PRIORITY <num>\n\tChanges the
>priority for continuation upon exiting the application.\n", next =
>0x0}, {cmda = {0x283cc588 "set", 0x283cc488 "variable", 0x0 <repeats 14
>times>},
>    handler = 0x283c9488 <handle_setvariable>, summary = 0x283cc5f3
>"Sets a channel variable",
>    usage = 0x283cd700 " Usage: SET VARIABLE <variablename> <value>\n",
>next = 0x0}, {cmda = {0x283cc60b "stream",
>      0x283cc4e5 "file", 0x0 <repeats 14 times>}, handler = 0x283c7fe4
><handle_streamfile>,
>    summary = 0x283cc612 "Sends audio file on channel",
>    usage = 0x283cd4c0 " Usage: STREAM FILE <filename> <escape digits>
>[sample offset]\n\tSend the given file, allowing playback to be
>interrupted by the given\n digits, if any. Use double quotes for the
>digits if you wish none"..., next = 0x0}, {
>    cmda = {0x283cc62e "tdd", 0x283cc632 "mode", 0x0 <repeats 14
>times>}, handler = 0x283c7eb0 <handle_tddmode>,
>    summary = 0x283cbb68 "Toggles TDD mode (for the deaf)",
>    usage = 0x283cd420 " Usage: TDD MODE <on|off>\n\tEnable/Disable TDD
>transmission/reception on a channel. Returns 1 if\n successful, or 0 if
>channel is not TDD-capable.\n", next = 0x0}, {cmda = {0x283cc637
>"verbose", 0x0 <repeats 15 times>},
>    handler = 0x283c9684 <handle_verbose>, summary = 0x283cbb88 "Logs a
>message to the asterisk verbose log",
>    usage = 0x283cd380 " Usage: VERBOSE <message> <level>\n\tSends
><message> to the console via verbose message system.\n <level> is the
>the verbose level (1-4)\n Always returns 1.\n", next = 0x0}, {cmda =
>{0x283cc63f "wait", 0x283cc644 "for",
>      0x283cc648 "digit", 0x0 <repeats 13 times>}, handler = 0x283c7d48
><handle_waitfordigit>,
>    summary = 0x283cbbb4 "Waits for a digit to be pressed",
>    usage = 0x283cd220 " Usage: WAIT FOR DIGIT <timeout>\n\tWaits up to
>'timeout' milliseconds for channel to receive a DTMF digit.\n Returns
>-1 on channel failure, 0 if no digit is received in the timeout, or\n
>the numerical va"..., next = 0x0}, {
>    cmda = {0x0 <repeats 16 times>}, handler = 0, summary = 0x0, usage =
>0x0, next = 0x0} <repeats 93 times>}
>        deadapp = 0x283cc351 "DeadAGI"
>        debug_usage = "Usage: agi debug\n       Enables dumping of AGI
>transactions for debugging purposes\n"
>        usage_channelstatus = " Usage: CHANNEL STATUS
>[<channelname>]\n\tReturns the status of the specified channel.\n If no
>channel name is given the returns the status of the\n current channel. 
>Return values:\n  0 Channel is down an"...
>        usage_setcallerid = " Usage: SET CALLERID <number>\n\tChanges
>the callerid of the current channel.\n"
>        usage_sayalpha = " Usage: SAY ALPHA <number> <escape
>digits>\n\tSay a given character string, returning early if any of the
>given DTMF digits\n are received on the channel. Returns 0 if playback
>completes without a digit\n"...
>        dumpagihtml = {cmda = {0x283cc391 "dump", 0x283cc396 "agihtml",
>0x0 <repeats 14 times>},
>  handler = 0x283ca054 <handle_dumpagihtml>, summary = 0x283cb934 "Dumps
>a list of agi command in html format",
>  usage = 0x283cd0e0 "Usage: dump agihtml <filename>\n\tDumps the agi
>command list in html format to given filename\n",
>  generator = 0, next = 0x2857ed80, inuse = 0}
>        tdesc = 0x283cb664 "Asterisk Gateway Interface (AGI)"
>        esynopsis = 0x283cb6b0 "Executes an EAGI compliant application"
>        localuser_lock = 0x8131f00
>        usage_exec = " Usage: EXEC <application> <options>\n\tExecutes
><application> with given <options>.\n Returns whatever the application
>returns, or -2 on failure to find application\n"
>        usage_sendtext = " Usage: SEND TEXT \"<text to send>\"\n\tSends
>the given text on a channel. Most channels do not support the\n
>transmission of text.  Returns 0 if text is sent, or if the channel
>does not\n support text tran"...
>        usage_recordfile = " Usage: RECORD FILE <filename> <format>
><escape digits> <timeout> \\\n", ' ' <repeats 42 times>, "[offset
>samples] [BEEP] [s=silence]\n\tRecord to a file until a given dtmf
>digit in the sequence is received\n Returns -1 on "...
>        usage_dbdeltree = " Usage: DATABASE DELTREE <family>
>[keytree]\n\tDeletes a family or specific keytree within a family\n in
>the Asterisk database.\n Returns 1 if successful, 0 otherwise.\n"
>        descrip = 0x283cb6d8 "  [E|Dead]AGI(command|args): Executes an
>Asterisk Gateway Interface compliant\nprogram on a channel. AGI allows
>Asterisk to launch external programs\nwritten in any language to
>control a telephony chann"...
>        agidebug = 0
>        usage_answer = " Usage: ANSWER\n\tAnswers channel if not already
>in answer state. Returns -1 on\n channel failure, or 0 if successful.\n"
>        usage_verbose = " Usage: VERBOSE <message> <level>\n\tSends
><message> to the console via verbose message system.\n <level> is the
>the verbose level (1-4)\n Always returns 1.\n"
>        usage_saynumber = " Usage: SAY NUMBER <number> <escape
>digits>\n\tSay a given number, returning early if any of the given DTMF
>digits\n are received on the channel.  Returns 0 if playback completes
>without a digit\n being p"...
>        usage_saydatetime = " Usage: SAY DATETIME <time> <escape digits>
>[format] [timezone]\n\tSay a given time, returning early if any of the
>given DTMF digits are\n received on the channel.  <time> is number of
>seconds elapsed si"...
>        usage_saydigits = " Usage: SAY DIGITS <number> <escape
>digits>\n\tSay a given digit string, returning early if any of the
>given DTMF digits\n are received on the channel. Returns 0 if playback
>completes without a digit\n be"...
>#19 0x00000000 in ?? ()
>No symbol table info available.
>#20 0x00000000 in ?? ()
>No symbol table info available.
>#21 0x08733d3c in ?? ()
>No symbol table info available.
>#22 0x0810a080 in ?? ()
>No symbol table info available.
>#23 0x087af048 in ?? ()
>No symbol table info available.
>#24 0x0000000f in ?? ()
>No symbol table info available.
>#25 0x282a3b6a in pthread_mutex_unlock () from /usr/lib/libpthread.so.1
>No symbol table info available.
>Previous frame inner to this frame (corrupt stack?)
>
>Thanks,
>
>Kevin Bockman
>
>_______________________________________________
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
>
>  
>


-- 
Ronald Wiplinger  (CEO of ELMIT)
http://www.elmit.com    +886 (0) 939--77-55-16  or FWD 511208
- I'm a SpamCon Foundation Member, #694, Verify it at http://www.spamcon.org

PS: Spam prevention!
Our system is protected with a spam prevention program. 
If you send us an e-mail, our system will send you a confirmation message back. Just reply to this confirmation message please. 
After receiving this confirmation message, our system will send the hold message (one) and all future messages (after the received confirmation message) to me without asking you again.





More information about the asterisk-users mailing list