[Asterisk-Users] Background call forwarding?

Reid A. Forrest reid at cvtelecom.com
Wed Sep 29 05:28:43 MST 2004


-----Original Message-----
> From: asterisk-users-bounces at lists.digium.com 
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of 
> Paul R. Yaskowski
> Sent: Sunday, September 26, 2004 9:06 PM
> To: asterisk-users at 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})





More information about the asterisk-users mailing list