[asterisk-bugs] [Asterisk 0014615]: exten => ANSWER not found when extenpatternmatchnew=yes

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Apr 17 08:29:35 CDT 2009


The following issue has been RESOLVED. 
====================================================================== 
http://bugs.digium.com/view.php?id=14615 
====================================================================== 
Reported By:                steinwej
Assigned To:                mmichelson
====================================================================== 
Project:                    Asterisk
Issue ID:                   14615
Category:                   Core/PBX
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     resolved
Asterisk Version:           1.6.0.6 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-03-06 09:25 CST
Last Modified:              2009-04-17 08:29 CDT
====================================================================== 
Summary:                    exten => ANSWER not found when
extenpatternmatchnew=yes
Description: 
Upgraded from 1.4 to 1.6.0.6, dialplan from 1.4 tested with
extenpatternmatchnew=yes

[from_meridian_test]
exten => 333,1,NoOp(Starting Test, exten 333)
exten => 333,n,Goto(answer,1)
exten => 333,n,Hangup

exten => answer,1,NoOp(Test no answer)
exten => answer,n,Playback(vm-goodbye)
exten => answer,n,Hangup

exten => is-BUSY,1,NoOp(Test now busy)
exten => is-BUSY,n,Playback(vm-goodbye)
exten => is-BUSY,n,Hangup

A call to the above 333 results in a Goto(answer,1) and everything is
expected.

But when I change this to the following dialplan, the exten is not found:

[from_meridian_test]
exten => 333,1,NoOp(Starting Test, exten 333)
exten => 333,n,Goto(ANSWER,1)
exten => 333,n,Hangup

exten => ANSWER,1,NoOp(Test no answer)
exten => ANSWER,n,Playback(vm-goodbye)
exten => ANSWER,n,Hangup

exten => is-BUSY,1,NoOp(Test now busy)
exten => is-BUSY,n,Playback(vm-goodbye)
exten => is-BUSY,n,Hangup

this results in:

*CLI> console dial 333 at from_meridian_test
  == Console is full duplex
*CLI> [Mar  6 16:20:15] NOTICE[6474]: console_video.c:130
console_video_start: voice only, console video support not present
    -- Executing [333 at from_meridian_test:1] NoOp("Console/dsp", "Starting
Test, exten 333") in new stack
    -- Executing [333 at from_meridian_test:2] Goto("Console/dsp",
"ANSWER,1") in new stack
    -- Goto (from_meridian_test,ANSWER,1)
[Mar  6 16:20:15] WARNING[6513]: pbx.c:3769 __ast_pbx_run: Channel
'Console/dsp' sent into invalid extension 'ANSWER' in context
'from_meridian_test', but no invalid handler
 << Hangup on console >>

But show dialplan gives:
*CLI> dialplan show from_meridian_test
[ Context 'from_meridian_test' created by 'pbx_config' ]
  '333' =>          1. NoOp(Starting Test, exten 333)            
[pbx_config]
                    2. Goto(ANSWER,1)                            
[pbx_config]
                    3. Hangup()                                  
[pbx_config]
  'ANSWER' =>       1. NoOp(Test no answer)                      
[pbx_config]
                    2. Playback(vm-goodbye)                      
[pbx_config]
                    3. Hangup()                                  
[pbx_config]
  'is-BUSY' =>      1. NoOp(Test now busy)                       
[pbx_config]
                    2. Playback(vm-goodbye)                      
[pbx_config]
                    3. Hangup()                                  
[pbx_config]

-= 3 extensions (9 priorities) in 1 context. =-


Further testing shows: exten => Answer works o.k. but exten => ANswer does
not work anymore

So, I can not evaluate DIALSTATUS after dial.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
has duplicate       0014608 Goto(s-${DIALSTATUS},1) for status ANSW...
====================================================================== 

---------------------------------------------------------------------- 
 (0103359) svnbot (reporter) - 2009-04-17 08:29
 http://bugs.digium.com/view.php?id=14615#c103359 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 188901

U   trunk/main/pbx.c

------------------------------------------------------------------------
r188901 | mmichelson | 2009-04-17 08:29:33 -0500 (Fri, 17 Apr 2009) | 27
lines

Several fixes to the extenpatternmatchnew logic.

1. Differentiate between literal characters in an extension
and characters that should be treated as a pattern match. Prior to
these fixes, an extension such as NNN would be treated as a pattern,
rather than a literal string of N's.

2. Fixed the logic used when matching an extension with a bracketed
expression, such as 2[5-7]6.

3. Removed all areas of code that were executed when NOT_NOW was
#defined. The code in these areas had the potential to crash, for
one thing, and the actual intent of these blocks seemed counterproductive.

4. Fixed many many coding guidelines problems I encountered while looking
through the corresponding code.

5. Added failure cases and warning messages for when duplicate extensions
are encountered.

6. Miscellaneous fixes to incorrect or redundant statements.

(closes issue http://bugs.digium.com/view.php?id=14615)
Reported by: steinwej
Tested by: mmichelson


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=188901 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-04-17 08:29 svnbot         Note Added: 0103359                          
2009-04-17 08:29 svnbot         Status                   assigned => resolved
2009-04-17 08:29 svnbot         Resolution               open => fixed       
======================================================================




More information about the asterisk-bugs mailing list