[asterisk-dev] [16.1.1] Call pickup with chan_sip fails, if dialed in subroutine, but works within macro

Hans-Peter Jansen hpj at urpla.net
Sat Jan 12 10:09:45 CST 2019


Hi,

I just hunted down an issue with call pickup (DIALOG_INFO_XML format) and 
chan_sip.

It boils down to: 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:

[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 

Any idea, what could affect this? It looks, like the subroutine Dial() call 
disrupt the channel contexts somehow. 

Thanks in advance,
Pete



More information about the asterisk-dev mailing list