cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6734
Views
5
Helpful
7
Replies

Automate Extension Mobility login?

MARK BAKER
Level 4
Level 4

Does anyone know if it is possible to have a startup script on a user's PC to automatically log into their phone with Extension Mobility? I don't know if this is possible, but thought I would ask. My thinking is that the user logs into their PC and a startup script detects the phone that they are connected to and automatically logs into it with Extension Mobility using their "windows username" and configured PIN without user interaction. I assume if there is an API on CUCM for this that it may be possible.

The reason I ask is that we have UCCX agents that hotel and they need to first log into their phone with Extension Mobility and then log into CAD. I would like to remove a step from their login procedure if possible. Typing your username into the phone interface is not a pleasant experience.

If this isn't possible, then I think it would be nice to have autofill capability on the IP phones as they are typing their usernames. This would benefit Extension Mobility users that frequeantly use the same phone.

Thank you,

Mark

7 Replies 7

MARK BAKER
Level 4
Level 4

It looks like this is possible. I will just need to figure out how to get the device name from the connected IP phone. Then the application would need to send that with the other pertinent information to CUCM. It would also need to be able to process the status messages received from CUCM. Has anyone written such an app? Ideally, the app would be able to auto-fill the username from the Window's credentials and ask for the PIN which would be saved for the next login and only ask the user for it again if CUCM returns a login failure.

Here is a link with information about the Extension Mobility API.

http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/devguide/8_0_1/em.html

Mark

I have worked a small test for this exact same scenario.  It's basic, but it's workable.

http://www.youtube.com/watch?v=D0K1OcYs338

This could certainly be improved upon.

Possible Enhancements

  • Sniff SCCP Heartbeats to determine device name automatically (currently a manual configuration)
    • This may require something other than WSH/VBScripting, such as Python or Ruby
  • Allow for modifcation of the username, just incase the windows login is not the same as the EM username.
  • Allow saving of custom username, or PIN for next login (user profile specific)
  • System tray icon with: preferences, status messages, and logout functionality
  • Look into EMCC - I have no idea how this applies, and as of right now I think this only works with EM (no EMCC)

I don't link the source code in the youtube video, but I will post it here as soon as I get to my personal computer.

EDIT: Source is now attached

Anthony,

Thanks for the info. Did you have to install the callmanager certificate on your PC? I was thinking this was a requirement to communicate with callmanager. Because of this, I was thinking it would be preferred to have a server communicating with callmanager and an app client on the user PC communicating with the web server. That way there is only one place to maintain the certificate for x number of users. I could be wrong about this.

Ideally, the web service on the server would query the user's PC, to see which phone it is connected to, using CDP through an activeX control if possible. It would also use the last used username along with the learned phone name (SEP+MAC) and query callmanager to determine if the user is already logged into that phone. If so, it would just minimize into the notification area.

If the user is not logged into that phone, then it would log the user in to the attached phone using the last stored username / PIN that the user supplied to the app and then minimize.

If a different user is logged into that phone, it would log that user out and then log in the current user.

If there is a login failure message during the automated login, it would then prompt the user for username/PIN instead of minimizing to the notification area.

I feel so, bad about requiring agents to log into their phones, but because of the current requirement, I have to do it this way. It is no picnic typing your username using the key pad. I would love to automate this for them.

NOTE: If the callmanager certificate is required to be loaded on the user's PC, I'm sure the Window's admins could push it through group policy.

I run a vanilla CUCM installation and no, I don't install any certs on the PC.

If all you are worried about is the Agent typing in their username/PIN, you coudl write a proxy that only asks for phone extension.

See here:  http://www.youtube.com/watch?v=-kN2xOYK3M8

Anthony,

Can you explain how the proxy works? I saw in the video that you entered the extension 1001 which is the extension of the phone being logged into. Once you authenticated, you had extension 2001. How did the proxy determine which user was logging into the phone and which profile to load?

Thanks,
Mark

About that...

MARK BAKER wrote:

I saw in the video that you entered the extension 1001 which is the extension of the phone being logged into. Once you authenticated, you had extension 2001.


I wasn't forward thinking enough when I made the video, and I state in the videos comments:

** UPDATE: I realize that logging in with extension 1001 as opposed to 2001 could seem confusing. Just focus on the fact that it worked, and not what I typed in. I don't feel like remaking the video just to login with extension 2001. Sorry!

So, the way it works is by utilzing two things:  AXL API and EM API.

The AXL API is simply a way to query CUCM to find out what user has the given extension setup as their primary enxtension, so that you can translate it to a username.

The EM API allows you to use a special user account, called the EM proxy account, which allows you to login any user on their behalf.  A good use case for this is a hotel with preferred guests.  When you check in at the front desk and receive a room key, the computer system send an EM proxy request to login your UDP to the phone, so by the time you walk in to the room, the phone has your name on it, your speed dials, etc.

The glue that holds this all together is a custom web service that sits inbetween the phone and the CUCM, and proxies the phones EM login/logout requests.

The flow looks like this for a login or logout:

Phone -> HTTP -> My Web Server -> AXL/EM API -> CUCM

Then CUCM instructs the phone to perform the requested action.

Michel Shuqair
Level 1
Level 1

Hi Mark,

We created a client application (also available for thin clients) that allows you to automatically login your attached Cisco phone, based on your Windows login credentials.

For more information see also https://www.rsconnect.net/en/solutions/documentation/alm-documentation/

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: