About Me

My Photo
TsooRad is a blog for John Weber. John is a Lync Server MVP (2010-2014). My day job is titled "Principal Consulting Engineer" - I work with an awesome group of people at CDW, LLC. I’ve been at this gig in one fashion or another since 1988 - starting with desktops (remember Z-248’s?) and now I am in Portland, Oregon. I focus on collaboration and infrastructure. This means Exchange of all flavors, LCS/OCS/Lync, Windows, business process, and learning new stuff. I have a variety of interests - some of which may rear their ugly head in this forum. I have a variety of certifications dating back to Novell CNE and working up through the Microsoft MCP stack to MCITP multiple times. FWIW, I am on my third career - ex-USMC, retired US Army. I have a fancy MBA. One of these days, I intend to start teaching. The opinions expressed on this blog are mine and mine alone.

2015/01/19

Lync Server 2013 Cookbook

A new book on Lync Server 2013 is coming out soon.  This book is done up in different categorical task headings so you don’t have to read the entire book to find something useful.  Need some security pointers?  Head to chapter one.  Need to figure out some Enterprise Voice details?  Chapter three might just have your answer.  I found chapter nine to be a personal favorite.  And chapter 12 is a must read for anyone associated with any aspect of supporting Lync 2013 or 2010.

Here is a list of the chapters:

  1. Security
  2. Authentication
  3. Dial Plans and Voice Routing
  4. Integration with Exchange
  5. Tools and Scripts
  6. Designing Lync
  7. Resource Forest
  8. Hybrid and Lync Online
  9. Monitoring and Reporting
  10. Backup and Restore
  11. Controlling your Network
  12. Debugging

This book is not out yet; what I reviewed was a pre-copy provided by one of the co-authors, fellow Lync MVP Fabrizio Volpe. The author list, if you are curious:  Alessio Giombini, Antonio Vargas, Fabrizio Volpe, Lasse Nordvik Wedø. 

All in all, great stuff.  You can pre-order your very own copy here: 

https://www.packtpub.com/networking-and-servers/lync-server-2013-cookbook

YMMV

2015/01/14

Lync RGS Queue Monitoring with Advatel Espera

Lync Server, in the midst of everything it does so well, is not a call center.  But, Lync does not want to be a call center – that functionality is well provided by a raft of third-party ISV-types who specialize in providing Call Center services or software.  But when you look at those specialized services and software, what is missing is the immediacy of the small group, and what is present is a hefty price tag.  To answer the smaller need, Lync Server offers the Response Group Service.

One of the key features in call center software is the ability to monitor the actions of the various agents and groups to ensure that calls are being handled in a timely manner – in other words – allow business decisions to be made with actual data and not guesses.  But there is nothing built-in to Lync that matches this ability. The Lync 2013 Resource Kit RGAgentLive tool – part of the Lync Resource Kit – does not answer any of these questions.

Lync Response Groups offer a small-case solution; from one or two RGS workflows or dozens – and I know of organizations that have, literally, hundreds of Response Groups workflows. However, once you have decided to use Lync RGS, and you have business critical operations that use the RGS, how do you monitor the performance and response of the RGS?  And what if you have more than a few that you need to monitor?  How can you tell if the agent groups are responding to the RGS calls in a timely manner?  How can you decide if you need more agents to handle the call volume?  How can you determine if you are meeting your performance metrics or who is doing what?  Are your agents even logged into the system?  Are they being good RGS answer people?

Advatel Espera

In this article, we will take a look at how Advatel Espera helps provide answers and information it can provide to organizations who are using Lync Response Groups.  First off, here is where you can get the official market-speak.  In reading through that material, you will realize that Espera has two components, the real-time monitor, and the reporting piece.  Personally, I was first interested in the reporting piece, because, face it, the Lync monitoring server reports, while it does have all the information that Espera uses, is not exactly what is known as “user friendly.”  In the end, I liked the real-time monitor aspect just as much as the reporting.

Here is the official blurb straight from Advatel:

AdvaTel is a Microsoft ISV and TAP development partner where Espera is a Microsoft Lync ISV Qualified Solution which will provide enhanced real-time dashboard display and reporting by leveraging on the built in features of Response Groups without adding any additional hardware. Lync has some excellent call queuing capabilities within their Response Group technology. They provide for inter-flows and over-flows etc. and a number of call routing capabilities. The problem is that the “missing link” was users cannot “see” the queue status. Hence the critical and vital need for Espera Real Time and Espera Reporter.

Server Setup

Espera has two major components, and a client-side install.  In the client-side install, there is a separate Lync 2010 and Lync 2013 installer.  The server setup is very straightforward.  The documentation for the install is extensive, heavily reliant on screen shots; and if you cannot follow along and get your server installed, then you need to find a different profession.  Really.  The documentation even covers using 2008R2 and 2012 and the differences.  Two thumbs up to whoever put together the documentation for the server install.

You will need to have a server upon which to install the Lync Server Core components – an application server if you will.  I used a 2012 R2 virtual and had zero install issues.  The application server needs to be listed in the Lync Topology as Trusted Application Server.

image

Part of the server setup is to configure permissions on the LcsCDR, Rgsconfig, RgsDyn, RTC, and XDS databases on whatever SQL server you have setup.  The install documentation does not cover SQL 2012 R2, so you may have to read between the lines a bit – however, I got it done with minimal effort.

image

Once you get the server installed, the configuration to match up with your Lync environment is also straightforward.  There are some highlights… in my case, the “Auto Configuration” did not work so well.  This necessitated a short period of me flailing away trying to figure out just what went wrong.  Not finding any obvious error, I cleverly turned to Espera support. 

Here is what I was seeing:

image

As it turned out, the answer was staring at me… the “Lync Address (or DNS)” auto-filled to the SQL server that held the LcsCDR, which looked OK to me; turns out that field is very literal – it needed to be my EE pool FQDN.

image 

Once past that little blip, things were copacetic.  Note that the “Printer Service” is failing because, duh!, there is no printer installed. 

Two nice things about Espera. First, Reporting has the ability to send email reports via schedule or on demand (by scheduling a one-time report).  I had a bit of an issue getting that to work – turns out that the email server setup does not need to have user credentials, if you put them in there and don’t hit the check box, the SMTP process won’t kick off. If you configure it like this you should not have any issues.  I am assuming you know how to authorize Exchange (or some other SMTP server) to receive email from specific IP addresses… you also need to include your allowed email domains.

imageimage

The second nice thing is a feature not found in Lync at all – a wrap up option – which gives the agent handling the call an opportunity to classify the call on termination.  Handy, and more on that later – but you need to tick the check box on the server to get that feature enabled.

image

Client-side setup

So, the host server is built (or you used an existing server), Espera Server is installed, now let’s look at the client-side work.

If you use Lync 2013, you can skip a bit.  But if you use Lync 2010, you will need to make a few mods to a config file. 

Here is the configuration file change details.  Even I got it done on the first try.

Change Espera Client Communication Type
1. Open the "EsperaClient.exe.config" file located at 
"C:\Program Files (x86)\Advatel\Espera Client\bin\EsperaClient.exe.config”. 
NOTE: You may need to open this file with administrator access so that you can save the
changes.
2. Change the value of 
<add key="TcpRemoteServerAddress" value="0.0.0.0" /> 
with the FQDN or IP Address of the Espera Server.
3. Change the value of 
<setting name="CommunicationType" serializeAs="String"> 
from
<value>Lync</value> 
to
<value>TCP</value>
4. Save and close the "EsperaClient.exe.config" file
5. Close the "Espera Real-time Window" (if open)
6. Exit the "Espera Client Launcher" from the system tray (icon near the clock)
7. Start the "Espera Client Launcher" from "Start>Programs>Espera Client"

I also had some issues getting Espera components configured and installed, but those issues were purely on the odd workstation environment I have in my lab.  It turns out that the .net4 installer included with the Espera Client did not like running on my workstation from inside the zip file.  And then the .net4 installer did not like running outside of the zip unless I invoked it from a cmd session using explicit runas /user:administrator.  No, the workstation is NOT a domain member – which may or may not have contributed.  FWIW, the workstation is a Win7x64 virtual.  But, no matter, in the end I leveraged my good looks and excessive charm and overcame the evil operating system.  My Win8.1 Lync 2013 client installed without issue.

Espera places a sidecar on the Lync client.  Without going into morbid details of what is what here is the Lync 2013 client running on a Win8.1 and this example is the Espera system administrator account:

image

Here is the Espera client, this time on Lync 2010, running as a regular RGS agent – not and administrator.  Notice the difference in the number of Espera buttons available to each level of user.  Chicken.Hawk has administrative and supervisor functions lit up, and the other account does not.

image

Also note that the client functions are covered in the Espera documentation, so I am not going to go over all of them here.  But I will note that the two “key” looking buttons will change function depending on the RGS itself…is the RGS workflow formal or informal?  If informal, when the Lync client signs in, the Espera client will just log into the RGS monitoring functions as well.  If the RGS is formal, the buttons serve to allow the agent to manually sign-in/sign-out.

Your RGS agents might well be working remotely – not a problem. Espera will cross the Edge server.

At about this time, you should probably realize that I am not going to start quoting 100+ pages of user documentation.  However, we are going to look at some basic configuration – and that is done using the aforementioned administrator/supervisor login.  You should get ahold of the user documentation – there is some serious configuration that you can do to customize Espera real time, and reporting, so as to get the most out of this product. However, I cannot find anything out in the wild that you can download so you could read and follow along here.  I suppose you could register for an account up on advatel.com.au.  But I did that and did not see the user guide available.  You can contact this email address to get the Espera documentation: espera.support@advatel.com.au

Here is my administrator real-time display:

image

I only have two RGS workflows in my lab, so the results are a bit sparse.  However, here is the configuration screen options – you can see that a full implementation could easily have a full screen of RGS monitors – and you can get this up on a large screen up on the wall – just like in a call center.

image

Here is my other RGS agent looking at a different view.

image

You can color code things so the supervisors can see at a glance that something might be amiss.

image

Espera Reports can be emailed, either on demand, or on a schedule.  The reports can be in CSV format for you to play with, or they can be in xps format for immediate consumption.    The reporting has some canned reports, but some inventive person can also create custom reports. Here is an example – in this case the agent wrap-up report where the agents can classify the call when the session is complete.

image

Conclusions

Lync 2013 has a Response Group Service that can function as a quasi-light-weight call center.  Because of the expense and complexity of full-blown call center software or services, the RGS is perfect for some environments.  Suppose you have an IT help desk with 6 agents, and you want to keep track of performance and enable the agents to be more aware of what is going on with their primary job function.  Advatel Espera might well be the tool for you.  Easy to install, customizable, and enables management and agents alike to better tune their performance.

The server side install was fairly painless, and running on minimal (by today’s standards) resources.  The client-side install was, for the most part, easy-peasy (outside of my wacky Win7x64 workstation). My experience with Espera support was excellent, and Advatel responsiveness to my idiotic questions and naive product suggestions was refreshing. 

I have not done this Lync add-in tool justice in this review.  My lab only has two RGS workflows, and I have a limited number of resources to use as agents. Accordingly, here is a three minute video, and if that whets your appetite just a little, I suggest you contact Advatel and get a full demo. 

The demo I saw was very good, and if I had RGS like some of my clients, I would be taking a long look to see if Espera would fit in and help solve my problems. This is a Lync add-in that I can recommend.

 clip_image001

YMMV

2014/12/22

Lync analog device off hook dial (AutoDial)

Do you want your analog devices to dial out to the world? Do you need to have your analog device do off-hook dialing?

Both of these issues came up on a recent project.  If you are using 3PIP/OIP phones such as Polycom VVX or AudioCodes HD4xx, then fellow MVP Anthony Caragol has an outline for you.  But what about that phone in the parking lot?  Or the phone at the security fence?  Or the elevator?  Or the emergency phone in some other secure area?  Or maybe you have a door system that needs to dial just one number when a user takes the phone off hook?

We have outlined two different requirements here, and outside of using a Lync Optimized phone, the analog solution is the same, with a twist to make the device work to the outside world (outside of Lync).

First you will need a gateway.  For this exercise, I used an AudioCodes MediaPack MP118, and then validated the solution against an AudioCodes Mediant 800 E-SBC with FXS ports.  In this article, I will show the MP118 configuration.  I tested the solution using my Tsoorad.net lab, an Intelepeer SIP trunk, and I used two el cheapo AT&T 210 analog phones that I purchased at the local bodega.

The purpose of the gateway is to connect the analog phone device to the system and then transcode the analog device to SIP codecs for use with Lync.  The gateway needed some tweaking to get the connections to work – notably, I not only wanted the device to work with Lync, I wanted the devices to be able to call one another in case your (example) elevator needed to call the security desk which for some reason was still on analog. 

And once I got past that hurdle, I then wanted the analog device to be able to call anywhere allowed by a voice policy, to include the off-hook dialing being able to contact a third-party security provider if necessary.

Setup

So, here are the elements needed:

  • an analog phone or phones
  • a media gateway of some description
  • Lync voice policy
  • Lync analog device configuration
  • Some method of connecting Lync Server to your PSTN provider (I used a SIP trunk as mentioned above via an SBC)

Here is how it looks:

image

Configuration Tasks

This is what it takes, configuration-wise, to accomplish our goals:

Determine what LineURI the analog phones will use, and if you are going to assign full numbers to the analog ports or just an extension.  I am doing 4 digit extensions.  My two analog devices will be +19992349011 (port 1) and +19992349012 (port 2).  Then get a valid IP for the gateway.  I will be using 1.1.1.9 for the MP118.

  • Setup analog devices on MP118 per port
  • Configure Proxy set zero for “prefer routing table”
  • Setup/Configure off hook dials to specific number
  • Configure analog call analog digits to dial 12
  • Setup MP118 on Lync as PSTN Gateway
  • PSTN Usage, Route, Trunk configuration
  • Configure Lync to call analog device
  • PSTN Gateway, PSTN Usage, Route, Trunk configuration
  • Configure csanalogdevice to allow off hook dials to a public number

Let’s dive in.  I will be grouping the Lync tasks together and grouping the MP tasks together as well.  The Lync environment can already call the world, so nothing is needed there.

MP118 setup

After you get the gateway plugged in to power, connected to your switch, and hook the phones up to it, the MP118 should look something like this.

image

Note:  in AudioCodes-land, at each screen, if you make a change, you need to “Submit” the change, or you will have a nice surprise later – namely, your change won’t be there like you think it should be.

Open up VOIP | Control Network | Proxy Sets Table, and modify Proxy Set ID 0 (that is zero).  You can see my pool name listed there, and the options to get the MP to respect the DSN load balancing.  Note the port assignment tacked onto the end of the FQDN.  If you don’t do that, you won’t get very far.  My method is going to leave the IP Group Table undefined.

image

Here is the SIP definitions that match my Lync environment.  Note that OOBE for the MP is to have 5060 where you see 5068.  Again, if your Lync is using 5068 (the default) for Mediation Server, then you will need to change these to match, or again, you won’t get very far.

Under SIP Definitions | Proxy & Registration, note that we are using the default proxy, but to get the analog ports to talk to each other (a bit later) we will change this a bit now, If we want to route all calls, even intra-gateway calls, to Lync, then leave this alone, or, you can set the “Prefer Routing Table” to “yes” now. If you set this, Lync will not know about the intra-gateway calls – meaning there will be no CDR for the calls in the monitoring database.

image

Moving to GW and IP to IP | Hunt Group, here are the ports defined, and you can see where I am using 4 digit extensions.

image

I think my Hunt Group Settings are the default…

image

Now look at the Tel to IP Routing.  The “Dest IP Group ID” of ‘-1’ means use the internal default.  Which is the default Proxy Set 0 because we defined a Proxy Set 0.  So, now you know why we told the MP to prefer the routing table…which is right here.

image

If you don’t do this, the MP will route ALL calls up into Lync.  If you route all the calls up into Lync, then Lync will need to be told to send SOME calls back to the MP  - so it can get to the other defined ports on the Media Pack. This might be the desired behavior if you have a need to get a record of all calls – necessary in some compliance environments.  A little bit later, we are going to be doing a configuration with Lync that will allow this loop-back routing, and if you decide to go that way, you can do away with the “prefer routing table.”

In the IP to Hunt Group Routing table, we need to tell the MP to accept incoming SIP invites from Lync:

image

You are remembering to click on those pesky submit buttons, yes?

OK.  Almost done with the MP setup.  Go to the Analog Gateway | Automatic Dialing settings.  Here we are telling the gateway that if Port 1 goes off hook, then wait 5 seconds and proceed to dial 800-468-7827.

image

And lastly, let’s get the analog phones to dial 12 digits so they can call out for pizza.  You can find the “Max digits in Phone Num” field in the “DTMF and Supplementary | DTMF & Dialing”

image

You can still dial just 4 digits, but you will have to wait for the 4 seconds defined in the “Inter Digit Timeout (sec) parameter before the gateway will stop expecting more digits and move forward.

OK, the MP is done.  Click on that Burn button up at the top and let’s move on to the Lync 2013 configuration.

Lync 2013 Setup/Configuration

You will need to define the MP as a PSTN gateway in Lync.  Without going into the grisly details shown in the hyperlink, here is my Topology Builder for Tsoorad.net:

image

After you get that defined and published, open up the Lync Control Panel and go to the Voice Routing tab.  We are going to need a few things, like normalization rules, a route definition, and a calling rule on the trunk so that Lync only sends 4 digits to the gateway.  We could define the gateway ports as full 11 digits, which would do away with the need for the called party translation, but I like to be difficult.

Here is the normalization rule that takes 4 digits that start with 90 and makes it into e.164 format:

image

Now we need to have a route.

image

and assign that route pattern to our 1.1.1.9 trunk/gateway, and make sure the local PSTN usage is associated so the route/trunk becomes an active component.

image

Moving over to the trunk configuration, we need to create a called number translation rule so that the trunk strips the e.164 down to just the four digits that gateway is expecting. You might need to create the trunk.  In my case I made a trunk at the pool level, and it looks like this:

image

image

and the called number rule looks like this:

image

At this point, Lync can call the media pack gateway ports, the gateway ports can call Lync, or each other and all is good in the universe.  But we still want the media pack gateway port to be able to go off-hook and call an outside party, right?  The reason it cannot do that now is that Lync does not know just who that user at 9011 or 9012 is, or whether or not that user is allowed to make calls to anywhere.

To get an analog device to accomplish this dialing behavior, Lync needs to have some definition.  Enter the cmdlet new-csanalogdevice.  I will wait whilst you catch up on your reading.

Now, that wasn’t too bad.  There won’t be a quiz, but just to give you a flavor of the test that COULD occur, here is my two analog devices defined in TsooRad.net:

image

Note that I defined the common name, LineURI, and maybe more importantly, the DisplayName and DisplayNumber – because once you do this, things start displaying like this in all your other clients.  I also made a point of defining a SIPAddress – otherwise you get a contact object with a GUID as a SIP address.  Not so hot.

Dialing 9011 in a Lync client shows that the call is being sent to “MP118-1” and your trace logs will show the same.

image

Big note

I started off this exercise using tel:+19992349011;ext=9011 format.  But empirically, the media pack gateway did not like getting the ext= format – it could not find a match for that.  I don’t know why.  What I do know is that once I removed the ext= format, calls went through as expected.

These two CsAnalogDevice definitions are showing no VoicePolicy and no VoiceRoutingPolicy.  Remember that we have things defined at the site level?  Well, these CsAnalogDevices will now act just like a real user.  The absence of a defined user policy will result in the object getting the automatic site settings for Voice Policy.  Because I have this set to allow all my critical test users to make any call they want, the analog devices can make any call they want also.  You may want to think through the implications of that for your environment and make appropriate changes. 

These analog device definitions are also what will perform the call loop-back function mentioned earlier.  If you need to have all your calls logged for compliance, leave off the “prefer routing table” mentioned earlier, and the gateway will send the call destined (for example) from port 1 to port 2 out to Lync.  Lync will perform a reverse number lookup, find the last four matching our 9012 definition, and place a call to that 9012.  Our PSTN usage in the default voice policy will allow passing the call to a route, in our case the 1.1.1.9 trunk, the trunk will strip the call down to four digits and send it.  When the call lands on the gateway, the gateway will look at the hunt group, find the 9012 number assigned to port 2 and connect the call.  Wala!

Summary

We wanted analog phones connected to Lync, make calls to other analog devices on the same gateway, call other Lync devices, call out to the world, and do automatic dialing as needed.  By making some judicious changes to the gateway defaults, and create some specific configurations inside of Lync 2013, we have accomplished our goals.

Footnote

This configuration may or may not meet licensing requirements vis-à-vis AudioCodes Lync Analog Device licensing.  It may also not meet some of the “best practice” recommendations that insist that Media Pack gateways always be connected to an Enhanced Gateway.  This is because some of the fancy features for Lync phones won’t work; however, my phones don’t seem to have transfer or conference call buttons, so I am not missing anything in the way of features.  You should check with your AudioCodes retailer to confirm your licensing level.

Mea Culpa

I am sure that there are many folks out in Lync-land that could do this setup in their sleep; those folks are brighter than me.  I had to consult Jeremy Silber (CDW) and Karan Mehta (AudioCodes).

YMMV

2014/12/04

Lync Conferencing Cost Analysis

I think that I can confidently say that 100% of my Lync deployments (and most of the OCS deployments) contained the concept of using Lync web conferencing; most times with dial-in conferencing.  The idea is that the organization can save money by replacing an existing solution.  But most times, the organization has little or no idea how much, and why, they can realize savings.

So, here is some real data to digest, tear apart a little, and see what and where we can generate some savings.  This data comes from a company of about 3500 users.  So keep that in mind as we work along.  A smaller organization will have smaller numbers, larger organizations will have larger numbers.  I have customers whose conferencing minutes run in excess of 7 figures each month, and they don’t just squeak over 1 million, they run in the several million per month. 

A bit farther down, I make a fairly broad assumption that our imaginary organization could implement Lync for $60K.  Before you poo-poo that number, do some math on your own for an Enterprise Pool of three Front End servers, two edges, a SQL server, a Web Access Server, and we’ll be nice and assume load balancers can be used for Reverse Proxy and that the load balancer already exists.  Go ahead and do some figuring.  Make sure you pony up for about 160 hours of consulting, because you will actually save money doing that also.

Because not everyone will have the same cost basis for things like hardware, software, labor, services, and a whole range of stuff, we are going to ignore those concepts in this analysis, and just focus on service replacement and cost avoidance as it applies to the usage of the services, not what is costs to put the services into place.   We will use a flat cost assumption down below to represent this cost category.

Let’s Begin

So first we need to understand the data. I did not just dream this stuff up; I got this data from a real life deployment, with real life users, doing real life tasks.  I used Lync’s monitoring server and related reports to generate a summary of conferencing data over a 30 day period.

image

and

image

Based on the data given for a one month period, and then comparing the data with the report descriptions for Conference Summary Report in Lync Server 2013 and PSTN Conference Summary Report in Lync Server 2013 we can reach several conclusions.  Before we talk about conclusions, we will wait while you complete the reading.

First off, the PSTN usage reports appear to be a subset of the Conferencing data on one hand, but then appear to be totally separate data on second look.  For instance, both reports have a column for “Total A/V Conference minutes.  For the Conference Summary Report, this value is 85,572, for the PSTN report, this value is 72,135.  OK, so PSTN appears to be a subset of Conference Summary.  But wait, maybe not!  In your reading assignment up above, note that both reports have this data, and that both describe the data to be the same.  Should this be the case, then we could expect both reports to have identical data, yes?

Name

Can you sort on this item?

Description

Total A/V conference participant minutes No

Total amount of audio/visual participant time. For example, if one participant spent five minutes in an A/V conference and another participant spent three minutes in the same conference, the total A/V conference participant time would be eight minutes.

But such is not the outcome we see.  In fact, the two fields differ, in our data set, by over 28,000 minutes.  The difference is to large to be dismissed as a rounding error; clearly, there is a separate set of data being represented, OR, the descriptions for each report are wrong.  Digging in a bit deeper, we can find two days where the data indicates that the PSTN report reflects those conferences that INCLUDED PSTN connections; therefore; the number in the PSTN report are, in some cases, the same as the Conferencing Summary, and in other cases are just PSTN minutes.  Confusing, but there you go.  But still, understanding the layout of the data enables us (finally) to make some (semi-) educated judgments on what the data means for our business cost and how your organization can save money by using Lync for conferencing.

OK, here is the data in question, and yes, it is an eye-chart:

 image

What’s the big deal?

Conferencing hosts charge per subscription, per connection, and for the minutes per user. This means that when someone creates a conference they need a subscription that allows them as a user to create the conference, then each user who connects to the conference incurs a connection charge, and then the clock starts on everyone, individually.

Per user charges run all across the board, so we won’t attempt to quantify that; suffice it to say that it can run from zero to about $0.30.  A 10 person conference just cost $3.00.  And per user minutes can run relatively cheap to 5-10 cents per minute.  Clearly there is money to be made, or saved.

After consulting with my friends at Intelepeer, I think you could get the per minute cost down to $0.015 per minute.  And if you go with a toll free number on a negotiated plan of some sort, you may just be paying for the minutes.  Seeing as how most organizations already have a SIP trunk in place to provide the PSTN connection, we can ignore that cost as well because the cost is already sunk to provide regular calling services.

We can see from the data that a majority of the conference minutes (208k of 314k) were PSTN minutes.  Maybe some user training would result in more Lync conference joins to avoid those minutes, eh?  But still, if we have a $0.02 per minute rate for each participant, and assuming a $0.05 rate from a popular provider plan, we just saved $6265.08 this month.  We will wait whilst you break out your calculator to confirm my math.  Over the year, assuming our numbers are the mean rate, we are talking $75K for the year.  Nothing to roll your eyes at. 

Connection fees are something else.  And not having hard numbers from providers makes a tough analysis.  But we can make a few broad conclusions based on the data set.  Assuming a mid-pack connection charge of $0.15, our sample data just saved us 21,637 connection charges for a nifty $3245.55 and keeping with the mean stance, $38K for the year.

And what of the subscriber charges?  Conference hosts usually charge an additional fee to allow your users to be conference organizers.  This charge depends on the plan.  Our sample data shows 201 unique conference organizers.  I have no idea what those charges might be per negotiated plan – suffice it to say that you need to know that a typical plan is audio only, doing video and having a web conference service on top will cost you more. Here is a typical audio only plan layout – web and video will schlank you for more. You can also see that I have been conservative in my cost numbers.

image

The larger your organization, the more likely you are to be able to get around the “per organizer” fees, so for our purposes, we will ignore that cost argument because we know how great everyone is at negotiating separate contracts.  But for talking points, those 201 users could easily cost about $19/month each, another $3819 per month; $45k for the year.

Conclusion

We did ignore the costs associated with servers, licensing, and connections.  And if you use a service provider to help you develop your architecture and design your Lync environment there will some other costs.  So let’s make the assumption that $60k will get you your servers and licensing and a friendly, knowledgeable Lync consultant to figure out your environment and get everything installed and configured.  We will assume that existing infrastructure will provide VM resources, storage, data connections, load balancers, and firewall protection.

Our sample data showed some 314K usage minutes of which 208K were PSTN.  Based on some rudimentary number crunching, I think we determined that our sample organization can save $45k in subscriber fees, $38k in connection fees, and $75k in per minute fees.  Saving $158,000 a year ($13,166/month) is nothing to ignore.

Remember that we did not price out anything but audio conferencing. My $60k figure would get you audio, video, and web conferencing. You may rightly assume that someone needs to keep this thing operational – a hidden cost that is hard to quantify.  In my experience, I think that doing Lync administration is maybe a .25 FTE, depending on the size of the deployment. So, being really generous, and hoping to sabotage my own ROI results, we will call that .25 FTE as being equal to $25k.  That will run our first year costs for Lync all the way up to $85,000.

Depending on your install base for Lync, the ROI for installing Lync 2013 just for conferencing alone might be less than 12 months.  In our example, and using our assumptions, the ROI is 6.5 months.  Using Lync as your conferencing solution has the prospect of allowing your organization to avoid some significant costs.

Have you done your own research?  Do you have your own data?

YMMV

2014/10/31

Stupid Lync Tricks Part Deux

In keeping with a previous post, I submit this:

Pick a screen, any screen, and share away!

image

Just be careful about doing “All Monitors” as this could create a serious eye-chart for the far side!

And, just for added ammo, at least one of these displays is a 4k.  Sweet!

image

YMMV

Lync 2013 Client Update “fixes” Meeting Join Failures

For those of us who are involved with doing Lync on-premise, one of the issues is meeting joins by outside/external invitees who happen to have Lync installed as part of Office, but don’t use it… which results in failing to join the meeting, which results in a help-desk call, which results in a call to us wanting us to “fix it” when nothing is broken.

<sigh>

Well, here is something that explains why this happens, and a recent change to the Lync client that may help resolve this issue with no action on your part.

http://blogs.technet.com/b/scottstu/archive/2014/10/30/lync-2013-now-supports-falling-back-to-the-lync-web-app.aspx

IMHO, this is a great move in the right direction.

Of course, you can always show your customer how to edit each and every meeting invite to include the ?SL=1 suffix…which is a crappy solution at best, but one that works. And then there are various Exchange-based transport rule fixes: however, this fix is a bit clunky in that it will insert a generic string;maybe not the one you want per user.  I had one awesome customer who wrote a custom transport agent that works, sorta…sometimes…and which of you out there has enough time for custom coding work that may or may not be successful.

Sure would be nice if Microsoft would simply put two links in the original meeting invite – so that it looked like this with the obvious link already having the ?SL=1 code entered…

image

YMMV. 

2014/10/27

One Box 365

With the increased interest in Lync Online (part of Office 365, the online Microsoft offering), comes the increased interest in extending Lync 2013 Enterprise Voice to work with Lync Online.  AudioCodes One Box 365 can help you realize that objective in your organization.

Why is this needed?

Lync Online can operate in a split-domain configuration, with some users on-premise and some homed on the O365 tenant, but this is not a requirement. However, if you want to enable your users for Enterprise Voice, then the Lync environment MUST HAVE a Lync 2013 user pool located on-premise or operate in a complete hosted mode. If you don’t want the hosted mode option, then you need to deploy a Lync 2013 pool on-premise to augment your O365 tenant. This option will also require the “E4” license level.  Microsoft says this about O365 Enterprise Voice:

image

And if you do the hover thing over the little splat, you get this:

image

So there you go, you can use Office 365, but if you want to include the goodness that is Lync Enterprise Voice, you are needing to deploy Lync 2013 on-premise.  Using the Lync 2013 split-domain model requires setup and configuration on both the internal (or Azure, or both) Active Directory, needs some directory sync between the Office 365 tenant and your internal Active Directory, and also needs at least 2 servers internally, as well as various other servers, devices, and appliances such as SQL, reverse proxy, and telephony gateways.  To get a better idea, take a look at this and this.

And wow, does that sound complicated or what?  For an organization with limited technical resources, this might be a daunting task – and a concept that might well cause a re-think of the O365 idea.

What is One Box 365?

Aimed at supporting 200 users, One Box 365 addresses these concerns by offering the small(er) organization an appliance that has everything except call recording, reverse proxy, and the Web Apps Server (needed for PowerPoint presentations in a web conference) in (wait for it) One Box.  Tricky naming there, eh wot?  Here is the AudioCodes market-speak.

Based on the Mediant 800B Gateway chassis, and delivering all the wonderful packaging of the Mediant 800, One Box 365 has the following pre-installed, and ready to rock with minimal delay:

  • Lync Server Standard Edition (Front End, Mediation, Monitoring – and Persistent Chat if you want it)
  • Active Directory Connector
  • Edge Server
  • Gateway/SBC
  • A really nice management interface that makes things a lot better than some others I have seen.  A LOT better.

With the Mediant 800 chassis, you can also get FXO and FXS, so your analog devices are covered also.  Connectivity to your telephony solution is pretty much limited only by your imagination.  Being as how AudioCodes has one code base, you get the industry-leading gateway translations as part of the bargain. SIP, TDM, POTS, E1/T1, PRI/BRI, AudioCodes has the connection part covered. I have yet to see a PBX that AudioCodes cannot translate. Here is the official language:

image

How does One Box 365 work?

Well, it uses electricity, but that is a subject for another time.  By syncing with Active Directory, One Box 365 provides the user pool services needed for your on-premise users and connects to your PBX or ITSP SIP trunk.  Simple, yes?  Here are the official deployment types.

image

Note that you can also deploy One Box 365 as standalone Lync solution.  But, wait!  There is more (like the ubiquitous TV commercial).  You can stack multiple One Box 365 units to achieve pool pairing or support more than 200 users.  Also, I have heard (from the usual “unnamed source”) that larger solution sets that support more than 200 users (with a single appliance) are “coming soon”.

At any rate, One Box 365 takes this deployment model – which is where the smaller business might start questioning the wisdom of using Lync Enterprise Voice with their O365…

image

and replaces a goodly portion with this:

image

Much better.

A few notes on my part

Active Directory is in the box.  If you so choose, you can nuke the pre-deployed option and join your existing Active Directory – but that is not for the faint of heart or technically challenged.  But, in my view, possibly a better choice than having the complexity of the “resource forest” model.

The current hardware configurations seem to be limited to a chassis with only 4 FXS ports, I would like to see more FXS (this could just be me), and if you want more than 4 FXS, you will most likely be looking at a MediaPack.

You might think that not having the reverse proxy and the Web Apps Server in the appliance would be a negative, but IMHO, most folks already on Office 365 have a reverse proxy deployed (they might not know it) and I have also seen a trend of users not “presenting” a PowerPoint file – they are sharing their desktop; so the Web Apps Server is not critical  - especially in the One Box 365 target environment.  I also hear – from the same aforementioned “anonymous source” that RP functionality might just be possibly, hopefully, “coming soon.”

Someone with an AudioCodes SBA (Survivable Branch Appliance) might wonder if the Mediant 800B OSN (Open Solution Network) card has enough resources to handle the One Box 365 load.  Fear not!  The regular Mediant 800B SBA OSN is powered by an Intel Atom n2800 at 1.86GHz with a spinning disk, while the One Box 365 OSN is an I7 Gen3 with 8GB RAM and SSD.  Should be more than enough for handling the supported load.

Summary

Office 365 requires a full Lync 2013 pool on-premise to support Lync Enterprise Voice.  The Lync 2013 model is referred to as split-domain (it used to be referred to as hybrid). One Box 365, as part of AudioCodes One Voice provides a single appliance with which to enable your users for Lync Enterprise Voice while keeping your Office 365 environment intact.  One Box 365 offers full integration and native support for all Lync 2013 functionality.  Each One Box 365 appliance will support 200 users, and multiple One Box 365 appliances can be used to achieve pool pairing or supporting bricks of 200 users – while whispers do exist of larger capacities being in the works.

Based on your business requirements, AudioCodes One Box 365 could be the solution for your organization.

As always, YMMV.

#OB365

2014/10/10

Jabra Evolve 80 MS UC

I got back from a short conference trip to find a box waiting for me.  The nice folks at Jabra sent me a squeaky new Jabra Evolve 80 MS UC.

Here is the market-speak straight from some professional writer up in Jabraland:

“The Jabra EVOLVE 80 MS Stereo is a professional headset designed to improve concentration and conversations. Premium noise-canceling technology gives you peace to work in the noisy, open office effectively creating a concentration zone around you, so you can stay focused on the job. The speakers are built for style and comfort with leatherette ear cushions, and are specifically designed to reduce office noise. When combined with active noise-canceling technology, you get maximum protection against office noise. The concentration zone is completed with a busy light indicator that signals user availability to colleagues.”

And in the “Optimized for Lync” category: 

“The Jabra EVOLVE 80 MS Stereo is optimized for Microsoft Lync, providing instant “Plug & Play” installation for your headset. The headset works perfectly with your Microsoft Lync, so you can focus on the conversation.”

Blah, blah, blah.  Except that when you ignore the hyperbole, the Jabra Evolve is a very, very nice headset.  Can I go past “seriously nice” and maybe go all the way to the first ever Tsoorad 10/10 award?  No, nothing is perfect.  But I think I can go to 9.9.  Everything claimed by Jabra seems to be backed up with performance.

What I like

The noise cancellation is excellent.  And once you have it enabled (a switch on the bottom of the right ear cup) you can disable it with a press of the toggle switch in the center of the ear cup.  Very nice. 

image

The hype about the “concentration zone” is no BS.  Comfort is as good, or better than anything else I have used.  The inside of the ear cups did not give me the willies. The microphone boom doesn’t stick way out in front of your face.  Did I say these things are comfortable?

image

Audio quality is (searching for a superlative) really awesome.  I tried Pandora, real stereo unit, my iPhone, iPad, laptops, workstations.  In each case, the Evolve 80 performed much better than my Bose Quiet Comfort 2.  When connected to something that does two-way communication it just gets better.  The “Listen in” feature is slick.  Having a separate 3.5mm connector built right in is a great idea.

image

The Jabra busy light concept is … different.  The inline module has a center button, and if you press it, both the module and the headset light up.  This is separate and can be enabled without being in a call.  A virtual hideout.

The Jabra PC suite is nice.  I actually downloaded it and played with it.

What I don’t like

Pushing the inline module mute button does indeed mute. Rotating the microphone boom up mutes also.  I would prefer a button or touch point or something on the boom or ear cup to do the mute.

Weight.  I understand that to get this thing to the high level of goodness that the Evolve 80 does indeed demonstrate, that a certain amount of weight is needed, but I can also see where this might be off-putting to some folks.  When my principal tester (my SO) first put them on, that was the very first comment.  That and the headband pushed into the top of her head.  *I* did not notice the headband issue. This will NOT get in the way of me using this headset – just something to which I will need to accommodate and in no way impedes my previous comment regarding comfort.

Conclusions

The Jabra Evolve 80 is a great awesome wonderful seriously nice piece of work.  You can get one right here.

YMMV