and for pickup i use this
exten=>_7XXX,1,Answer()
exten=>_7XXX,2,Pickup(${EXTEN}@PICKUPMARK)
exten=>_7XXX,3,Busy()
The CLI> output is this:
-- Executing [201@directpickup:1] Pickup("SIP/203-00000005", "201@PICKUPMARK") in new stack
-- Executing [201@directpickup:2] Busy("SIP/203-00000005", "") in new stack
MSI_COM740*CLI>
Disconnected from Asterisk server
[root@MSI_COM740 asterisk]#
The dialplan lines do not jive what is displayed on the CLI.
for the pickup, line 1 should have been an answer, but it showed to be the Pickup command.
Also on your pickup command you do not have ${EXTEN:1} to drop the 7 from what you dial to do the pickup, so the line on the console should have read 7201@PICKUPMARK.
It will be difficult to offer suggestions when the CLI and dialplan examples dont match.
I also had some problems with Pickup() in Asterisk 1.8.4.x. Group pickup worked, but directed pickup did not. Things are resolved in 1.8.5, so please try to use this version in your tests.