Step-by-Step Guide to Configuring Extension Mobility

In my day job, I support a company that has extension mobility configured across many locations. We see a variety of problems that occur - mostly from misconfiguration (we didn't install it :) ). The following step-by-step guide is a great checklist if you're unsure about an existing extension mobility configuration, or if you are planning to install extension mobility for the first time.

The video below from SampleFive does a very good job of illustration the steps listed.

Verify Extension Mobility Service is Running

Note:  I've also seen where multiple call managers are being used to register phones, however, the Cisco Extension Mobility Service is not active on all servers.  Watch out for this.
  1. From the Navigation menu select Cisco Unified CallManager Serviceability
  2. Select Tools > Control Center – Feature Services
  3. Make sure that the Cisco Extension Mobility service shows status Activated

Configure Extension Mobility Service

  1. From the Navigation menu select Cisco Unified CallManager Administration
  2. Select Device > Device Settings > Phone Services
  3. Click Add New
  4. In the Service Name field, type Extension Mobility
  5. In the Service Description field, type Login and logout service
  6. In the Service URL field, Enter the following URL: 
    • http://:8080/emapp/EMAppServlet?device=#DEVICENAME#
  7. Click Save
Modify Enterprise Parameters to Reflect IP Address of CallManager

  1. Select System > Enterprise Parameters
  2. Under Phone URL parameters, change all fields from CCMNAME:8080 to IPADDR:8080.  Change ONLY your existing server name to the correct IP address.
  3. Click Save
  4. Click Ok from the pop-up warning.
  5. Click Reset
  6. In the pop-up window select Reset
  7. Click Close
Create a Device Profile Default for Each Phone Model (using Cisco Extension Mobility)

  1. Select Device > Device Settings > Default Device Profile
  2. From the drop down list, select the phone model to be configured, for example, Cisco 7960.
  3. Under Description, enter a description of this profile.
  4. Under Phone Button Template, select Standard 7960 SCCP.
  5. Click Save
  6. Repeat for each model phone to be configured
Create Device User Profile for a User

  1. Choose Device > Device Settings > Device Profile and click Add New.
  2. From the drop down list, select the phone model to be configured, for example, Cisco 7960
  3. Click Next
  4. Enter a Device Profile Name, for example “Your Name” .
  5. From the Phone Button Template field, select Standard 7960 SCCP.
  6. Click Save.
  7. On the left hand side of the screen, click the link Line [1] – Add a new DN.
  8. Choose a valid DN from your internal dialing plan for the location, enter that DN in the Directory Number field.
  9. Under Route Partition, select your city’s Headquarters Partition.
  10. Under Directory Number Settings choose a CSS of appropriate access.
  11. Enter any Call Forward and Call Pickup Settings as necessary.
  12. In the Display (Internal Caller ID), enter the User’s name.
  13. Click Save.
  14. From the Related Links: menu, select Subscribe/Unsubscribe Services.
  15. In the Select a Service, select Extension Mobility, then click Next.
  16. Click Subscribe.
  17. Click Save.
  18. Repeat for any additional lines.
Associate User Device Profile to a User

  1. From the menu, select User Management > End User.
  2. Click Find
  3. Select the user from the list that matches the profile that was created.
  4. Under Extension Mobility > Available Profiles, select the profile and move it to the Controlled Profiles selection.
  5. Under Default Profile, select the profile.
  6. Click Save.
Configure and Subscribe Cisco Unified Ip Phones to Service and Enable

  1. Select Device > Phone from the menu.
  2. Select the phone from the list of devices.
  3. In the Related Links: field, select Subscribe/Unsubscribe Services and click Go
  4. In the pop-up window, under Service Information, in the Select a Service pull down menu, select Extension Mobility.
  5. Click Next
  6. Click Subscribe
  7. Click Save
  8. Close the pop-up window.
  9. Under Extension Information, check the Enable Extension Mobility box.
  10. Under the Logout Profile field, select – Use Current Device Settings
  11. Click Save.
  12. Click Ok from the pop-up warning.
  13. Click Reset
  14. In the pop-up window select Reset.
  15. Click Close.


  1. This is so wonderful! I was just hired as an "Infrastructure Specialist I" and this helps immensely in understanding this procedure.

    I setup my first extension mobility, TODAY!

    I will be checking this awesome blog everyday to help me in better understand my job.

    From the bottom of my heart, THANK YOU!

  2. I'm glad that it was helpful to you!

  3. hi dave .. i followed all but it is loading device profile extension not the user extension .. any idea what i am missing.. each user has its own extension but when extenion mobility launches the user gets different number

  4. This Blog is great. The explanation is great.


  5. Thanks for the kind words, Tortuous!

    Jatin, it's hard to tell without much more information - but I'd verify that the DN within the Device User Profile is correct and the correct phone model was selected throughout.

  6. Hi Dave, Great post.

    Just need help if you have time.

    we already have a big cluster, and the extension mobility service is activated on Publisher. But sometime due to Tomcat service publisher doesn't response EM request. So we need to activate the service on subscriber. As per my understanding following steps will be ok

    1. Disable EM service on Publisher
    2. Activate EM Service on Subscriber
    3. Update IP in EM service under service configuration with subscriber IP
    4. Click on update subscription
    5. Save

    however I have following query

    1. Do we need to update Subscriber IP in service URL under enterprise parameters
    2. Can we run EM service on TFTP Server?

    Thank you in Advance

  7. First, I'd suggest that EM service is running on all servers that are registering phones. (including the TFTP server if that is being used to register phones; however, if the cluster is large enough, the TFTP function and call registration functions are normally separated)

    Secondly, if Tomcat is behaving erratically, it may be worth a call to Cisco TAC to see if you are hitting any of the known bugs.

  8. Dan,
    Have to admit you're a good engineer/blogger
    You have very good explanations.
    Very easy to understand!

    I have compared alot of blogs but you are good

  9. Great post!
    I have created an application to allow remote login of a user has extension mobility activated on their account.
    Tested and works with CUCM 8.5 but not tested with older versions.

    Simon Leigh

  10. Hi Simon, great tool, however I still need to enter my phone id, MAC address and server address.
    Are there any applications available who can do all this automatically? I have a lot of flex users, sharing desks, so they need to enter their MAC's everytime when changing a desk.
    Also my users keep forgetting their PIN's, forgetting to log in and therefore are not reachable.

    do have a (paid) alternative?

    thank you in advance.

    Henk van Dam

  11. That's cool stuff. Very helpful.

  12. Pls, I will try this out. Can you state how to access and configure the user ID and PIN to be changed by individual phone users after their first login with default credentials?

    1. I would suggest that you refer to the CUCM Administration Guide for the version of CUCM you are using. There is an entire chapter devoted to "User Management Configuration".

      Here is a link to the CUCM 8.x Admin Guide:

  13. I have tried all the steps mentioned by you. but when I click on the IP Phone Services (7941). It is not able to select Extension Mobility

    1. Niyadh, You have to create new the option for Extension Mobility (the first time).

      -From the Navigation menu select Cisco Unified CallManager Administration
      -Select Device > Device Settings > Phone Services
      -Click Add New
      -In the Service Name field, type "Extension Mobility"
      -In the Service Description field, type Login and logout service
      -In the Service URL field, Enter the following URL:
      -Click Save

      I've also embedded a video by SampleFive that shows this configuration quite well.