Summary: | ASTERISK-11899: SayNumber() hangs up channel when asked to say a number >= 1,000,000,000. | ||
Reporter: | Nick Barnes (bcnit) | Labels: | |
Date Opened: | 2008-04-23 08:40:57 | Date Closed: | 2008-04-23 10:11:52 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | With a dialplan of: ------------------------- exten => 21,1,Answer(500) exten => 21,2,SayNumber(999999999) exten => 21,3,SayNumber(1000000000) exten => 21,4,NoOp(We never see this) exten => h,1,NoOp(Hung up) ------------------------- Asterisk hangs up when it tries to run priority 3 as follows: ------------------------- -- Executing [21@default:1] Answer("SIP/200-087ab0d8", "500") in new stack -- Executing [21@default:2] SayNumber("SIP/200-087ab0d8", "999999999") in new stack -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/hundred.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/90.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/million.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/hundred.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/90.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/thousand.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/hundred.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/90.gsm' (language 'en') -- <SIP/200-087ab0d8> Playing 'digits/9.gsm' (language 'en') -- Executing [21@default:3] SayNumber("SIP/200-087ab0d8", "1000000000") in new stack == Spawn extension (default, 21, 3) exited non-zero on 'SIP/200-087ab0d8' -- Executing [h@default:1] NoOp("SIP/200-087ab0d8", "Hung up") in new stack ------------------------- | ||
Comments: | By: Joshua C. Colp (jcolp) 2008-04-23 09:27:38 The maximum SayNumber can handle is 999999999, once it reaches that point it spits out a debug message and returns an error to the PBX core. We don't even have sounds recorded to produce numbers greater than that. By: Nick Barnes (bcnit) 2008-04-23 09:33:49 OK. I understand that, but..... Since 1,000,000,000 is a valid number, surely Asterisk shouldn't do something as drastic as dropping the channel if it can't say it. After all, 'SayNumber(fred)' doesn't generate an error: --------------------- -- Executing [21@default:1] Answer("SIP/200-09366bc0", "500") in new stack -- Executing [21@default:2] SayNumber("SIP/200-09366bc0", "fred") in new stack -- <SIP/200-09366bc0> Playing 'digits/0.gsm' (language 'en') -- Executing [21@default:3] NoOp("SIP/200-09366bc0", "We never see this") in new stack -- Auto fallthrough, channel 'SIP/200-09366bc0' status is 'UNKNOWN' -- Executing [h@default:1] NoOp("SIP/200-09366bc0", "Hung up") in new stack --------------------- If it can't say the number, fair enough, but please don't hang up!! By: Digium Subversion (svnbot) 2008-04-23 09:48:56 Repository: asterisk Revision: 114579 U branches/1.4/main/pbx.c ------------------------------------------------------------------------ r114579 | file | 2008-04-23 09:48:53 -0500 (Wed, 23 Apr 2008) | 4 lines Instead of stopping dialplan execution when SayNumber attempts to say a large number that it can not print out a message informing the user and continue on. (closes issue ASTERISK-11899) Reported by: bcnit ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=114579 By: Digium Subversion (svnbot) 2008-04-23 09:49:58 Repository: asterisk Revision: 114580 _U trunk/ U trunk/main/pbx.c ------------------------------------------------------------------------ r114580 | file | 2008-04-23 09:49:56 -0500 (Wed, 23 Apr 2008) | 12 lines Merged revisions 114579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114579 | file | 2008-04-23 11:54:11 -0300 (Wed, 23 Apr 2008) | 4 lines Instead of stopping dialplan execution when SayNumber attempts to say a large number that it can not print out a message informing the user and continue on. (closes issue ASTERISK-11899) Reported by: bcnit ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=114580 By: Digium Subversion (svnbot) 2008-04-23 09:50:54 Repository: asterisk Revision: 114581 _U branches/1.6.0/ U branches/1.6.0/main/pbx.c ------------------------------------------------------------------------ r114581 | file | 2008-04-23 09:50:54 -0500 (Wed, 23 Apr 2008) | 20 lines Merged revisions 114580 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r114580 | file | 2008-04-23 11:55:03 -0300 (Wed, 23 Apr 2008) | 12 lines Merged revisions 114579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114579 | file | 2008-04-23 11:54:11 -0300 (Wed, 23 Apr 2008) | 4 lines Instead of stopping dialplan execution when SayNumber attempts to say a large number that it can not print out a message informing the user and continue on. (closes issue ASTERISK-11899) Reported by: bcnit ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=114581 By: Digium Subversion (svnbot) 2008-04-23 10:11:52 Repository: asterisk Revision: 114583 _U team/seanbright/resolve-shadow-warnings/ U team/seanbright/resolve-shadow-warnings/apps/app_voicemail.c U team/seanbright/resolve-shadow-warnings/channels/chan_sip.c U team/seanbright/resolve-shadow-warnings/include/asterisk/astobj.h U team/seanbright/resolve-shadow-warnings/include/asterisk/logger.h U team/seanbright/resolve-shadow-warnings/main/pbx.c ------------------------------------------------------------------------ r114583 | seanbright | 2008-04-23 10:11:43 -0500 (Wed, 23 Apr 2008) | 72 lines Merged revisions 114572,114575,114577,114580 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r114572 | tilghman | 2008-04-22 19:58:19 -0400 (Tue, 22 Apr 2008) | 10 lines Merged revisions 114571 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114571 | tilghman | 2008-04-22 18:51:44 -0500 (Tue, 22 Apr 2008) | 2 lines Treat a 502 just like a 503, when it comes to processing a response code ........ ................ r114575 | mmichelson | 2008-04-22 20:40:30 -0400 (Tue, 22 Apr 2008) | 10 lines Round 1 of IMAP_STORAGE-related app_voicemail changes This makes IMAP_STORAGE include the proper headers if you have specified the "system" option for --with-imap when running the configure script and your IMAP-related headers exist in /usr/include/c-client. This change is due to a hasty merge of a 1.4 change I made. ................ r114577 | mmichelson | 2008-04-22 20:58:49 -0400 (Tue, 22 Apr 2008) | 23 lines Round 2 of IMAP_STORAGE app_voicemail.c fixes: This fixes a bug that was thought to be fixed already. app_voicemail, if using IMAP_STORAGE, has a problem because the IMAP header files include syslog.h, which define LOG_WARNING and LOG_DEBUG to be different than what Asterisk uses for those same macros. This was "fixed" in the past by including all the IMAP header files prior to including asterisk.h. This fix worked... unless you were to try to compile with MALLOC_DEBUG. MALLOC_DEBUG prepends the inclusion of astmm.h to every file, which means that no matter what order the includes are in in app_voicemail, the unexpected values for LOG_WARNING and LOG_DEBUG will be in place. The action taken for this fix was to define AST_LOG_* macros in addition to the LOG_* macros already defined. These new macros are used in app_voicemail.c, logger.h, and astobj.h right now, and their use will be encouraged in the future. In consideration of those who have written third-party modules which use the LOG_* macros, these will NOT be removed from the source, however future use of these macros is discouraged. ................ r114580 | file | 2008-04-23 10:55:03 -0400 (Wed, 23 Apr 2008) | 12 lines Merged revisions 114579 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114579 | file | 2008-04-23 11:54:11 -0300 (Wed, 23 Apr 2008) | 4 lines Instead of stopping dialplan execution when SayNumber attempts to say a large number that it can not print out a message informing the user and continue on. (closes issue ASTERISK-11899) Reported by: bcnit ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=114583 |