[asterisk-bugs] [JIRA] (ASTERISK-17695) 1.8.3.2 extenpatternmatchnew=yes cannot find extensions with '-' in them

Sean Bright (JIRA) noreply at issues.asterisk.org
Fri Apr 12 08:43:47 CDT 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-17695?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=175513#comment-175513 ] 

Sean Bright edited comment on ASTERISK-17695 at 4/12/19 8:43 AM:
-----------------------------------------------------------------

{noformat}
[skb106-dial]
exten => s,1,NoOp()
exten => s,n,Set(DEST2=skb1_pstn)
exten => s,n,Set(DIALSTATUS=UNKNOWN)
exten => s,n,Goto(skb1_${DIALSTATUS},1)    ; note '_'
exten => skb1_pstn,1,Gosub(dial-failover,s,1(${ARG1},${TRUNK6},${TRUNK7},,${LONGTIMEOUT},,))
exten => skb1_pstn,n,Set(DEST2=skb2_pstn)
exten => skb1_pstn,n,Goto(skb1-${DIALSTATUS},1)
exten => skb2_pstn,1,Gosub(dial-failover,s,1(106,${TRUNK4},${TRUNK1},${TRUNK3},${LONGTIMEOUT},,))
exten => skb1_UNKNOWN,1,Goto(${DEST2},1)
exten => skb1-CONGESTION,1,Goto(${DEST2},1)
exten => skb1-BUSY,1,Goto(${DEST2},1)
exten => skb1-CHANUNAVAIL,1,Goto(${DEST2},1)
{noformat}

above works fine.

{noformat}
[skb106-dial]
exten => s,1,NoOp()
exten => s,n,Set(DEST2=skb1_pstn)
exten => s,n,Set(DIALSTATUS=UNKNOWN)
exten => s,n,Goto(skb1-${DIALSTATUS},1)     ; note '-'
exten => skb1_pstn,1,Gosub(dial-failover,s,1(${ARG1},${TRUNK6},${TRUNK7},,${LONGTIMEOUT},,))
exten => skb1_pstn,n,Set(DEST2=skb2_pstn)
exten => skb1_pstn,n,Goto(skb1-${DIALSTATUS},1)
exten => skb2_pstn,1,Gosub(dial-failover,s,1(106,${TRUNK4},${TRUNK1},${TRUNK3},${LONGTIMEOUT},,))

exten => skb1-UNKNOWN,1,Goto(${DEST2},1)
exten => skb1-CONGESTION,1,Goto(${DEST2},1)
exten => skb1-BUSY,1,Goto(${DEST2},1)
exten => skb1-CHANUNAVAIL,1,Goto(${DEST2},1)
{noformat}

above does not.

These two lines are different

{noformat}
exten => s,n,Goto(skb1-${DIALSTATUS},1)
....
exten => skb1-UNKNOWN,1,Goto(${DEST2},1)
{noformat}


-----------------------------
Console output bellow,

{noformat}
-- Executing [106 at default:1] Gosub("SIP/353-00000004", "skb106-dial,s,1(106)") in new stack
-- Executing [s at skb106-dial:1] NoOp("SIP/353-00000004", "") in new stack
-- Executing [s at skb106-dial:2] Set("SIP/353-00000004", "DEST2=skb1_pstn") in new stack
-- Executing [s at skb106-dial:3] Set("SIP/353-00000004", "DIALSTATUS=UNKNOWN") in new stack
-- Executing [s at skb106-dial:4] Goto("SIP/353-00000004", "skb1-UNKNOWN,1") in new stack
-- Goto (skb106-dial,skb1-UNKNOWN,1)
[Apr 19 23:06:06] WARNING[6043]: pbx.c:4812 __ast_pbx_run: Channel 'SIP/353-00000004' sent into invalid extension 'skb1-UNKNOWN' in context 'skb106-dial', but no invalid handler
{noformat}

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

{noformat}
-- Executing [106 at default:1] Gosub("SIP/353-00000005", "skb106-dial,s,1(106)") in new stack
-- Executing [s at skb106-dial:1] NoOp("SIP/353-00000005", "") in new stack
-- Executing [s at skb106-dial:2] Set("SIP/353-00000005", "DEST2=skb1_pstn") in new stack
-- Executing [s at skb106-dial:3] Set("SIP/353-00000005", "DIALSTATUS=UNKNOWN") in new stack
-- Executing [s at skb106-dial:4] Goto("SIP/353-00000005", "skb1_UNKNOWN,1") in new stack
-- Goto (skb106-dial,skb1_UNKNOWN,1)
-- Executing [skb1_UNKNOWN at skb106-dial:1] Goto("SIP/353-00000005", "skb1_pstn,1") in new stack
-- Goto (skb106-dial,skb1_pstn,1)
-- Executing [skb1_pstn at skb106-dial:1] Gosub("SIP/353-00000005", "dial-failover,s,1(106,SIP/SKB_1,SIP/SKB_2,,55,,)") in new stack
-- Executing [s at dial-failover:1] NoOp("SIP/353-00000005", ""Initiate fail-over procedure"") in new stack
{noformat}

.....goes on......
------------------

1. The original dialplan does not have exten => s,n,Set(DIALSTATUS=UNKNOWN) of course.
2. "but no invalid handler" seems puzzling. shouldn't be "no valid handler"




was (Author: test011):
[skb106-dial]
exten => s,1,NoOp()
exten => s,n,Set(DEST2=skb1_pstn)
exten => s,n,Set(DIALSTATUS=UNKNOWN)
exten => s,n,Goto(skb1_${DIALSTATUS},1)    ; note '_'
exten => skb1_pstn,1,Gosub(dial-failover,s,1(${ARG1},${TRUNK6},${TRUNK7},,${LONGTIMEOUT},,))
exten => skb1_pstn,n,Set(DEST2=skb2_pstn)
exten => skb1_pstn,n,Goto(skb1-${DIALSTATUS},1)
exten => skb2_pstn,1,Gosub(dial-failover,s,1(106,${TRUNK4},${TRUNK1},${TRUNK3},${LONGTIMEOUT},,))

exten => skb1_UNKNOWN,1,Goto(${DEST2},1)
exten => skb1-CONGESTION,1,Goto(${DEST2},1)
exten => skb1-BUSY,1,Goto(${DEST2},1)
exten => skb1-CHANUNAVAIL,1,Goto(${DEST2},1)

above works fine.

[skb106-dial]
exten => s,1,NoOp()
exten => s,n,Set(DEST2=skb1_pstn)
exten => s,n,Set(DIALSTATUS=UNKNOWN)
exten => s,n,Goto(skb1-${DIALSTATUS},1)     ; note '-'
exten => skb1_pstn,1,Gosub(dial-failover,s,1(${ARG1},${TRUNK6},${TRUNK7},,${LONGTIMEOUT},,))
exten => skb1_pstn,n,Set(DEST2=skb2_pstn)
exten => skb1_pstn,n,Goto(skb1-${DIALSTATUS},1)
exten => skb2_pstn,1,Gosub(dial-failover,s,1(106,${TRUNK4},${TRUNK1},${TRUNK3},${LONGTIMEOUT},,))

exten => skb1-UNKNOWN,1,Goto(${DEST2},1)
exten => skb1-CONGESTION,1,Goto(${DEST2},1)
exten => skb1-BUSY,1,Goto(${DEST2},1)
exten => skb1-CHANUNAVAIL,1,Goto(${DEST2},1)

above does not.

These two lines are different

exten => s,n,Goto(skb1-${DIALSTATUS},1)
....
exten => skb1-UNKNOWN,1,Goto(${DEST2},1)


-----------------------------
Console output bellow,

    -- Executing [106 at default:1] Gosub("SIP/353-00000004", "skb106-dial,s,1(106)") in new stack
    -- Executing [s at skb106-dial:1] NoOp("SIP/353-00000004", "") in new stack
    -- Executing [s at skb106-dial:2] Set("SIP/353-00000004", "DEST2=skb1_pstn") in new stack
    -- Executing [s at skb106-dial:3] Set("SIP/353-00000004", "DIALSTATUS=UNKNOWN") in new stack
    -- Executing [s at skb106-dial:4] Goto("SIP/353-00000004", "skb1-UNKNOWN,1") in new stack
    -- Goto (skb106-dial,skb1-UNKNOWN,1)
[Apr 19 23:06:06] WARNING[6043]: pbx.c:4812 __ast_pbx_run: Channel 'SIP/353-00000004' sent into invalid extension 'skb1-UNKNOWN' in context 'skb106-dial', but no invalid handler

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

    -- Executing [106 at default:1] Gosub("SIP/353-00000005", "skb106-dial,s,1(106)") in new stack
    -- Executing [s at skb106-dial:1] NoOp("SIP/353-00000005", "") in new stack
    -- Executing [s at skb106-dial:2] Set("SIP/353-00000005", "DEST2=skb1_pstn") in new stack
    -- Executing [s at skb106-dial:3] Set("SIP/353-00000005", "DIALSTATUS=UNKNOWN") in new stack
    -- Executing [s at skb106-dial:4] Goto("SIP/353-00000005", "skb1_UNKNOWN,1") in new stack
    -- Goto (skb106-dial,skb1_UNKNOWN,1)
    -- Executing [skb1_UNKNOWN at skb106-dial:1] Goto("SIP/353-00000005", "skb1_pstn,1") in new stack
    -- Goto (skb106-dial,skb1_pstn,1)
    -- Executing [skb1_pstn at skb106-dial:1] Gosub("SIP/353-00000005", "dial-failover,s,1(106,SIP/SKB_1,SIP/SKB_2,,55,,)") in new stack
    -- Executing [s at dial-failover:1] NoOp("SIP/353-00000005", ""Initiate fail-over procedure"") in new stack

.....goes on......
------------------

1. The original dialplan does not have exten => s,n,Set(DIALSTATUS=UNKNOWN) of course.
2. "but no invalid handler" seems puzzling. shouldn't be "no valid handler"



> 1.8.3.2 extenpatternmatchnew=yes cannot find extensions with '-' in them
> ------------------------------------------------------------------------
>
>                 Key: ASTERISK-17695
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-17695
>             Project: Asterisk
>          Issue Type: Bug
>          Components: Tests/NewFeature
>    Affects Versions: 1.8.3, 13.18.4
>            Reporter: test011
>            Severity: Minor
>
> 1.8.3.2 extenpatternmatchnew=yes cannot find extensions with '-' in them.
> ex) exten => _ASTERISK-5.,n,Goto(9-${DIALSTATUS},1)
> ex) exten => s,2,Goto(1-out,1)
> I believe something like "Goto(1-${DIALSTATUS},1)" is widely used, but extenpatternmatchnew=yes has some parsing problem and can't find it.
> with extenpatternmatchnew=no works fine.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list