[Asterisk-Users] Call roll-over question...

Brian R. Swan swannie at swannie.net
Mon Mar 8 10:08:09 MST 2004


Hi all,

Thanks everyone who replied for their help.  I wanted to post and describe my 
"final" config in case anyone in the future wants to accomplish something 
similar.

Here's my "Standard extension" macro:

exten => s,1,Dial(${ARG2},15)
exten => s,2,Voicemail(u${ARG1})
exten => s,3,Hangup
exten => s,102,Dial(${ARG3},15)
exten => s,103,Voicemail(b${ARG1})
exten => s,104,Hangup
exten => s,203,Voicemail(b${ARG1})
exten => s,204,Hangup

And the line that calls the macro.

exten => 2001,1,Macro(stdexten,2001,SIP/2001,SIP/3001)

So, with call waiting turned off on the Cisco phone, I can call 2001, and if 
it's busy it will roll over to 3001.  If they're both busy is will go to 
Voicemail.  As a side note, I opted to not make the 3001 extension direct 
dialable (is that a word?).  So,  any calls to 3001 will just get a re-order, 
however, calls can still be placed from 3001.

Again, thanks everyone for their help with my config!

Swannie

On Saturday 06 March 2004 8:54 pm, Chris A. Icide wrote:
> At 03:52 PM 3/6/2004, you wrote:
> >try this in extentions.conf, it should do what you want...
> >
> >exten => 2001,1,ChanIsAvail(SIP/2001&SIP/3001)
> >exten => 2001,2,SubString,ToDial=${AVAILCHAN}|0|8
> >exten => 2001,3,Dial(${ToDial},20)
> >exten => 2001,4,Voicemail(u2001)
> >exten => 2001,5,Hangup
> >exten => 2001,104,Voicemail(b2001)
> >exten => 2001,105,Hangup
> >
> >exten => 3001,1,ChanIsAvail(SIP/3001&SIP/2001)
> >exten => 3001,2,SubString,ToDial=${AVAILCHAN}|0|8
> >exten => 3001,3,Dial(${ToDial},20)
> >exten => 3001,4,Voicemail(u3001)
> >exten => 3001,5,Hangup
> >exten => 3001,104,Voicemail(b3001)
> >exten => 3001,105,Hangup
>
> Another example that functions as I think you want is below.  I like the
> example above, but if you want to stay away from variables for some reason,
> the function below does the same as above for calling 2001.  You can copy
> and reverse the numbers for 3001 as well.
>
> exten => 2001,1,Dial(SIP/2001,20)  ; Ring first line for 20 seconds if it's
> not in use
> exten => 2001,2,Voicemail(u2001) ; Line 1 rang for 20 seconds, no one
> answered, send to VM as unavailable
> exten => 2001,3,Hangup ; I always terminate a logical set of steps with
> hangup, just in case..
> exten => 2001,102,Dial(SIP/3001,20) ; Line 2001 was busy, try dialing line
> 3001.
> exten => 2001,103,Voicemail(b2001) ; No one answered 3001, but 2001 is
> busy, lets tell the caller we are on the phone
> exten => 2001,104,Hangup ; Just in case...
> exten => 2001,203,Voicemail(b2001) ; Line 2001 AND 3001 were busy, maybe
> I'm calling myself? Let the caller know we are on the phone
> exten => 2001,204,Hangup ; just in case...
>
> This should work just fine.  I'm not sure how high priority can go before
> something goes poof.  But two +101 jumps definitely work.  I'll have to see
> how many times you can jump and how high a priority you can have.
>
> -Chris
>
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users




More information about the asterisk-users mailing list