[Asterisk-Users] Call roll-over question...
Chris A. Icide
chris at netgeeks.net
Sat Mar 6 19:54:43 MST 2004
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
More information about the asterisk-users
mailing list