Commercial End Point Manager - How to Park a Call?

Arch = x86_64
OS = CentOS-6.4 (freepbx)
Asterisk = 11.3.0
FreePBX = 2.11.0
Commercail EPM = 2.10.0.110.9

What I wish to accomplish is the ability to press one of three phone button and park a call in a specific slot based on the button chosen so that concurrent parked calls may be picked up at another extension by pressing the corresponding button on that phone.

My first question is: Is this possible?
My second question is: How is it done?

We have the following extensions defined as a parking lot;

Parking Lot
Extension
ParkCall Default Lot 700
PickupSlot Default Lot 701
PickupSlot Default Lot 702
PickupSlot Default Lot 703
PickupSlot Default Lot 704

We also have three programmable buttons available on our standard desk set (Snom870).

In the CEPM template manager one has the choice of ‘Park’ for programmable buttons. But what values should be placed in each of the three template lines once the button type ‘Park’ is selected?

As an experiment I tried 701, 702 and 703 but when I try and park a call I get this error and a disconnect:

. . . == Extension Changed 41712[ext-local] new state Hold for Notify User 41721 == Extension Changed 41712[ext-local] new state Hold for Notify User 41716 == Extension Changed 41712[ext-local] new state Hold for Notify User 41715 == Extension Changed 41712[ext-local] new state Hold for Notify User 41711 -- Started music on hold, class 'none', on DAHDI/1-1 -- Stopped music on hold on DAHDI/1-1 == Extension Changed 41712[ext-local] new state Hold for Notify User 41719 == Extension Changed 41712[ext-local] new state Hold for Notify User 41713 == Spawn extension (from-internal-xfer, 701, 1) exited non-zero on 'DAHDI/1-1' in macro 'dial' == Spawn extension (from-internal-xfer, 701, 1) exited non-zero on 'DAHDI/1-1' -- Executing [701@from-internal-xfer:1] Macro("DAHDI/1-1", "parked-call,701,default") in new stack -- Executing [s@macro-parked-call:1] AGI("DAHDI/1-1", "parkfetch.agi,701") in new stack == Extension Changed 41712[ext-local] new state Hold for Notify User 41718 -- Launched AGI Script /var/lib/asterisk/agi-bin/parkfetch.agi == Extension Changed 41712[ext-local] new state Hold for Notify User 41717 == Extension Changed 41712[ext-local] new state Hold for Notify User 41710 == Extension Changed 41712[ext-local] new state Hold for Notify User 41714 == Extension Changed 41712[ext-local] new state Hold for Notify User 41722 == Extension Changed 41712[ext-local] new state Hold for Notify User 41712 == Extension Changed 41712[ext-local] new state Idle for Notify User 41721 == Extension Changed 41712[ext-local] new state Idle for Notify User 41716 == Extension Changed 41712[ext-local] new state Idle for Notify User 41715 == Extension Changed 41712[ext-local] new state Idle for Notify User 41711 == Extension Changed 41712[ext-local] new state Idle for Notify User 41719 == Extension Changed 41712[ext-local] new state Idle for Notify User 41713 == Extension Changed 41712[ext-local] new state Idle for Notify User 41718 == Extension Changed 41712[ext-local] new state Idle for Notify User 41717 == Extension Changed 41712[ext-local] new state Idle for Notify User 41710 == Extension Changed 41712[ext-local] new state Idle for Notify User 41714 == Extension Changed 41712[ext-local] new state Idle for Notify User 41722 == Extension Changed 41712[ext-local] new state Idle for Notify User 41712 (queued) -- AGI Script parkfetch.agi completed, returning 0 -- Executing [s@macro-parked-call:2] GotoIf("DAHDI/1-1", "1?next") in new stack -- Goto (macro-parked-call,s,6) -- Executing [s@macro-parked-call:6] Set("DAHDI/1-1", "CCSS_SETUP=TRUE") in new stack -- Executing [s@macro-parked-call:7] Macro("DAHDI/1-1", "user-callerid,") in new stack -- Executing [s@macro-user-callerid:1] Set("DAHDI/1-1", "TOUCH_MONITOR=1371225509.59") in new stack -- Executing [s@macro-user-callerid:2] Set("DAHDI/1-1", "AMPUSER=") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("DAHDI/1-1", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("DAHDI/1-1", "1?Set(REALCALLERIDNUM=)") in new stack -- Executing [s@macro-user-callerid:5] Set("DAHDI/1-1", "AMPUSER=") in new stack -- Executing [s@macro-user-callerid:6] Set("DAHDI/1-1", "AMPUSERCIDNAME=") in new stack -- Executing [s@macro-user-callerid:7] GotoIf("DAHDI/1-1", "1?report") in new stack -- Goto (macro-user-callerid,s,15) -- Executing [s@macro-user-callerid:15] GotoIf("DAHDI/1-1", "0?continue") in new stack -- Executing [s@macro-user-callerid:16] Set("DAHDI/1-1", "__TTL=63") in new stack -- Executing [s@macro-user-callerid:17] GotoIf("DAHDI/1-1", "1?continue") in new stack -- Goto (macro-user-callerid,s,28) -- Executing [s@macro-user-callerid:28] Set("DAHDI/1-1", "CALLERID(number)=") in new stack -- Executing [s@macro-user-callerid:29] Set("DAHDI/1-1", "CALLERID(name)=") in new stack -- Executing [s@macro-user-callerid:30] Set("DAHDI/1-1", "CDR(cnum)=") in new stack -- Executing [s@macro-user-callerid:31] Set("DAHDI/1-1", "CDR(cnam)=") in new stack -- Executing [s@macro-user-callerid:32] Set("DAHDI/1-1", "CHANNEL(language)=en") in new stack -- Executing [s@macro-parked-call:8] GotoIf("DAHDI/1-1", "0?pcall") in new stack -- Executing [s@macro-parked-call:9] ResetCDR("DAHDI/1-1", "") in new stack -- Executing [s@macro-parked-call:10] NoCDR("DAHDI/1-1", "") in new stack -- Executing [s@macro-parked-call:11] Wait("DAHDI/1-1", "1") in new stack -- Executing [s@macro-parked-call:12] Playback("DAHDI/1-1", "pbx-invalidpark") in new stack -- Playing 'pbx-invalidpark.ulaw' (language 'en') -- Executing [s@macro-parked-call:13] Wait("DAHDI/1-1", "1") in new stack -- Executing [s@macro-parked-call:14] Hangup("DAHDI/1-1", "") in new stack == Spawn extension (macro-parked-call, s, 14) exited non-zero on 'DAHDI/1-1' in macro 'parked-call' == Spawn extension (from-internal-xfer, 701, 1) exited non-zero on 'DAHDI/1-1' -- Executing [h@from-internal-xfer:1] Macro("DAHDI/1-1", "hangupcall") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-1", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] ExecIf("DAHDI/1-1", "0?Set(CDR(recordingfile)=)") in new stack -- Executing [s@macro-hangupcall:4] Hangup("DAHDI/1-1", "") in new stack == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'DAHDI/1-1' in macro 'hangupcall' == Spawn extension (from-internal-xfer, h, 1) exited non-zero on 'DAHDI/1-1' -- Hanging up on 'DAHDI/1-1' -- Hungup 'DAHDI/1-1'