|Summary:||ASTERISK-08986: pickup_exec: No target channel found for|
|Reporter:||Juergen Roesch (chaoty2k)||Labels:|
|Date Opened:||2007-03-12 05:53:36||Date Closed:||2011-06-07 14:07:52|
|Environment:||Attachments:||( 0) verbosedebug_trimmed.txt|
( 1) verbosedebug_trimmed_2nd.txt
asterisk 1.4.1 on gentoo
my extensions.conf [only the interesting part]:
exten => 123,1,Ringing
exten => 123,2,Dial(SIP/xxxx,20,r)
exten => 123,3,wait(90)
exten => 123,4,hangup
exten => 456,1,pickup(123@incoming_1)
both are sip-accounts and have pickupgroup=1 in the sip.conf
so my idea is, when anybody calls at 123 my mobile is ringing and i call
back on 456 and will be connected to the caller
the callout and all other are runnig, but at the pickup there is always:
pickup_exec: No target channel found for 123@incoming_1
I've already tried to insert a answer before the pickup and do a pickup
without the context but nothing runs...
I changed the source of app_directed_pickup.c as described in the comment of http://www.voip-info.org/wiki/view/Asterisk+cmd+Pickup but the bug is also present.
ns1*CLI> core show channels
Channel Location State Application(Data)
IAX2/XXX.XX.217.52:4 79@wrn:2 Ring Wait(90)
1 active channel
1 active call
-- Executing [80@wrn:2] Pickup("IAX2/XXX.XX.217.52:4569-4", "79@wrn") in new stack
[Mar 12 09:09:08] NOTICE: app_directed_pickup.c:99 pickup_by_exten: exten: 80 - context: wrn in .
[Mar 12 09:09:08] NOTICE: app_directed_pickup.c:99 pickup_by_exten: exten: 79 - context: wrn in .
[Mar 12 09:09:08] NOTICE: app_directed_pickup.c:162 pickup_exec: No target channel found for 79.
the both lines extra came from a log-entry i've put in the source:
ast_log(LOG_NOTICE, "exten: %s - context: %s in %s.\n", target->exten,context,target->dialcontext);
in pickup_by_exten as first line in the while-way.
I don't think its a problem of the ringing-State because i commented the "can_pickup(target))" in the if-cause two lines later out.
|Comments:||By: Serge Vecher (serge-v) 2007-03-12 10:12:43|
Please produce the following debug log on an unpatched system please.
1) Prepare test environment (reduce the amount of unrelated traffic on the server);
2) Make sure your logger.conf has the following line:
console => notice,warning,error,debug
3) restart Asterisk with the following command:
'asterisk -Tvvvvvdddddngc | tee /tmp/verbosedebug.txt'
4) Set logging parameters with the following CLI commands (1.4/trunk commands in parenthesis):
set debug 4 (core set debug 4)
set verbose 4 (core set verbose 4)
5) Reproduce the problem
6) Trim startup information and attach verbosedebug.txt to the issue.
By: Juergen Roesch (chaoty2k) 2007-03-12 10:37:22
sorry, i selected the wrong file first, please delete verbosedebug.txt and see the bug at verbosedebug_trimmed.txt
By: Serge Vecher (serge-v) 2007-03-12 11:01:21
you've forgotten to do "core show channels" in the end ;). Second question -- does this work in 1.4.0?
By: Serge Vecher (serge-v) 2007-03-12 11:31:18
also, the line numbers in the debug output do not match up to the sources -> make sure you use the *unmodified* sources.
By: Joshua C. Colp (jcolp) 2007-03-12 11:44:23
Directed pickup is written to pick up a phone call that is dialing another. In your case that already happened, and it is now in the Wait. Directed pickup is doing exactly as it should.
By: Juergen Roesch (chaoty2k) 2007-03-12 11:59:41
my actual extensions.conf:
exten => 123,1,Ringing
exten => 123,2,wait(90)
exten => 123,3,hangup
so, i think, pickup should catch the call in the 90 secs of wait?
By: Juergen Roesch (chaoty2k) 2007-03-12 12:00:49
i added the verbose-debug with the show channels
By: Joshua C. Colp (jcolp) 2007-03-12 12:00:52
Directed pickup is *not* written to do that. It is written to pick up a call that is in Dial() to something.
By: Juergen Roesch (chaoty2k) 2007-03-12 12:04:51
ehm okay... i thought i could do this with pickup
so I'll try my luck in the Forum for a new idea how i could bridge two incoming calls
Thanx a lot