Asterisk call parking
By default extension 700 is used to park a call. While in a conversation, press # to initiate a transfer, then dial 700. Asterisk will now announce the parking extension, most probably 701 or 702. Now hang up - the caller will be left on hold at the announced extention. Walk up to a different phone, dial 701 and voilį - the conversation can be continued. If a caller has been parked for a longer time than the specified time limit then Asterisk will again ring the originally dialed extension.
For simple dialplans first edit parking.conf as desired, then put this into your extensions.conf:
include => parkedcalls If you have a more complex dialplan and want to be able to Goto() a more elaborate 'parkedcalls' handler then you'll need to be sure to include a handler for the 'i' priority to catch calls to parkinglot without call in them as well as the 's' priority to give timeouts somewhere to go, thus:
...
exten => somecontext,3,Goto(parkinglot,${ARG1},1)
...
[parkinglot]
exten => s,1,NoOp(once a parked call times out it will resume here)
...
include => parkedcalls
exten => i,1,Playback(pbx-invalidpark)
exten => i,2,Hangup
Notes
- It won't show the parking extension when you do a show dialplan in the CLI.
- Also you'll need to 'restart' Asterisk after modifying features.conf - a simple 'reload' won't do.
- The user must be allowed to do transfers for being able to park a call, so check the t and T options of the Dial() command
- Asterisk-based transfers only work if Asterisk in the media path (which can be enforced through "canreinvite=no" in sip.conf, for example)