On Tue, 2005-02-01 at 08:12, Eric Bishop wrote:> Has anyone implemented "hot seating" in any neat way? This where
> people can log in to any phone in the company and have their
> calls/voicemail come to that particular handset.....
I think this usually called "follow me" and is a variation on
"call
forward immediate". I have successfully done cfim where the user, at
their home station, can redirect their calls to another station, but I
haven't yet got around to fm, where the user is at a foreign station and
directs * to do a cfim to his new station. It shouldn't be difficult
and is really only an extension of cfim. I used DBPut, DBGet and DBDel
to implement it.
Here's the part of the dial plan that goes in the "internal" call
context:
'_1[1-7]Z' => 1. NoOp(Chan:${CHANNEL} Cntxt:${CONTEXT}
Exten:${EXTEN} Prio:${PRIORITY} Time:${TIMESTAMP} Clid:${CALLERID}) [pbx_config]
2. SetVar(CFIM=0) [pbx_config]
3. Macro(cfim|${EXTEN}) [pbx_config]
4. GotoIf($[${CFIM} = 0]?10:cfim|${CFIM}|1) [pbx_config]
10. Macro(voice|SIP/${EXTEN}|${EXTN_TIMEOUT}|t|${EXTEN})
[pbx_config]
and then this is the macro-cfim:
[ Context 'macro-cfim' created by 'pbx_config' ]
's' => 1. NoOp(Chan:${CHANNEL} Cntxt:${CONTEXT}
Exten:${EXTEN} Prio:${PRIORITY} Time:${TIMESTAMP} Clid:${CALLERID} Arg1:${ARG1})
[pbx_config]
2. DBGet(CFIM=CFIM/${ARG1}) [pbx_config]
3. Playback(call-forwarding) [pbx_config]
103. NoOp() [pbx_config]
This is where I allow them to set and clear their cfim details, in
another internal context:
'*84' => 1. NoOp(Chan:${CHANNEL} Cntxt:${CONTEXT}
Exten:${EXTEN} Prio:${PRIORITY} Time:${TIMESTAMP} Clid:${CALLERID}) [pbx_config]
2. Wait(1) [pbx_config]
3. Read(CFIMNUM|custom/callforward-number) [pbx_config]
4. DBPut(CFIM/${CALLERIDNUM}=${CFIMNUM}) [pbx_config]
5. Wait(1) [pbx_config]
6. Playback(your) [pbx_config]
7. Playback(call-forward) [pbx_config]
8. Playback(has-been-set-to) [pbx_config]
9. SayDigits(${CFIMNUM}) [pbx_config]
10. Hangup() [pbx_config]
'*85' => 1. NoOp(Chan:${CHANNEL} Cntxt:${CONTEXT}
Exten:${EXTEN} Prio:${PRIORITY} Time:${TIMESTAMP} Clid:${CALLERID}) [pbx_config]
2. DBDel(CFIM/${CALLERIDNUM}) [pbx_config]
3. Playback(call-fwd-cancelled) [pbx_config]
4. Hangup() [pbx_config]
HTH, but usual disclaimers apply.
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users@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
--
Howard.
LANNet Computing Associates;
Your Linux people <http://www.lannetlinux.com>
------------------------------------------
"When you just want a system that works, you choose Linux;
when you want a system that just works, you choose Microsoft."
------------------------------------------
"Flatter government, not fatter government;
Get rid of the Australian states."