I built a simple dialplan script in extensions_custom.conf to do an automated call park and page. It functions like this: A call comes into a ring group that rings one or more phones, after the ring group time out the call is sent to a custom app, the "Park-n-Page" app. The app first plays a message to the caller that "Bob" or whoever is no answering and to please wait while he/she is being paged. It the executes the "ParkandAnnounce?" dialplan command. ParkandAnnounce? accepts a series of audio files to play. I have it playing an alert tone (A Bosun's whistle), followed by a "Bob you have a "insert call type here...sales, service, etc" call parked on",followed by the "PARKED" macro audio file which asterisk dynamically plays the park orbit digits (example: ...parked on: Seven Zero One..." I had an issue with asterisk hanging up to soon and clipping the last digit off so I include 2 seconds of silence. This output is send to specified extension number. In my case I send it to a agi script to page via phonesets and the console/dsp port. FYI, I use the phoneset paging script that X-Rob wrote a while back which I have stolen and bent to include paging via console/dsp port. After the specified timeout the caller is returned to a dummy extension that sends them to an auto-attendant menu that typically gives them the option to repage, leave v/m, or goto the operator.
I don't currently have the skills required to write this module (but I working on that) but I think it would be a handy one to have for a number of people (myself included :)) and I *believe* it would be simple enough to write.
Here's the excerpt from a production system using 2 PnP apps:
{from-internal-custom]
exten => 790,1,Goto(aa_5,s,1) ; Dummy ext for the ComServ? PnP App to forward to
exten => 791,1,Goto(aa_6,s,1) ; Dummy ext for the Brian Wadell PnP App to forward to
exten => *50,1,AGI,allpage.agi ; If configured Page through Phone Speakers
exten => *50,2,Playback(custom/bosun)
exten => *50,3,MeetMe?(999,dtqpA)
exten => *50,4,Hangup
.
.
.
.
.
[custom-pnp-comserv]
exten => s,1,Answer
exten => s,2,Playback(custom/pnpprompt)
exten => s,3,ParkAndAnnounce?(custom/bosun:custom/comserv:PARKED:silence/2|60|local/*50@from-internal-custom|from-internal-custom,790,1)
[custom-pnp-brian]
exten => s,1,Answer
exten => s,2,Playback(custom/pnpprompt)
exten => s,3,ParkAndAnnounce?(custom/bosun:custom/brian:PARKED:silence/2|60|local/*50@from-internal-custom|from-internal-custom,791,1)
[all-page]
exten => s,1,Playback(custom/bosun)
exten => s,2,MeetMe?(999,dmqpwx)
exten => s,3,Hangup
exten => t,1,Hangup
exten => T,1,Hangup
Thanks,
Tracy