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." _______________________________________________ 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