-----Original Message-----> From: asterisk-users-bounces@lists.digium.com
> [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of
> Paul R. Yaskowski
> Sent: Sunday, September 26, 2004 9:06 PM
> To: asterisk-users@lists.digium.com
> Subject: [Asterisk-Users] Background call forwarding?
>
> What I'm looking to achieve:
>
> Incoming calls to me extension will ring for 15 seconds.
> After that, I
> want the calls to forward to my cell phone and attempt to get through
> for another 30 seconds. After 30 seconds, I would like Asterisk to
> timeout the call, and goto my Asterisk voicemail.
>
> I've got the call forwarding down, but I'm using Nextel for
cellular
> service, which loves give callers the "Please wait while the Nextel
> user is located" message.
>
> What I'm looking for is a way to forward the call in the background,
> playing music to the caller while it attempts to get me on the cell
> phone. That way the caller will not even realize the call is being
> forwarded.
>
I do this in my office. When a caller dials my extension, both my desk and
cellular phones ring simultaneously. If I don't answer either one, the
caller
gets * voicemail. The trick is that you can't let the cell phone voicemail
pick up, or * will complete the call on the cell. Check with Nextel to find
out exactly what the timeout is before dumping into voicemail. I'm using
Sprint, which has a 23 second timeout.
I'm not sure if Nextel's "please hold..." message actually
counts as a
completed call or not. I have a Nextel phone as well. Maybe I'll test it
with
that.
Here's my extension logic. With a few changes you can get it to try the
phones in succession instead of simultaneously.
[macro-MOHexten];
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},20,m) ; Ring the
interface, 20 second
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based
on status (NOANSWE
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable,
send to voicemail w/
;exten => s-NOANSWER,2,Goto(default,s,1) ; If they
press #, return to st
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to
voicemail w/ busy an
exten => s-BUSY,2,Goto(default,s,1) ; If they
press #, return to st
exten => s-.,1,Goto(s-NOANSWER,1) ; Treat
anything else as no ans
exten => a,1,VoicemailMain(${ARG1}) ; If they
press *, send the use
[inbound]
exten => 1200,1,Playback(pls-hold-while-try)
exten => 1200,2,Macro(MOHexten,1200,${X1200}&${REID-CELL})