Hi Guys!
In
my last blog post we took a look at Cisco MediaSense, a quick method of getting some very rudimentary call recording (This isn't what it's intended for, since it has very little indexing capabilities, it's really meant as central storage for recording, but in a pinch it will work)
For me, the motivation of setting up Cisco MediaSense was to get Video Voicemail greetings going in Unity Connection, according to a recent
Cisco Champions podcast on unity connection this is just step one towards full video messages in unity!
OK, Let's get to configuring
First, like any recipe, best to list out the ingredients first:
- You will need a 10.5.X chain of Unity Connection (I am running Version 10.5.2.11900-3)
- You will need Cisco mediasense installed and configured as per my blog post
- Communications Manager 10.5 is kind of important too :p
- You will need some sort of client that can do Video, I used Cisco Jabber but I am sure a 8945 or another appropriately configured Video Device will do the job.
- This blog post assumes you already have your integration between Unity Connection and Communications Manager working correctly, According to the design guide this must use SIP (To be honest, you should be using SIP integration to Unity Connection anyway)
There are some more specific requirements around latency between MediaSense and Unity Connection, your region configuration and some vCPU settings (it claims you need 7 vCPU's, I personally didn't need to give my MediaSense server anywhere near this many, but it's something to check if your having issues)
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/10x/design/guide/10xcucdgx/10xcucdg070.html
First, since we are probably already logged into CUCM, we need to create a user that Unity can use to talk to Mediasense, this is done by creating an end user under the end user page. You don't have to worry too much about the permissions, Standard CCM End User should be more than enough permission.
Once you have created this user, login to MediaSense and assign this user as a mediasense API user:
OK, that should be the sum of all our mediasense configuration, what a relief! There is something in the design guide that talks about creating a blanking file to stop the video "freezing" on certain clients, to be honest I didn't have this issue so I skipped this step but if you are having problems with the video freezing at the start of the call or the end of the call check out the design guide for instructions on how to resolve this issue.
Let's login to Unity Connection and get this setup.
The first step in unity connection is to make sure your Class of Service for your intended video users is set to allow video, scroll down until you see "Enable Video" and ensure you check the appropriate boxes, click save and make sure this applied to the users you want to have Video Voicemail.
Next, let's create the video service, scroll down on the left hand pane to Video -> Video Services
Simply give the service a display name, the IP address, and the user we configured as a mediasense API user previously, that's it! I personally also checked the "Allow Self Signed Certificate for Video Server" because I don't have a proper PKI infrastructure configured, in production you should get into the habit of doing your certificates properly, see my blog post on PKI with CUCM.
Once you have saved this configuration, you will be reminded to restart the Unity Connection Conversation Manager as well as upload the certificate from the MediaSense server to the tomcat trust store on Unity Connection, I am not entirely sure if the "Allow Self-Signed Certificate for Video Server" checkbox makes this unnecessary, but I chose to upload the cert to the store anyway, so let's go through how to do that.
First, go to your Media Sense server and display the certificate, in Firefox this is done by clicking the Padlock icon next to the URL:
This wil display the security page, Click on View Certificate, then click on the details tab and click export. Save this somewhere on your PC.
Next, in unity connection, in the right hand drop down panel, select "Cisco Unified OS administration" login and then select Security -> Certificate Management
Next, click "Upload Certificate/Certificate Chain" and navigate to the file you exported previously, the purpose for the certificate should be tomcat-trust:
Once this is done, go ahead and restart the Unity Conversation Manager (I personally reset my entire unity connection cluster at this point, since it's non production/lab so I thought, why not?)
OK. Now we should be able to press the test button on the video service and make sure everything is OK. Go back to unity connection administration, select your video service you created previously and click "Test"
Hopefully your output looks something like the above!
OK, Next we have to make one more change to our user to enable him for video services, you could do this using bulk edit for a bunch of users, OR you could put it into the voicemail template so as you create users this setting will be automatically selected.
Go to your user in Unity Connection and Select Edit -> Video Services Account, then click add to assign this video service to this user.
OK! Thank goodness you should now be done and dusted. Let's test it!
Ring your voicemail number using jabber, When you first ring the number your video will show as disabled, or that the other end is not sending video:
Don't worry! This is normal, the video will only enable as your recording your greeting, (SIP will send an updated SDP message).
Once you get to the part in Unity Connection of setting up your greeting you will find that the session changes to support video. Obviously don't forget you will need a webcam if your using jabber so make sure that is working to help avoid troubleshooting an issue that doesn't exist ;).
I hope this helps someone out there!