I was able to use the following tutorial by cjonesmo, Apr 24, 2012 (then modified for my use)
To setup Multiple Parking Lots (FreePBX Ver: 2.10, Asterisk Ver: 1.8, April 30, 2012):
http://www.pbxinaflash.com/community/index.php?threads/multiple-parking-lots-solved.6298/
- Add the following to features_general_custom.conf
nano /etc/asterisk/features_general_custom.conf
This defines customer’s parking lot as “park98” with the parking with 4-9 “slots” in which they can park calls.
[park98]
parkpos=1071-1074
context=park98
parkingtime=90
pickupexten=*8
[park12]
parkpos=1271-1274
context=park12
parkingtime=90
pickupexten=*8
- Then Modify extension_custom.conf
nano /etc/asterisk/extensions_custom.conf
include=>park98
[park-hints-custom]
exten => 1071,1,ParkedCall(1071)
exten => 1071,hint,park:1071@park98
exten => 1072,1,ParkedCall(1072)
exten => 1072,hint,park:1072@park98
exten => 1073,1,ParkedCall(1073)
exten => 1073,hint,park:1073@park98
exten => 1074,1,ParkedCall(1074)
exten => 1074,hint,park:1074@park98
include=>park12
[park-hints-custom]
exten => 1271,1,ParkedCall(1271)
exten => 1271,hint,park:1271@park12
exten => 1272,1,ParkedCall(1272)
exten => 1272,hint,park:1272@park12
exten => 1273,1,ParkedCall(1273)
exten => 1273,hint,park:1273@park12
exten => 1274,1,ParkedCall(1274)
exten => 1274,hint,park:1274@park12
- Then add the following to functions.inc.php
nano /var/www/html/admin/modules/core/functions.inc.php
//This line just above the DTMF LINE that says:
// $sipfields[] = array($account,‘dtmfmode’,$db>escapeSimple((isset($_REQUEST[‘dtmfmode’]))?$_REQUEST[‘dtmfmode’]:’’),$flag++);
$sipfields[] = array($account,‘parkinglot’,$db->escapeSimple((isset($_REQUEST[‘parkinglot’]))?$_REQUEST[‘parkinglot’]:’’),$flag++);
//This line just above the DTMF LINE that says:
// $tmparr[‘dtmfmode’] = array(‘value’ => ‘rfc2833’, ‘tt’ => $tt, ‘select’ => $select, ‘level’ => 0);
$tmparr[‘parkinglot’] = array(‘value’ => ‘’, ‘tt’ => $tt, ‘level’ => 1);
Note:
BEFORE it will work (if you put the changes into the functions.inc.php file) - you will have to re-start http by going to linux and issuing the “service httpd restart” command. Then, open your extensions configuration in the freepbx GUI and you should see the “parkinglot” field between the “secret” and “dtmfmode” fields.
You should populate that with “park98” or “park12” (or whatever name you defined in features_general_custom.conf, save the extension, and apply the changes.
Once this is done, if you dial the REGULAR PARKING LOT EXTENSION (as defined by parkext in features_general_additional.conf) from a phone with a custom parking lot defined, they should start at the slot you specified in the configuration above - meaning, for example, that if I assign parkinglot_pt to x2000 in my system, and my default parking lot is defined as x7000 - then when I dial x7000 from x2000, I should hear 7011 as the parking slot that I received.
To pickup the call, any phone can dial the parking lot (slot) that was announced (in this case 7011). If the call isn’t picked up by the timeout (in this case 45 seconds), it will ring back to the extension that tried to park it.
If this still isn’t working for you after following these steps, please contact me directly so that I can correct the post - as I have this working on 2 of my systems and want others to be able to take advantage of the feature.
Finally, remember that if you upgrade the freepbx core, you will most likely have to re-insert the code into the functions.inc.php file as it will be over-written when you upgrade freepbx.