[Asterisk-Users] *66 auto redial emulation?

Chris Coulthurst asterisk at shuksan.com
Sun Jun 12 15:48:06 MST 2005


Has anyone ever tried to roll out a *66 auto-callback-redial feature on
asterisk?
I'm sure that implementing this for outbound Zap calls would be a nightmare,
but what about something easier, like internal extensions?

On my old Panasonic key system, it used to be such that, if the called
extensions were busy, you could press 6 while hearing the busy signal, it
would beep twice and hangup.  Once the called, busy party's line was free,
the KSU would ring-ring your phone back, and once you picked up, it redialed
the extension that is freed.

I have a rough idea on how to implement something like this, but I can see a
few complex issues. 

1. IF you want it to ring busy, and have the same behaviors as the Panasonic
system did, you can't TRULY ring busy.  Need a playtones command here to go
to instead.  I have already sketched one out but it needs work.

2. If the called party actually has call waiting, maybe we could still get
the 'busy' tone but instead of pressing 6 to callback, we press 1 to signal
their call-waiting second line. If that line is also busy (they have a
caller on hold), then we could maybe go to their VM at this point.

Okay, are we confused enough yet?  You bet, I sure am, and would love any
input and sample extensions.conf context examples you may have.  Here is the
one that I kinda-wrote out for the busy-generation:

[new-busy]
exten => s,1,Answer()
exten => s,2,ResponseTimeout(60)
exten => s,3,Playtones(busy)
exten => s,4,Read(dialed,,1)
exten => s,5,Goto(${dialed},1)

exten => 1,1,StopPlayTones
exten => 1,2,** GO DO SOMETHING WHEN YOU PRESS 1 HERE **
exten => 1,3,Hangup

exten => 6,1,StopPlayTones
exten => 6,2,** GO DO SOMETHING ELSE WHEN YOU PRESS 2 **
exten => 6,3,Hangup

exten => i,1,Goto(s,3); everything else is invalid
exten => t,1,Hangup ; busy timed out after 60 seconds



Chris Coulthurst
chris at shuksan.com
 





More information about the asterisk-users mailing list