Ticket #776 (new Feature Requests)

Opened 3 years ago

Last modified 4 months ago

Automated Park and Page Module

Reported by: tracy@ycic.net Assigned to:
Priority: minor Milestone: 3.0
Component: Other Module Version:
Keywords: Park, Page, Automatic Cc:
Confirmation: Unreviewed SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description

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

Change History

05/03/06 09:05:19 changed by tracy@ycic.net

SORRY!! Forgot to format the code snipet correctly, Here it is in a readable format:

[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

07/05/06 23:01:49 changed by gregmac

Gui should add this as a destination

GUI layout:

  • Series of drop-downs for the announcement to play, which list the system recordings as well as the special value PARKED
  • Extension to dial should be a drop-down that includes all ring groups, extensions, and paging groups.
  • Textbox for timeout
  • Destinations list for timeout target

we'll also need an ext_parkandannounce class in extensions.class.php

07/24/08 18:13:44 changed by ryppn

  • confirmation set to Unreviewed.
  • engine_version changed.
  • svn_rev changed.
  • milestone set to 4.0.
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads