We've had a regular Park function in the past but recently I found the
ParkAndAnnounce() application and I love the idea behind it. Here's a snip
from the wiki
(http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+ParkAndAnnounce)
so that we're all talking the same language:
|| ParkAndAnnounce(announce:template|timeout|dial|return_context)
||
|| Park a call into the parkinglot and announce the call over an extension.
||
|| announce template: colon seperated list of files to announce, the word
|| PARKED will be replaced by a say_digits of the ext the call is parked
in
|| timeout: time in seconds before the call returns into the return context.
|| dial: The app_dial style resource to call to make the announcement.
|| Console/dsp calls the console.
|| return_context: the goto style label to jump the call back into after
timeout.
Perhaps someone has accomplished these enhancements in the dialplan already
(if you have, please share!), but here's what I would like to modify
ParkAndAnnounce to do, if I were a skilled coder:
SYNTAX:
ParkAndAnnounce2(announce:template|timeout|dial|return_context|options)
OPTIONS:
a = Asterisk would insert SIP header of "Call-Info: Answer-After:
0" to
the dial command. This would allow the announcement to happen
over the target phone's speaker and not require answering a
ringing call. Only affects announcement, not call park return
p = automatically make announcements to whomever originated the
parking and return parked calls to same. Caller ID Name will read
'Call Park at XXX' during announcement and 'Call Park
Return'
during return. Currently it just says 'asterisk'
EXAMPLE:
exten => 700,1,Answer
exten => 700,2,Wait(1)
exten => 700,3,ParkAndAnnounce2(pbx-transfer:PARKED|60|ignore|ignore|ap)
In this example, let's assume that an outside caller reaches me at extension
101. I blind-transfer on my SIP phone to extension 700. The caller hears
music-on-hold and is parked in the next available slot (let's say 701). The
app would then add the auto-answer header (thanks to the 'a' option)
needed
for our GXP-2000's and then place the call to SIP/101 (the device that
originated the parking) with the CallerID Name set to 'Call Park at
701'.
The call is auto-answered at the SIP phone (thanks to the SIP header) and
then the dial plan plays "pbx-transfer", reads out the digits, and
hangs up.
After 60 seconds, the caller is returned to SIP/101 (this time without the
auto-answer SIP header) with the CallerID Name set to 'Call Park
Return'.
Notice that when the 'p' option is used, the 'dial' and
'return' parameters
are ignored.
Does anyone else think this is interesting/valuable enough to submit to
Mantis as a feature request? Or am I just off on my own little world?
Steven:
I'm assuming your using IP phones registered to Asterisk in this
example. I don't do that but I use ParkandAnnounce for IP phones
registering to a SER server. To handle the call back part of your
question I use a snipet like:
exten => _700,5,SIPGetHeader(REFBY=Referred-By)
exten =>
_700,6,ParkAndAnnounce(parkedcall16:PARKED|7200|SIP/${REFBY:5:5}@<SER
proxy IP>|default|${EXTEN}|3)
-Steve
Steven Andres wrote:
>We've had a regular Park function in the past but recently I found the
>ParkAndAnnounce() application and I love the idea behind it. Here's a
snip
>from the wiki
>(http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+ParkAndAnnounce)
>so that we're all talking the same language:
>
>|| ParkAndAnnounce(announce:template|timeout|dial|return_context)
>||
>|| Park a call into the parkinglot and announce the call over an extension.
>||
>|| announce template: colon seperated list of files to announce, the word
>|| PARKED will be replaced by a say_digits of the ext the call is parked
>in
>|| timeout: time in seconds before the call returns into the return context.
>|| dial: The app_dial style resource to call to make the announcement.
>|| Console/dsp calls the console.
>|| return_context: the goto style label to jump the call back into after
>timeout.
>
>
>Perhaps someone has accomplished these enhancements in the dialplan already
>(if you have, please share!), but here's what I would like to modify
>ParkAndAnnounce to do, if I were a skilled coder:
>
>SYNTAX:
> ParkAndAnnounce2(announce:template|timeout|dial|return_context|options)
>
>OPTIONS:
> a = Asterisk would insert SIP header of "Call-Info: Answer-After:
0" to
> the dial command. This would allow the announcement to happen
> over the target phone's speaker and not require answering a
> ringing call. Only affects announcement, not call park return
> p = automatically make announcements to whomever originated the
> parking and return parked calls to same. Caller ID Name will read
> 'Call Park at XXX' during announcement and 'Call Park
Return'
> during return. Currently it just says 'asterisk'
>
>EXAMPLE:
> exten => 700,1,Answer
> exten => 700,2,Wait(1)
> exten =>
700,3,ParkAndAnnounce2(pbx-transfer:PARKED|60|ignore|ignore|ap)
>
>In this example, let's assume that an outside caller reaches me at
extension
>101. I blind-transfer on my SIP phone to extension 700. The caller hears
>music-on-hold and is parked in the next available slot (let's say 701).
The
>app would then add the auto-answer header (thanks to the 'a' option)
needed
>for our GXP-2000's and then place the call to SIP/101 (the device that
>originated the parking) with the CallerID Name set to 'Call Park at
701'.
>The call is auto-answered at the SIP phone (thanks to the SIP header) and
>then the dial plan plays "pbx-transfer", reads out the digits, and
hangs up.
>After 60 seconds, the caller is returned to SIP/101 (this time without the
>auto-answer SIP header) with the CallerID Name set to 'Call Park
Return'.
>Notice that when the 'p' option is used, the 'dial' and
'return' parameters
>are ignored.
>
>
>Does anyone else think this is interesting/valuable enough to submit to
>Mantis as a feature request? Or am I just off on my own little world?
>
>_______________________________________________
>--Bandwidth and Colocation provided by Easynews.com --
>
>Asterisk-Users mailing list
>To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
I just tried this out and it didn't work, Steve. Using:
exten => 700,1,NoOp(Park and Announce)
exten => 700,n,Set(REFBY=${SIP_HEADER(Referred-By)})
exten => 700,n,NoOp(Referred-By: ${REFBY})
exten =>
700,n,ParkAndAnnounce(pbx-transfer:PARKED|20|SIP/${REFBY:5:5}|office,${EXTEN},1)
The Referred-By header doesn't exist so I can't use it:
-- Executing Set("SIP/4159524515-03b1", "REFBY=") in new
stack
-- Executing NoOp("SIP/4159524515-03b1", "Referred-By:
") in new stack
And when the call timesout after 20 seconds, it returns to ${EXTEN} which is
'700'. I want it to return to the phone that originally put the call on
hold. Darn, thought I had a solution. Back to the drawing board...
----- Original Message -----
From: "Steve Blair" <blairs@isc.upenn.edu>
To: "Asterisk Users Mailing List - Non-Commercial Discussion"
<asterisk-users@lists.digium.com>
Sent: Friday, February 24, 2006 2:58 PM
Subject: Re: [Asterisk-Users] ParkAndAnnounce2 Feature Request
Steven:
I'm assuming your using IP phones registered to Asterisk in this
example. I don't do that but I use ParkandAnnounce for IP phones
registering to a SER server. To handle the call back part of your
question I use a snipet like:
exten => _700,5,SIPGetHeader(REFBY=Referred-By)
exten =>
_700,6,ParkAndAnnounce(parkedcall16:PARKED|7200|SIP/${REFBY:5:5}@<SER
proxy IP>|default|${EXTEN}|3)
________________________________________________________
Steven Andres wrote:
>Perhaps someone has accomplished these enhancements in the dialplan already
>(if you have, please share!), but here's what I would like to modify
>ParkAndAnnounce to do, if I were a skilled coder:
>
>SYNTAX:
> ParkAndAnnounce2(announce:template|timeout|dial|return_context|options)
>
>OPTIONS:
> a = Asterisk would insert SIP header of "Call-Info: Answer-After:
0" to
> the dial command. This would allow the announcement to happen
> over the target phone's speaker and not require answering a
> ringing call. Only affects announcement, not call park return
> p = automatically make announcements to whomever originated the
> parking and return parked calls to same. Caller ID Name will read
> 'Call Park at XXX' during announcement and 'Call Park
Return'
> during return. Currently it just says 'asterisk'
>
>EXAMPLE:
> exten => 700,1,Answer
> exten => 700,2,Wait(1)
> exten =>
700,3,ParkAndAnnounce2(pbx-transfer:PARKED|60|ignore|ignore|ap)
>
>In this example, let's assume that an outside caller reaches me at
>extension
>101. I blind-transfer on my SIP phone to extension 700. The caller hears
>music-on-hold and is parked in the next available slot (let's say 701).
The
>app would then add the auto-answer header (thanks to the 'a' option)
needed
>for our GXP-2000's and then place the call to SIP/101 (the device that
>originated the parking) with the CallerID Name set to 'Call Park at
701'.
>The call is auto-answered at the SIP phone (thanks to the SIP header) and
>then the dial plan plays "pbx-transfer", reads out the digits, and
hangs
>up.
>After 60 seconds, the caller is returned to SIP/101 (this time without the
>auto-answer SIP header) with the CallerID Name set to 'Call Park
Return'.
>Notice that when the 'p' option is used, the 'dial' and
'return' parameters
>are ignored.