Lync 2013 has the ability to record IM’s, meetings, and conferences. IM gets recorded either by the archive server or by the user in their conversation history. Meetings and Conferences require the user to initiate and then manage the subsequent recording. But it requires that the user to start the the call, then start recording, then after the call - manage the recording, and in the end, remember to do all that each and every time this action is required.
What if you have a compliance issue imposed by regulation or law, or a business requirement that dictates recording all voice conversations? Are you going to leave that to the users? Do you need to be able to do admin-level automatic recording of just SOME users? Or maybe just the users in Sales or maybe Production? There are a few solutions that meet these requirements and have enough granularity to give the system administrators the tools to accomplish the job with a minimal footprint.
This article will look at one of those solutions: AudioCodes SmartTAP. You can read the AudioCodes marketspeak here. Here is a cut from that page, where the high level overview is given:
AudioCodes SmartTAP for Microsoft Unified Communications (UC) is a certified and secure call recording solution that enables the recording of key business interactions within a Microsoft Lync environment. Built on proven technology and leveraging years of experience in developing and integrating call recording solutions, SmartTAP is compatible with VoIP, TDM, and hybrid telephony environments. The solution can be easily configured using an intuitive web-based interface, which simplifies system deployments and reduces support requirements.
AudioCodes would also like you to know about the “benefits:”
- Certified solution for Microsoft Lync 2013 & 2010
- Support for dynamic codec switching including Microsoft RTA
- Record ANY call type including Mobile, Remote, PSTN & Conference
- Remote branch survivability with buffering technology
- A simple, easy-to-use centralized management web based interface
- Granular security profiles with LDAP integration
- Audit Trail monitoring
- Multiple call search criteria with customizable filtering
- Quality management with customizable and user definable evaluation forms and reports
- Live call monitoring
- Securely Encrypt media
- Record other environments in parallel (Cisco, Avaya, Analog, etc…)
And finally, you can read some more market-speak here where AudioCodes has written a short article on SmartTAP.
Let’s take a look at this SmartTAP solution from the following viewpoints: Preparation, installation, configuration, and the end-all-be-all “ease of use.”
Preparation for Installation
Preparation for SmartTap is understanding what is needed in terms of hardware and how the system works. After that you can get your resources lined up and get some installs accomplished. Take some time to read the installation guide. Getting access to that link will require you to login to AudioCodes’ site. When you get done with that, read the User Guide. Again you will need login access.
There is a need for a server. For my little test here, I ran the SmartTAP server in a virtual with pretty good results. I am sure at some point the number of calls would have required me to up the resources, but I had a good experience. Calls showed up immediately, on-hook/off-hook status reporting was as instantaneous as one could hope for given the time it takes to change screens from VM to VM.
You will also need to determine if your install is going to be all on one server, or if you are going to distribute the installation onto separate component servers. I think your projected recording volume is going to decide this. At about this time in the process, you might want to have a conversation with the friendly folks on the AudioCodes SmartTAP team.
File storage space
AudioCodes can provide you with a nice little spreadsheet to calculate storage space needed. Try not to have a mini-heart attack. Here is a sample. Observe the far right cell under the (GB).
Yes, using G.711 for those stats will result in 16TB of storage. You can mitigate that to a large degree by using G.729 for your storage, but a year of that will still be 2TB. Just a SATA drive at your local junk store, right? This is one of the reasons I always recommend getting ALL the business requirements into writing before you start any IT project. When something like this becomes a planning reality, the business requirements drive the technical solutions which drives the budget. When you present a budget that includes 16TB of storage for one system, you might want to have some reasons as to WHY. You can read a Lync project Top 10 tips here. If you do, you will note that the very first one is “define your business requirements.”
So, reducing the number of calls, average length, and number of users around to match something a bit more real-world gives us this outcome. But still, 7.9TB, and we are still needing to run down to the bodega to pick up a WD Green 2TB SATA if we use G.729.
For a little more real-world, here is the file results for two, one minute calls. You can see the file size difference for yourself.
Note that there are two files for each call. This is because SmartTAP is making a separate recording for each endpoint. Slick, eh? A little later, we are going to send ourselves a file, and SmartTAP will combine all the different files that pertain to that call into ONE file. Even slicker, eh wot?
I recommend you make up a service account for this. Add the account to the CSAdministrator Group in AD. Add the account to each server participating in the SmartTAP (includes Edges and all Pool members from any and all FE pools) as a local administrator, “login as a service right” and to the “RTC Server Applications” group.
Computer Browser Service
If you are going to be using Windows Server 2012, you are going to find that the Computer Browser Service is disabled by default. Furthermore, you are going to find that the SmartTAP wants to use the Computer Browser Service. If you are using Windows Server 2012, you might as well go enable it on all SmartTap servers now and save yourself from staring at the screen wondering why you cannot find your domain service account you so carefully created and assigned in the previous paragraph.
The install guide has some specific guidance around Antivirus/Windows Defender configuration. This is what it says to exclude:
- Media path (C:\media on my system)
- SmartTAP software location – default “C:\program files (x86)\AudioCodes\SmartTAP”
Installation and Configuration
I installed SmartTap in my lab on one SmartTAP server, two enterprise pool members, one SE, and one Edge. The basic idea is get SNMP installed and configured on all servers. The installation guide has explicit instructions. Then, go setup the firewall rules per server. Again, the installation guide has explicit instructions. The installation on the SmartTap server was pretty straightforward. Read Chapter 2 for the Lync Edge install. BEFORE YOU INSTALL.
There were three files that needed editing. The first file to edit was to get my LS2013E2 agent install to register with the EE pool correctly (C:\Program Files (x86)\AudioCodes\SmartTAP\SmartTap Lync Client\smarttaplyncsvc.exe.config). Down toward the bottom is a section called “SEED_IP_ADDRESS.” It would seem that because my LS2013e1 server already had “18.104.22.168” that the LS2013E2 server could not register. Changing that parameter to “22.214.171.124” fixed things right up. Apparently, having totally bogus IP in that attribute is what is wanted. I suppose that a third, fourth, etc., EE node would need something similar. This is actually mentioned in Chapter 5 of the Installation guide.
The second file was on the edge (C:\Program Files (x86)\AudioCodes\SmartTAP\CD-IP\Config\logconfig.xml). At the mid-bottom of this file the priority value for the logging defaults to “Warn” and I was advised to change this to “INFO” as shown. And case-sensitivity counts.
The last file that I needed to edit is actually mentioned in the install guide. C:\Program Files (x86)\AudioCodes\SmartTAP\CD-IP\Config\ac-hmp20.ini needs to have the SmartTap server IP inserted into it.The install guide only mentions the Control_IP; the nice man at AudioCodes had me change the Data_IP also.
So, installation was User account and rights assignment, possibly the Computer Browser Service (Server 2012), SNMP, firewalls, run through the install guide paying some attention to the items mentioned above, change a few files, and you are pretty much done.
After installation there are some setup steps that need to be completed before you can record your first call. You can access the SmartTAP server by going to http://smarttapIP and then use admin/admin for user and password. See Chapter 6 of the Installation Guide.
First off, you need to add your components to the system. Head into the System Button, and choose “managed devices.”
Then go to the Installation Guide page 73 and start working through the additions. For my system, SmartTAP looked like this when I got done:
I also configured for sending recordings via email.
to DAP or not LDAP
This is a question of user provisioning. SmartTAP needs to have user ID’s before it can decide if it needs to record a call. SmartTAP will allow you to do the onsey-twosey route, but with a full LDAP available, why would you want to do something else? You can go in and start adding users manually; but dang! If you have AD available, why not use it?
Setting up SmartTAP to recognize all my TsooRaD users took less than five minutes; 4 minutes was deciding how to operate the SmartTap LDAP interface. Apparently John is an idiot, because I totally missed the concept of clicking on the indicated button.
Once past the obvious “submit” button, the LDAP sucked in my directory and we had user accounts. Wala!
Once you have your user accounts by LDAP (or entered manually, it can be done), you are ready to configure the actual call recording objects by defining the user/device provisioning.
Selecting a user to record is simple. As easy as 1-2-3. Select a object from pulldown (1), select “user name” in pulldown (2), then enter their SIP address (just the name) in box (3). Click on the submit button. You are done with User 1.
Selecting the options to record EVERY call are there somewhere, but I have no idea as I had no need.
Once you have the system installed, configured, and some users configured, you can use those configured users to make a test phone call and listen to your handiwork. Here you can see that two of my four users are in a call. A qualified guess can also be made as to who placed the call. Remember that there will be two audio files recorded, one for each endpoint.
After you have a call recorded, you can take a variety of actions. After selecting a user, and a date/time range, you can search for calls that user made or received. You can also expand the call details to see who was involved. You can make notes, play it locally on your machine, download it, or email it.
Selecting the call brings up a player, and also the email and download buttons. As a side note, you will need Flash on your system to play the recording. My laptop worked just fine, but accessing the same function from the SmartTAP server itself resulted in a demand for me to install Flash. Not on MY server, bucko! Use a workstation.
After hitting the download button, and accepting the basic defaults, I was presented with ONE file – remember I said that was going to happen?
Emailing the file to somewhere is just as easy. You might need to pay attention to maximum file attachment size for a longish recording (the file shown above was 972KB delivered to my downloads folder). You will also need to configure the SmartTAP server for SMTP, and then configure the receiving SMTP server to allow you to send mail. But, very handy.
Setup and Configuration: Not too bad at all. Overall, the guides were good to excellent, the support I got was knowledgeable and friendly, and in the end, we had some issues, but nothing that we could not work through in just a few clock-cycles. I think that from start to finish, including building a new VM to be the SmartTAP server, my total time investment to include having recordings was about four hours. To my detriment, I read the install guide AFTER I started. Ooops.
Admin Usage: The UI is a little…different, but nothing horrible. I got used to where to find things quickly. And once there it worked as expected. The searching for calls feature could be tweaked a little, but that could be just me. I do wish the dates would not change to be today and this time. The Lync Monitoring Server Reports are the same way and it drives me crazy. Listening to recordings, downloading the recordings, and emailing the recordings worked very well.
I can see myself recommending this solution to a client that needs a call recording solution.