[asterisk-dev] Pickup Bug in Ver. 1.6, 1.4 and also 1.2

Stefan Schmidt sst at sil.at
Thu Oct 2 13:29:02 CDT 2008


i have found the following problem with the pickup command. i´ve tested
this with ver. 1.2.29 (with and without multiple pickup patch), and also 1.6.0rc6.

the problem is, after making an unsuccessfull pickup the call hangup and
the further lines in the exten are ignored.

for example:

exten => *8,1,Noop(trying pickup)
exten => *8,n,PickUp(123 at somecontext)
exten => *8,n,Noop(pickup failed)

in version 1.2 and 1.4 comes the message that pickup has
failed and the noop isn´t executed.

in version 1.6 with this example the result is the same but when i add
the following:

exten => *8,1,Noop(trying pickup)
exten => *8,n,PickUp(123 at somecontext)
exten => *8,n,PickUp(123 at somecontext)
exten => *8,n,Noop(pickup failed)

both pickups are executed and the noop will be executed too when the
pickup fails.

i´ve found this problem by building a global pickup function in a hosted
pbx system with 2000 sip users and around 3000 different extensions
grouped under different DIDs in a  realtime enviroment.
I wanted to build, a global pickup function to pickup a ringing line
without knowing which extension exactly rings. I tried this by making a
 Pickup in a while loop trying for every possible extension for this
DID.  Call- and pickupgroups wont solve my problem cause of the
limitation of 63 groups.

Maybe there is a wrong return code of the pickup so the call is terminated.

best regards

steve smith

More information about the asterisk-dev mailing list