09-11-2014 03:40 AM - edited 03-19-2019 08:36 AM
Background: we have an existing CUCM/CUC 8.6.2 setup with single inbox configured with our on-premise Exchange 2010 servers. This is working successfully for around 2.6k users. We're in the early stages of migrating users from our on-prem Exchange to hosted Office365. I've successfully configured a new Unified Messaging Service for O365 and configured this manually for a small number of users who have migrated to O365 and observed successful inbox synchronisation.
I now need to change the ~200 users who have migrated to O365 over to the new Unified Messaging Service. Reading http://www.cisco.com/c/en/us/support/docs/voice-unified-communications/unity-connection/116049-qanda-unity-connect-bat-00.html I see that I can use BAT to delete their existing Exchange Unified Messaging Account and subsequently create a new one using the new O365 Unified Messaging Service. This is acceptable as a one-off task to move over my users who have already migrated to O365 but is not workable for the ongoing migrations that will occur over the coming months as we move up to 100 users a night. I need to be able to automate this process but am having trouble finding the right CUPI functionality.
Problem: Looking at this http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_User_Unified_Messaging_Account I can use CUPI to edit or create a Unified Messaging Account for a given user, but not delete an existing one. As I need to delete the existing Exchange account before I add the O365 one I don't see how I can do this all through CUPI.
Is it possible to delete a Unified Messaging Account from a user using CUPI or does it need to be done via BAT or manually through the web GUI?
Is there another route to do this through SQL?
Solved! Go to Solution.
09-11-2014 05:20 AM
I haven't tested this but you give this a shot with one user,
The delete operation is normally replacing the GET with DELETE. Once you get the user objectid and the externalserviceaccount object id you can use the delete operation. Try with one and see if that works.
DELETE https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts/<objectid>
I can give you a few CLI queries but that can cause issues if not done correctly. BAT is the preferred method.
HTH
Anirudh
09-11-2014 05:20 AM
I haven't tested this but you give this a shot with one user,
The delete operation is normally replacing the GET with DELETE. Once you get the user objectid and the externalserviceaccount object id you can use the delete operation. Try with one and see if that works.
DELETE https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts/<objectid>
I can give you a few CLI queries but that can cause issues if not done correctly. BAT is the preferred method.
HTH
Anirudh
09-11-2014 05:38 AM
Thanks Anirudh, that worked great from the command line using curl. Now I'll wrap that into a script.
12-03-2014 08:20 AM
Thanks for the suggestions ~ I'm able to list the ExternalServiceAccounts and delete them, but haven't found the secret sauce for creating a user. The wiki page has a heading for "Adding A User" but uses a series of GET commands to get an existing account. I thought maybe a "PUT" with an XML payload of options would work, but just get a "method not allowed". UPDATE: Turns out that the method needs to be "POST", not "PUT". All better now! :)
Anybody have a URL format and XML that works for creating a new ExternalServiceAccount?
Thanks! :) Derry
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide