PBX Extension Mobility
Created by: steveh,Last modification on Fri 14 of Jan, 2005 [13:47 UTC]
Extension Mobility
This feature is also known as roaming sometimes.
Typically you dial an access code, your extension and a password and then the instrument that you are at becomes your phone.
Your shortcodes, your voicemail and your user privileges all move to the phone that you're using.

Comments
333Success Story
In my implementation I have assigned all of these roamers extensions in the 20xx range. Extension 2199 is used to log in and extension 2198 is used for logging out. My physical extension numbers happen to be in the 10xx range, but that's irrelevant to this function.
First, in agents.conf, we define these roaming employees as Call Center Agents:
updatecdr=yes ; This uses the agent's ID instead of the physical extension number in the CDR.
agent => 2001,1234,Roger Ramjet ; UserID,Password,Name
agent => 2002,1234,Jonas Grumby
agent => 2003,1234,Ned Flanders
Then, in extensions.conf, in the same context as all ordinary extensions, we put:
exten => _20XX,hint,Agent/$(EXTEN)
exten => _20XX,1,Dial(Agent/${EXTEN},300,t)
exten => _20XX,1,Dial(${HINT},20,rtT)
exten => _20XX,2,Congestion
exten => 2199,1,AgentCallbackLogin(|${CALLERIDNUM})
exten => 2198,1,AgentCallbackLogin(|#)
Now, in order to log in, the user does not need to know the physical extension number of the desk he is sitting at. $[CALLERIDNUM} takes care of that. Logging out requires calling 2198 and entering a blank extension number (#) when prompted.
As long as the user is logged in, calls to his 20xx number will be presented to that physical extension. Voice mail captures messages regardless of whether the user is logged in anywhere or not.
I have not yet worked out how to change the COS on the physical extension when a real user is logged in, so further contribution would be appreciated.