[asterisk-bugs] [JIRA] (ASTERISK-28241) Call pickup with chan_sip fails, if dialed from subroutine, but succeeds withing macro

Hans-Peter Jansen (JIRA) noreply at issues.asterisk.org
Sun Jan 13 14:34:47 CST 2019


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

Hans-Peter Jansen commented on ASTERISK-28241:
----------------------------------------------

Thanks Richard, for your answer. 

Please note, that the call pickup got broken implicitly. Asterisk just forces users to migrate their dialplan to use GoSub without giving a warning about the things, that may break from that move (not even in documentation). GoSub just says: Jumps to the label specified, saving the return address. Comparing with Macro documentation, it's not possible to foresee these implications.

This raises the question, what other things may broke implicitly?


> Call pickup with chan_sip fails, if dialed from subroutine, but succeeds withing macro
> --------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-28241
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28241
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_directed_pickup, Channels/chan_sip/Subscriptions
>    Affects Versions: 16.1.0, 16.1.1
>            Reporter: Hans-Peter Jansen
>            Severity: Minor
>
> if the extension is dialed from a subroutine, call pickup fails. It succeeds, if extension is dialed from a macro.
> Details:
> Since Asterisk 16, macros are deprecated. After rewriting my dialplan to 
> eliminate macros, call pickups were defective, which has gone unnoticed for 
> some time. Looking at my git logs (yes, I'm managing my asterisk config with 
> git), the only relevant change was moving from macros to subroutines. 
> Here are the relevant dialplan excerpts:
> {noformat}
> [extension]
> ; dial internal extension
> ; ${ARG1}: extension
> exten = start,1,NoOp()
>  same = n,Dial(${ARG1},30)
>  same = n,Hangup()
> [macro-extension]
> ; dial internal extension macro
> ; ${ARG1}: extensions to dial
> exten = s,1,NoOp()
>  same = n,Dial(${ARG1},30)
>  same = n,Hangup()
> [phones]
> ; OK:
> exten = 123,1,Macro(extension,${TEL123})
> [2019-01-12 16:37:12] NOTICE[5013][C-00000002]: app_directed_pickup.c:250 
> pickup_by_exten: SIP/00041323bbf7-00000001 pickup by SIP/00041323463e-00000002
> ; FAIL:
> exten = 123,1,GoSub(extension,start,1(${TEL123}))
> [2019-01-12 16:37:56] NOTICE[5096][C-00000002]: app_directed_pickup.c:365 
> pickup_exec: No target channel found for 123 at internal 
> {noformat}
> Any idea, what could affect this? It looks, like the subroutine Dial() call 
> disrupt the channel contexts somehow. 



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



More information about the asterisk-bugs mailing list