[asterisk-bugs] [JIRA] (ASTERISK-30076) app_stack: Incorrect exit location in predial handlers logged

Asterisk Team (JIRA) noreply at issues.asterisk.org
Thu Dec 15 07:06:01 CST 2022


     [ https://issues.asterisk.org/jira/browse/ASTERISK-30076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Asterisk Team updated ASTERISK-30076:
-------------------------------------

    Target Release Version/s: 18.16.0

> app_stack: Incorrect exit location in predial handlers logged
> -------------------------------------------------------------
>
>                 Key: ASTERISK-30076
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30076
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_stack
>    Affects Versions: 18.9.0
>            Reporter: N A
>            Severity: Trivial
>      Target Release: 18.16.0, 20.1.0
>
>
> Gosub prints out the wrong execution location to the CLI in predial handlers:
> {noformat}
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:578 expand_gosub_args: Gosub args:predial,s,1(2,) new_args:predial,s,1(2,)
> [2022-05-22 12:11:39]     -- PJSIP/ATAxLB2-00000038 Internal Gosub(predial,s,1(2,)) start
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:1070 gosub_run: PJSIP/ATAxLB2-00000038 Original location: orig-line-pjsip,s,1
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:672 gosub_exec: Channel PJSIP/ATAxLB2-00000038 has no datastore, so we're allocating one.
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:714 gosub_exec: Setting 'ARG1' to '2'
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:714 gosub_exec: Setting 'ARG2' to ''
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:1074 gosub_run: Gosub exited with status 0
> [2022-05-22 12:11:39]     -- Executing [s at predial:1] PreDial("PJSIP/ATAxLB2-00000038", "c(2)") in new stack
> [2022-05-22 12:11:39]     -- Executing [s at predial:2] Return("PJSIP/ATAxLB2-00000038", "") in new stack
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:1132 gosub_run: Spawn extension (orig-line-pjsip,s,1) exited with -1 on 'PJSIP/ATAxLB2-00000038'
> [2022-05-22 12:11:39]   == Spawn extension (orig-line-pjsip, s, 1) exited non-zero on 'PJSIP/ATAxLB2-00000038'
> [2022-05-22 12:11:39]     -- PJSIP/ATAxLB2-00000038 Internal Gosub(predial,s,1(2,)) complete GOSUB_RETVAL=
> [2022-05-22 12:11:39] DEBUG[24614][C-00000052]: app_stack.c:1158 gosub_run: PJSIP/ATAxLB2-00000038 Ending location: orig-line-pjsip,s,1
> {noformat}
> Here, orig-line-pjsip is the configured context for this PJSIP endpoint.
> Execution never was in this context, since it's a predial handler. It should print out Spawn extension (predial,s,2) exited... instead, but it's printing out the channel's default context.
> Doesn't affect anything per se but if a user is paying attention to the CLI, it can be quite confusing because it may seem as if the channel is doing something it shouldn't be.
> Not fully sure what the most elegant fix here is, but it seems that we need to handle if we're doing a Gosub on a channel that didn't normally start in the PBX (like predial) and maybe NULL out the original context so that doesn't happen (though not sure of the implications of that).



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



More information about the asterisk-bugs mailing list