Showing posts with label Lync. Show all posts
Showing posts with label Lync. Show all posts

Monday, September 28, 2015

Time2Market's Cloud Complete Unified Communications as a Service (UCaaS)

First off... this blog post is going to come across as a sales pitch and that is because it is. I'm not going to insult your intelligence... but there is a lot of confusion out there as to what is offered with various different Unified Communications as a Service (UCaaS) solutions and where they can fit into an organizations plan to further their communications. I'm not going to go into detail about all the other offerings out there, but what I'm going to do is offer you detail about Time2Market's Cloud Complete offering. We also offer a Cloud Custom option, that adds some additional functionality, but this blog post will focus on the Cloud Complete offering.

Anyone who knows me... knows that I'm not a fan of the "cloud". The reason is because I think it is one of those terms that gets thrown around and decisions made without really understanding the implications of turning over control to the cloud. I'm not saying that it doesn't make sense 100 percent of the time... because it actually does in a lot of scenarios.  I just don't like the blind run toward the cloud that I see a lot of people doing just because all the cool kids are doing it.

Having said that, Time2Market's Cloud Complete offering is a hosted UCaaS that is a Multi-tenant... Enterprise Voice... Skype for Business environment.

Yup.. you read that right... Skype for Business.

Time2Market's cloud is not based on the now defunct Lync Hosting Pack that was limited to the same feature set and Lync Online.

The is a Skype for Business hosted environment with feature sets that to my knowledge are currently not offered anywhere else. Those feature sets even include the new Broadcast Meeting offering that depends on a hybrid implementation with Office365. We even leverage Exchange Unified Messaging in Office365.



Now why would an organization want to do this. It is simple... instead of investing in all the equipment, server licenses and professional services to implement an on-premises solution that has costs as a capital expenditure. This allows an organization to move these costs to the operational expenditure column. The Cloud Complete offering scales and shrinks as you do and is a totally managed service from deployment to support. In short, you focus on your business, not running a Unified Communications infrastructure.

So what are some of the things that Time2Market offers in its Cloud Complete that make it unique...
  • E-Faxing Services
  • Advanced Call Routing Options
  • DID Parking
  • Common Area Phones
  • Standalone Fax Services
  • Unlimited Calling Plans
  • Auto Attendant
  • Dedicated Conference Bridge
  • Room Systems and Video Integration
  • Conference Room Audio Devices
  • 800# Support
  • Paging Applications
  • Contact Center (Clarity)

But here is the really big key to Time2Market's offering, we have a whole organization that will help you every step along the way with a White Glove Service. Cloud Complete isn't a self service type of offering, instead it is an offering where you have a whole team of people who have been in the business of helping organizations communicate for decades. Here are some of the things we can help you with...
  • Office365 Tenant Setup/Mail Migration
  • Unified Messaging Setup
  • IP Phone Setup
  • On-Premises Active Directory Integration
  • Auto Attendant Configuration
  • Room System Installation
  • Device Consultation

But wait.... there's more!! Sorry couldn't resist saying that.

But really there is more... Time2Market has created a Self Service web based portal that gives easy access to the following tasks...
  • Password Reset
  • Add New Users
  • Assign DIDs
  • Modify/Update Conferencing and Global Dialing Policies
  • Update Federation Policies
  • Get Support
  • Access to Usage Reports and Billing Info
  • Access to training, tips and tricks





What are you waiting for? Interested in Time2Market's Cloud Complete offering or have further questions? You can contact me by SIP or email using jonathan at t2mdev dot com or by calling 303 997 2100.

Tuesday, September 15, 2015

Change in route selection behavior in Lync Server 2013 from Lync Server 2010

I was recently working on a rather complicated dial plan and ran into a situation where the route I expected to be followed wasn't being followed. What I was trying to do was create a single Voice Usage that would route for specific numbers and then have a catch all route that would be the route as a last resort.

After doing numerous tests and doing an Outbound Routing debug it was clear that the route wasn't being skipped and it wasn't being marked down. The catch all route was being tried first even though the order of the routes in the Voice Usage had it at the bottom.

Interestingly, if I simplified the regular expression of the route that matched a range of specific numbers to just be one of those numbers, it magically started to work correctly. As soon as I modified it back to the larger range, it would fail.

Knowing that I have done this many times before, I was convinced somehow I hit some sort of bug. So a case with Microsoft was opened. After some lengthy testing, the Microsoft support engineer was just as baffled as I was and was coming to the same conclusion I did.

As a work around, until the Microsoft engineer decided how to proceed, we created two different Voice Usages. The first one was for ranges of numbers and the second usage contained the catch all route all by itself. The routing worked as expected, but this was not ideal, because this would increase the number of Voice Usages across the hundreds of sites in this deployment. I was aiming for the simplest dial plan possible since it was already complex.

Anyway, after a few days the Microsoft engineer got back to us and dropped a huge bomb.

Believe it or not, this was working as designed. He informed me that there was a change in Lync Server 2013 in how it processes routes in a Voice Usage. Lync Server 2013 now chooses the least complex regular expression before it processes the other routes. The reason for this change I don't agree with, but apparently there were some customers that had really large dial plans, where processing a large list of routes in a Voice Usage was taking too long and this change was decided to speed up processing the list.

So... if you have similarly complex in the same usage, the order of the routes matters. But if you mix complex and simple rules in the same Voice Usage, then the more simple rules will always be followed first.

I hate this because now everyone else is forced to create more Voice Usages, sometimes with a single route in them, to have the routing work as desired. The other item that bugs me is that there is next to no documentation of this change and this was not communicated to the technical community in any other way that I'm aware of. This is a big change for a product that a lot of people depend on to be consistent.

I think a better alternative would have been to give the engineer an option to process the routes within a Voice Usage using the Lync Server 2010 method or to switch to the new Lync Server 2013 method. I can see merits to both methods, but ideally I would like a choice.

Now... If you are like I am, you want to know what exactly constitutes a simple rule vs complex rule. Unfortunately I can't tell you exactly. All I can share with you is a somewhat vague answer that I got back.
The algorithm has quite a bit of complexity – in simple terms, the route that has simpler “prefix” will be preferred over more complex ones. The “prefix” is a combination of characters, character escapes, alterations and substitutions (as defined in regular expressions).
So if anyone has more detail on this algorithm, I'd like to have it. But in the mean time it doesn't really matter because the permanent fix is to have similarly complex rules in the same Voice Usage and then make sure you test to verify the route order is being followed as desired.

Thursday, April 16, 2015

Lync/Skype for Business Loud Ringer

Loud Ringers for Lync/Skype for Business is one of those problems you think can't be solved. But I stumbled upon a technique awhile ago that can be used to solve this problem. This technique though, uses pieces of the product in ways they were not originally intended. But I will say that I have been doing this since Lync Server 2010 and I hope with writing this blog that more people will use this technique and maybe it will get a better method for implementation by the product group.

So enough dancing around the topic.

In order to execute this technique we need the following:
  • Analog based Loud Ringer (Algo 1825 for example)
  • Gateway with Analog FXS ports
  • Create a Lync/Skype for Business Analog Device
  • Device that can do Pin Authentication for a Common Area Phone
  • Lync/Skype for Business user that has SimRing capability
Step 1
First step is to setup the FXS port and Gateway so that a dedicated number can ring that port. I prefer to use non-DID numbers for this application, but it just has to be a unique number in the Lync Dial Plan. Later we actually use this number when defining the Lync/Skype for Business analog device LineURI. Because there are so many Gateways with FXS out there, I'm not going to get into specifics in this area. But I generally route the extension portion of the number to the port. For example if +13005551000;ext=9572 is the intended LineURI, only the 9572 portion would be configured for routing to the port on the Gateway. 

Not getting the hint? 

I manipulate the number either in the trunk configuration of Lync/Skype for Business (my preference) or the gateway to just be the extension.

Oh you you are one of those people who don't like to use ;ext= ? Then you'll have to figure out the Pin Auth on your own later.

Step 2
Next we add the Gateway with the FXS port to the Lync/Skype for Business Topology. Nothing special here, but make sure it is communicating on the correct port/protocol.
Once the Topology has been published and replication has occurred, you will need to create an analog device in Lync/Skype for Business. 

Here is an example of the command: 

New-CsAnalogDevice -LineURI "tel:+13005551000;ext=9572" -DisplayName "Someone's Loud Ringer" -RegistrarPool <same pool as Loud Ringer user> -AnalogFax $False -Gateway <IP or FQDN of Gateway just added> -OU <your favorite OU>

Here is the technet for reference.

Pssst don't forget to do an Address Book Update... you'll need it soon and might as well have it working while we do this other stuff

Update-CsAddressBook on the pool that has the user with the need for the Loud Ringer.

Step 3
Once AD Replication happens we need to set a client pin for this analog device. Say wha?! Yes... just stick with me here... 

Here is an example of the command:

Set-CsClientPin -Identity "Someone's Loud Ringer" -Pin <any pin you choose>

Here is the technet for reference

Step 4
Login to the Analog Device like a Common Area Phone using Pin Authentication. For example the extension is 9572 and the pin is well... whatever you set it to. It doesn't matter if this device stays logged in or not, we just needed to log it in once as a Common Area Phone.

This would be a great time to call the Analog Device from lync and make sure the Loud Ringer is actually working. That way we aren't troubleshooting the physical install too... later on.

Step 5
Set the SimRing for the user that needs the Loud Ringer. This can be going to their PC or getting their username and password, or using SEFAUTIL. The bottom line is you want to set the SimRing for the Analog Device above which should. 

If you don't see it as a contact you can add, you might have forgot to update the address book on the server, or maybe you need to log out and back in to force an update.

Step 6
Call the user who needed the Loud Ringer and hear their praises and celebrate that you solved that problem for them that has been hanging around for a year or two. Or if it doesn't work... dig out your Lync Debugging Tools and Wireshark. I know you'll figure it out.


Monday, February 2, 2015

What to do when you can only hear yourself think while using Jabra Evolve 80

So I recently started using a Jabra Evolve 80, which is quite a phenomenal piece of hardware. It sounds great and is easy to use. I also found myself listening to music more and I've almost completely stopped yelling at my kids to stop having so much fun (just kidding) while I'm working, thanks to the active noise cancellation technology.

But...

There was one complaint I had... When I used it as a headset my voice was muted... like when you talk with fingers in your ears. You only hear the vibrations through your jawbone... which is usable... but definitely not ideal. With one ear headsets, you have an open ear so you can still hear yourself talk and it is more natural.

Well today's blog post is the result of @mitchsteiner and I having a conversation about the Evolve 80 and he was complaining that his voice was too LOUD. I thought to myself... how can that be... I hear nothing and it is too loud for him... there must be a way to adjust this. So as Mitch and I talked he called it sidetone and that is what I started my search for.

After searching for awhile on Jabra's website I came across the ability to adjust the "sidetone" audio, which kudos to Mitch for actually calling it what it was and proof that if you have traditional voice skills they never die.

So here it is in all its glory...

How to adjust sidetone for your Jabra Evolve 80

1. Open the Windows control panel and access the Sound control panel applet.

2. Select "Playback" tab and then right-click the Jabra EVOLVE LINK MS device and choose "Properties"



3. Once the Headset Earphone Properties have displayed, Choose the "Levels" tab.


4. On the "Levels" tab you will see an item for "Sidetone". Mine was set to -18 dB and I needed a slight adjustment to -15 dB. In order to set the level you will need to get on a phone call with a buddy and talk while you adjust and click "OK" (sorry no "Apply"). To hear the change you might have to change to much louder than -15dB and then bring it down to your liking.


5. Enjoy and show your friends.

I would like to make special note that this is a USB ONLY function. If you plug the headset straight into a mobile device this Sidetone function is not there.

Sunday, January 25, 2015

My views on what HoloLens means for Unified Communications

Warning... this is strictly an opinion piece with a lot of wishful thinking.

Wow... Microsoft dropped a bombshell on all of us with HoloLens. I spend a lot of time talking about technology with my kids (I have 5 in case you are wondering) and what the future could look like. I've been hoping for something like HoloLens for a very long time. I talk with my kids about how computing can be different, how user interfaces will change and what it could mean for how we interact with the world. Of course with kids you just have to give them that little push and their minds go crazy with possibilities because they don't know the boundaries that adults do.

One of my dreams is to be able to record every part of my real life and then be able to replay past events at will and have them projected via Augmented Reality into real life so I can see them again. Get to experience people from my past and see those little nuisances about them as humans that get lost in memories sometimes. I don't expect HoloLens to do this out of the box of course... but it is the first step in that direction.

My kids of course see completely different possibilities... it was a lot of fun to show them the video of the news briefing and to see them sucked in by the magic of the HoloLens technology... then the video showed a Minecraft like game that was being played in the real world and their little brains literally exploded. This was something they knew... but completely played in a different context.



Their brains exploded yet again when the video blew up a wall with Minecraft TNT and revealed a whole world behind it with the wall becoming Minecraft blocks.



Suddenly they weren't limited to the Minecraft world that is finite... as one of my daughters put it... "I can build a castle in the backyard now (we have over 2 acres). See how they have no boundaries?

We went on to talk more about how it could be used, very excitedly I might add.

My oldest daughter asked "do you think I could design dresses for my sisters and see what they look like on them before I make them?"

Another daughter thought about her drama class and everyone having a HoloLens and being able to see their stage design and practice on the stage before it was even built.

My 15 yo son being a recent Star Trek fan (yes he watched all the seasons on Netflix... from the beginning) saw the possibility of Holodeck like experience but was quick to point out that the Holodeck can create real objects you can interact with... and not holograms.


But listening about my kids and their ideas about the HoloLens isn't why you pulled up my blog (although that may get me more visits)... 


Unified Communications and the HoloLens

When I saw HoloLens for the first time during the Windows 10 news briefing my mind was going crazy with what this means for Unified Communications. I think for many of us, we've been waiting for the "what is next" for Unified Communications and I believe HoloLens is it. Obviously Microsoft already sees it as a communications tool because they showed clips of it being used as such.

A woman walking through an office environment having a video conversation with a colleague who mentions uploading a file to OneDrive, then I assume what he uploaded becomes viewable to her instantly.




In another demonstration a woman is trying to fix a drain and again is having a video conversation, but now the person on the other end can draw indicators as to what to do that become holograms for the woman in her real life view.



In another view we see two people interacting with the surface of the planet Mars and the other person is represented as an avatar. They are both collaborating with the surface of Mars and indicating where they want to do the work.



We already know that Skype and Lync are sharing a lot of technologies, and the next version of Lync will be called Skype for Business. We also know that Microsoft is creating an Enterprise version of the HoloLens. So I think it is safe to assume that anything that the HoloLens can do with Consumer Skype will apply to Skype for Business.

HoloLens and the Skype for Business Call Center

One of the more exciting things that popped in my mind was a Consumer Skype calling a Skype for Business Call Center using HoloLens. Think about product support where it is really hard to describe your problem and even harder to tell someone the solution (like installing a light switch). How amazing would it be to see the problem, and then to be able to instruct using holograms as to what to change to fix the issue.

Obviously this could be killer for Help Desk applications, especially hardware issues. But I think more importantly, this would be a key use of the Skype-Lync Federation that Microsoft has been building on and recently added the ability to do Video. Consumer to Business communications is clearly something Microsoft has been trying to crack for a long time.

HoloLens and Skype for Business Meetings

I have a couple different visions for how it could be used.

First of all if we want to take the notion of how meetings are today in the Lync product, I can easily see being able to put different pieces of content/modalities all around your office, on different walls, floating in space in front of you. You won't be limited to the real estate of the computer screens to display all the different modalities. I think it would be really cool to move things around like minority report. Maybe if you want to upload a file from your PC, you look at it and then everything you've uploaded to OneDrive from that PC appears as an option. You literally grab the file using your hands and drag it over to the meeting.

I can also see meeting rooms setup to hold meetings where avatars represented by holograms appear in seats and the content appears in various places around the room. When someone speaks, the audio appears to come from that direction. With the ability for people to indicate with holograms what they are talking about, suddenly the whiteboard we have today, can become so much more. What happens when a Visio diagram becomes 3D (because at some point it will be a Universal App right?) and now we can interact with each the elements as holographic objects.

Take the last example and lets take it into a Holodeck style room. Now a real estate company can visualize a map of an area and have all the participants again represented by avatars. But now they can collaborate on which areas to focus and maybe even overlay what their new development could look like. Maybe instead they take a walk through of a new building that an architect rendered for them even before it is built.

Conclusion

In my mind, Microsoft has quite a bit of work to do to enable this type of collaboration. We need a new type of media and SDP application type. Skype clients have to be written for the HoloLens that not only can talk to Consumer Skype, but also Skype for Business. That client also needs to be aware of the PC client as well, because along with HoloLens type data, there will no doubt be the need to share Desktops, PPTs, and other more traditional content.  There will be privacy issues that will need to be addressed, because now with a device like this, it will be hard for people to know when they are on camera or not... or even more important when they are being recorded.

Finally I think it would be stupid to not assume that every Unified Communications manufacturer is now starting to brain storm what HoloLens means for them. This is after all a device based on Windows 10 and has an API that they can leverage the same as Microsoft can. Obviously Microsoft has an advantage when developing for their own platform, but none of what I've written here is strictly something that only Microsoft can accomplish.

I'm excited for what the future holds with this new Holographic computing.

Tuesday, January 20, 2015

Gotcha with AudioCodes 2013 SBA Patching

So I happened upon on interesting tidbit of information while patching an AudioCodes SBA today. Unfortunately I was trying to fix a customer issue so I didn't take the time to do screen shots... I'll try to update in the future with a set of screen shots, but hopefully the words will be enough for now.

It used to be on Lync 2010 SBA with AudioCodes they wanted you to patch only by the web interface, I never understood why we couldn't just run the LyncServerUpdateInstaller.exe on the desktop and be done, but like a good installer I know when to push limits and patching ain't one of them. In order to do this you had to extract out 4 patches, which matched up to the components listed in the screenshot below. The screenshot is from a 2013 system, but the 2010 system looks similar. 



Fast forward to 2013 SBA and I dutifully patched all the components listed. However, I happened to run the LyncServerUpdateInstaller.exe just to check and low and behold the Windows Fabric component still needed to be updated. With a big sigh... I got that .msp file and uploaded via the web interface and it said the update completed successfully... Sweet!

Wait... lets check the LyncServerUpdateInstaller.exe file again... nope not updated. "Oh wait" I said to myself in my head... I think it needs a reboot. One reboot later... still not updated.

I finally ran the LyncServerUpdateInstaller.exe and kicked off the update from there... which did require a reboot and low and behold it is now updated.

So with this new found knowledge I decided to go pull down the latest AudioCodes 2013 SBA Update Product Notice from AudioCodes related to updates and guess what? RDP patching is now one of the methods specifically called out. Also of note in that PDF, when you are patching via the web method there is zero mention of the Fabric Update. 

I also did check the latest AudioCodes 2010 SBA Update Product Notice and it allows RDP update too...

But here is the morale of the story for Lync 2013 SBA, patch only via RDP interface for AudioCodes to get all the updates on the box.

You may or may not be able to apply this knowledge to Sonus. Feel free to give feedback if you have experience in that area.

Tuesday, January 13, 2015

AudioCodes Configuration Logic

I've been working with AudioCodes products since the early 2000s. My first encounter was a couple of Mediant 2000s with 16 PRIs each. The configuration of those boxes for the most part was handled by following a document provided by Nortel. The funny thing is that most of the documentation over the years that has really helped has been solution specific guides done by a product manufacturer so that Audiocodes can work with their product.

The problem with Audiocodes is that its capabilities are so diverse and flexible that writing a single document that actually helps you through your specific configuration is nearly impossible. Years ago, you could actually download ready made configurations depending on what your PRI connection it was and you would be 99% there. Fast forward to today and configurations aren't that simple anymore.

The number one complaint I hear about Audiocodes is that it is so hard to configure and other products are ready to go in minutes. While I can't create any fancy wizards for Audiocodes configs, I can try to help people understand key parts of the AudioCodes configuration process so that the product is not as frustrating.

Global vs Profiles

One of the big concepts to get with Audiocodes is that there are many parameters that can be set at a Global Level and then overridden by a profile that applies to that feature. Profiles are useful for changing the behavior of communications to a particular system. For instance, if one system supports Early Media, but another does not, with Profiles you can adjust the signalling for each system. This applies not only to the IP side of the gateway, but  also the TDM side if applicable.

Another key concept with profiles is where you can have them applied. Some profiles, like IP Profile can be chosen in several different areas, which I think adds to the confusion on configuration sometimes. For example if I am using an IP Group, I can specify not only a Proxy Set, but also an associated IP Profile. If I'm not using IP Group but instead specifying a single target IP in the routing area, again I can specify an IP Profile on the route itself.

As a best practice, I always use profiles to control the various different features for each system, even if they need similar settings, they each get their own profiles so I can adjust individual settings in the future.

Before I go any further I need to mention a couple of basics. First of all, when looking at the menu's I always recommend changing to the the Advanced or Full view depending on the system you are looking at.



Also, whenever you hit "Submit" the change takes effect immediately unless the system tells you it needs a reset. However, if the system has a power loss and you have not hit "Burn" then the changes are not saved permanently to the configuration. It is a good habit to burn frequently. It only takes once of having to redo your configuration to learn the lesson.


I also highly recommend doing backups of the configuration. Which can be done manually or you can use my PowerShell script to do the backup



IP Groups

IP Groups are awesome because they pull together several different key pieces to communicating with other SIP systems. I use IP Groups primarily because I can specify a Proxy Set which allows for me to specify multiple IP addresses or DNS names for the system to send SIP signalling to, but I can also specify an IP Profile to be used too. This is key if you have multiple servers you need to communicate with that act as a pool or cluster.


Below you can see where we specify a proxy set (identified by a number) and the IP Profile as well. One thing to keep in mind is that you have to specify a SIP Group Name which ends up being the portion after the "@" in a SIP URI. The AudioCodes gateway/SBC doesn't really care what you put in here, but the far end system might. In the example I used the IP address configured on the AudioCodes network interface that communicates with that system. The network interface used is controlled by the SRD and Media Realm specified. If you have a system that uses a single IP, SRD and Media Realms is not used.


In the example below this is an SBC Enabled Mediant, so the SBC settings are exposed in the IP Group. Below are the defaults, which are fine most of the time, but if you needed to do some message manipulations for this IP Group this is where it would be specified.




IP Profiles

 As mentioned before, IP Profiles control much of the SIP signalling and allow for adjustment per system we are communicating with.


I think many of the parameters are self explanatory, and if not the documentation can help understand what each of these parameters do. Most of the really good stuff in the example I've provided is in the SBC section below. If you have a TDM based gateway there options are different but many are similar.


The SBC area of the IP Profile is really one of the key aspects of SIP Signalling and truly is what makes an SBC a Back to Back User Agent and allows for the adjustment of signalling between disparate systems. As an example, one of the latest items I've had to adjust was the hold format to Intelepeer SIP Trunk that did not like the hold format Lync used. 

Because this was an SBC Application enabled configuration, I could accept the hold format from Lync and send a different hold format to Intelepeer. Another piece that can be useful is controlling the REFER behavior, which sometimes has to be set to Handle Locally to keep disparate systems happy that don't understand REFER.


Coder Group

Coder Groups are pretty basic allowing you to specify a codec list and features (such as silence suppression) to be used when specified in an IP Profile above. If you have ever heard of transcoding between different codecs, this is where that magic happens for AudioCodes. You can specify G.711 for one IP Group and IP Profile and then specify G.729 in a different IP Group and IP Profile combination.


Tel Profile

This is taken from a TDM based system and not the same as the examples above from an SBC. I wanted to talk a bit about Tel Profiles because I've found having a different one for each one of your TDM lines is crucial. Tel Profile for each TDM trunk is specified in the Hunt Group area when you define what your different ports are doing.

Why?

Couple of features... Echo and Analog DID.

Controlling the volume is key for solving echo issues. Other than misconfigured microphones, the number one cause of echo issues is volume being too loud. Being able to control volume from PSTN (Input Gain) and to the PSTN (Voice Volume) for those lines that are too loud is the key feature that helps address the issue. Why is this? Because when the volume is too loud the reflected audio back from the far end isn't detected by the echo canceler and allowed to pass through as normal audio. If you wanted to see this for yourself, increase the volume to the PSTN to the point where it causes echo.

Also, if you have the unfortunate luck to encounter a site with Analog DID then Polarity Reversal and Enable DID Wink are key features in the Tel Profile you will need to enable on a per port basis.



VoIP Routing

One of the more confusing aspects of the AudioCodes configuration is VoIP routing (non SBC Application). The key is to make note of where the communications is coming from. This determines which of two routing tables you will hit. If the call is starting from the TDM/PSTN world, then you will hit the Tel to IP routing table. If you are starting from another SIP system or SIP Trunk then you will hit the IP to Tel routing table.

Sometimes, it is necessary to route from PSTN to an Analog port and in order to accomplish this you have to route the call to the gateway itself. The first line below is an example of that. Once you do this you will now hit the IP to Tel routing table which allows to routing to a Hunt Group (which in turn was assigned an Analog port).

Conversely, if you start in from another SIP system and you need to route to another SIP system through the Audiocodes, the call would hit the IP to Tel routing table first. The key to routing to the Tel to IP routing table going this direction is sending it to Hunt Group "-1". This technique may be necessary if you need to route analogs from MediaPack to MediaPack and want to keep it entirely in the AudioCodes world.



One other thing that almost always comes up is manipulation of numbers either Destination (Called) or Source (Calling). In the screenshots above the setting is to Route before Manipulation. This is my preferred method, but it is important before you start manipulating to understand if the manipulation will occur before or after routing. This will determine which numbers you put in your routing tables.

Now that I've mentioned this, I try very very hard not to do any manipulations in the gateway/SBC. I prefer to do all this in Lync. Sometimes there is no way around it, especially if you need to deal with manipulations when doing Fax or other analog solutions.



Dialing Plan Notations for Prefixes and Suffixes 

AudioCodes is not nearly as flexible as RegEx when it comes to number matching, but it isn't terrible if you know what you are doing. Below is from the AudioCodes documentation.

The dialing plan notation applies to the Number Manipulation tables, 'Tel to IP Routing' table and 'IP to Trunk Group Routing'. The dialing notation applies to digits entered for the destination and source prefixes to represent multiple numbers.

[n-m] Represents a range of numbers. Note: Range of letters is not supported. 
Example [5551200-5551300]#: represents all numbers from 5551200 to 5551300. ô€‚ƒ123[100-200]#: represents all numbers from 123100 to 123200.

[n,m,...] Represents multiple numbers. Up to three digits can be used to denote each number.
[2,3,4,5,6]#: represents a one-digit number that starts with 2, 3, 4, 5, or 6. ô€‚ƒ [11,22,33]xxx#: represents a five-digit number that starts 11, 22, or 33.
[111,222]xxx#: represents a six-digit number that starts 111 or 222.

x Represents any single digit. 54324: represents any number that starts with 54324.

Pound sign (#) at the end of a number Represents the end of a number. 54324xx#: represents a 7-digit number that starts with 54324.

A single asterisk (*) Represents any number. *: represents any number (i.e., all numbers).

Conclusion

Give me some feedback on whether this hit the mark or not. I have a lot of information about AudioCodes up in my head and like the people that write the documentation, it is difficult to get it into a usable format for a wide audience.

Thursday, August 21, 2014

So... you want to be a Lync Architect

For at least a couple years now my employer has been on a constant search for talent to deploy Microsoft Lync and the components that are part of that ecosystem. But it is getting harder to find guys that will fit in with the company culture and have a good set of fundamental skills (or phenomenal skills if we get lucky).

So I thought I'd write a post, from my perspective, about what some of the skills are that it takes to work as a consultant in this Microsoft Unified Communications world. Engineers and Architects that can do this type of work WELL are a rare find. They posses knowledge from multiple disciplines (data, voice, server apps, security etc) and combine them all to help a customer deploy a solution that fits their needs. My hope is that this will finally convince some people that are on the fence to jump in (and increase the pool of talent).

... and no you don't have to be an Architect to jump in, you can start out being an Engineer or working the support desk. You can learn as you go.


The Hard Skills

Here is the bottom line... the more of these the better.

The more of these you are excellent at... the better consultant or support engineer you'll be for your customer.

Nobody... Nobody will be an expert at all of these. But sometimes the secret is knowing others that are experts in that area... or knowing where/how to find the answers.

If you are weak in most these areas... no problem... go buy a computer, create a lab of your own and pick something and start to learn. With Microsoft based software there is usually no lack of freely available knowledge you can learn from and there are certainly plenty of books out there on all of these topics. Don't expect you will learn all of this in two weeks. I've been gathering knowledge for as far back as 20+ years and that knowledge still applies to what I do today. But everyone has to start somewhere.

Here is the list that I've come up with...
  • Active Directory
  • SQL Server
  • Windows XP/Vista/7/8/8.1 etc
  • Server 2008 R1/R2 and 2012 R1/R2
  • Office Communications Server 2007 R1/R2
  • Lync Server 2010/2013
  • Exchange 2007/2010/2013
  • System Center 2007/2012/2012 R2 via @fabriziovlp
  • Hyper Visors (Microsoft, VMWare etc) via @fabriziovlp
  • Virtual Desktop Infrastructure (Microsoft, VMWare, Citrix etc)
  • PowerShell
  • .Net Regular Expressions (RegEx)
  • Private Key Infrastructure/Certificates
  • Layer 2 Networking (Switched)
  • Layer 3 Networking (Routed)
  • IPv4
  • IPv6
  • TCP/IP
  • Quality of Service
  • Firewalls
  • Network Sniffer (Wireshark, Message Analyzer)
  • SIP
  • Audio Codecs (G.711 etc)
  • HTTP/HTTPS
  • ISDN PRI and the associated protocols/capabilities
  • T-1 (Telephony based digital circuit)
  • DS-1/DS-3 (Data based digital circuit)
  • Frame Relay
  • Avaya Blue (Nortel)
  • Avaya Red (Traditional Avaya)
  • Cisco Unified Call Manager
  • Mitel
  • Inter-tel (owned by Mitel now)
  • Shoretel
  • PBX Dial Plans
  • PBX Features
  • Analog device types
  • Fax and Fax Server
  • T.38 Codec (for Fax over IP)
  • Modem (Yes credit card and postage machines still use this)
  • Gateway/SBC (Sonus, Audiocodes, etc)


The Soft Skills
  • Good listening skills
  • Good presentation skills
  • Good communications skills (verbal and written)
  • Patience
  • Attitude toward constant learning
  • Self starter
  • Working alone
  • Working in teams
  • Working with other teams
  • Juggling lots of tasks/jobs at once
  • Prioritizing tasks
  • Bing/Google searching for information
  • Networking (the people kind)

Getting There...

This one is all on you. My unique path took me from being a network manager/admin at a University, to working 11 years for Nortel and then combining all that experience into what I do now. Some of this is hard to learn in a lab unless you are loaded with money. 

You need to surround yourself with people that know about the skills you need to work on. This is where the networking (the people kind) really comes in handy.

How do you do this?

  • Go to local users groups
  • Go to local conferences. 
  • Go to some industry conferences. 
  • Get on twitter and follow people that tweet about the things you want to learn about. 
  • Get on LinkedIn and make some connections and join some discussion groups. 
  • Read the Technet forums
  • Read some books
I'll keep updating this as I think of things... but bottom line is that this stuff isn't easy, but it is something that is able to be learned given enough time and effort.

Monday, June 9, 2014

Lync Centralized Logging Service AlwaysOn filling up hard drive

Issue

Customer was running the AlwaysOn scenario with Centralized Logging Service on Lync Server 2013. The drive was filling up with .etl files when we had set the "CacheFileLocalMaxDiskUsage".


When I observed how this was operating on a working system, I noticed as soon as the .etl file rolled over to a new one (at 20MB), it would be converted to a .cache and .hdr file and the .etl file would be deleted.

So clearly the issue was the .etl files not being converted and then deleted. This allowed a huge amount of disk space to be chewed up and for disk alerts to be sent by the customers monitoring application.

Note: if you are trying to track down where the .etl files... it does no good to type %temp%/Tracing in the run command. That will go to the currently logged in user temp directory /tracing. The Centralized Logging Service runs under "NetworkServer" and can be found:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\Tracing

Resolution

This will be an obvious one, but it still may catch people, so that is why I'm putting this blog together. The culprit was Symantec Antivirus. Once this was disabled the .etl files were converted to .cache and .hdr files as expected. The centralized logging service should have been excluded per the Technet article about excluding executables and directories for Lync Server 2013 (http://technet.microsoft.com/en-us/library/dn440138.aspx).

AT&T Hosted Firewall preventing Desktop/Application Sharing through Lync Edge

Issue

Ran into this problem a while ago and just now getting around to writing about it... but it is one of those head scratch kind of problems, until you compare a working system with the non-working system. In this case, I spotted the problem of Desktop/Application Sharing across the Lync Edge server in Wireshark when the client went to STUN the server on port 443.

I didn't realize this, but there actually is a momentary TLS negotiation on 443 STUN and the failure from the AT&T Hosted Firewall looked like this.



From the Lync Edge server perspective everything was successful. But the AT&T Hosted Firewall in the middle of the TLS negotiation was sending back this "Level: Fatal, Description: Access Denied" error instead of what the Lync Edge Server responded with. This was both an issue for Lync Server 2010 and 2013.

Resolution

The jist of the resolution was to request AT&T to do a Policy Bypass for the IP Addresses associated with the Lync Edge server. The problem was with STUN, but I would probably ask they bypass any other IPs if you have multiple IP addresses on your Lync Edge servers.

Just in case that doesn't get you far enough... I have below verbatim what was send back... so that you can coax the Level 1 support technician to find someone that really knows what they are doing (my cust went through several support people before he found someone that could fix this).
“What I did to correct the issue is to remove the Protocol Option filter from rule 4 and rule 17 in the policy that was being used for the Lync traffic.  Protocol options tell the firewall to check further into known traffic types such as http, https, smtp, ftp, etc. for expected settings.  On the HTTPS side one of those checks is ‘Allow invalid SSL certificates’ which is not enabled by default.  Since the filter is used by most of your rules in your policy I didn’t want to enable this and have all of those rules using it so instead I removed the filter from these two rules.  If you would like it re-applied but with the setting enabled a separate filter can be configured with that setting enabled and just apply that filter to the two rules.”

Thursday, March 6, 2014

Busylight releases new beta driver and adds features

Busylight has released a new BETA driver for their ever popular USB device. Busylight now has visual and audio alerts available for IMs, Second call rerouting treatment, Definable Hotkeys for call handling and the ability to switch on the PC monitor when you receive a call.

Most of the new functionality is available in a new dialog box called Lync Tools. The IM Alert functions and Lync Tools are available as a right-click to the systray icon.


Here is where you can find the new BETA drivers... enjoy!

Thursday, February 13, 2014

Lync Conference 2014 Notes

I'm planning to keep this blog post as a live trip report for Lync Conference 2014. Not sure how "Live" I can make it, but I plan to put interesting little tidbits that I uncover while at the conference. As always you can follow me on twitter at @lyncdialog for the most up to date Lync Conference info from my perspective

Update: Blogger lost my original Tuesday update (maybe on purpose... haha), so I added those pictures back, but the text will obviously be different. 

Announcements and News

Pre-conference
  • @BlyncLight: We will launch Blync UCWA @ #LyncConf14! Clientless Remote Presence display. Visit us at #718 to chat about the possibilities! @msftLync
  • @kkieller: Daily top #LyncConf14 Trivia Challenge score gets #Starbucks giftcard and admiration. Send IM to sip:LyncConf14@TriviaEngine.com
  • @patrichard: #TheUCArchitects are giving away over $50,000 in products and services at #LyncConf14. See http://t.co/WKOHgX2LRx for details on how to win.
  • @msftLync: Attend the first ever Lync Room System Experience Lab at #LyncConf14! Only 20 participants per session so book now: http://t.co/LRFlgw92iz
  • @colima_en: #colima 'SimpleRoute now available for FREE! Join us at booth 6 at the #LyncConf14
  • @nomorephones: @UCsip the #lyncconf14 keynote will be streamed live on http://t.co/cbNQf6WndP, Tuesday 9am pacific
  • @nomorephones: Something fun for our #LyncConf14 attendees - one of three posters we have printed. http://t.co/UZrHeg1NAY
Welcome Reception


BlyncLight was showing off their Presence cube device. These connect via USB and let others know visually from a distance what your presence is. These seem to be well thought out, especially for a cubical environment where these can sit up on top of the partition. @BlyncLight sent me a message back indicating they are 1.77 inches across.


Vytru remote that works similar to a Wii remote for controlling their Video Conferencing Lync client (think Lync Room System like). This device doesn't have to be pointed at the screen, and knows where it is in space so it is very easy to control the pointer on the screen and run a conference from across the room. They also have touch based devices they can demo... Check out their booth.


Plantronics booth was packed.


Conference Exhibition floor was absolutely huge for 2013. These two pictures are of one single row of exhibitors. There are around 6 rows of Exhibitors with various sizes of booths.



Tue Feb 18


  • During the keynote, you can ask Gurdeep any questions that you may have via your social channels using #AskGurdeep.  Promptly after the keynote, Gurdeep will spend 20 minutes answering as many questions as he can that he receives from attendees using the hashtag AskGurdeep
  • @We_are_Jabra: Excited to be at #LyncConf14 and launch our exciting new #Lync optimized headsets, Booth 422, See, Hear, & Feel the Jabra difference
  • @msftLync: Missed the #LyncConf14 keynote? Don't worry, we've got you covered! You can watch it on demand now at http://t.co/aMTjyattCO
Sennheiser finally caught my attention. Yea I know they produce the best audio products, but they didn't really do anything that caused me to really want to reevaluate my favorite devices. Enter the Sennheiser Speakerphone Series

Obviously this is a beautiful puck like speaker phone. I wasn't able to actually hear it in action, but it will obviously have the Sennheiser attention to quality when it comes to producing sound. Even though the Speakerphone has one mic, it is setup in such a way to be omni-directional. They also claim that the mic will pick up audio from a much greater distance than similar competitors. This Speakerphone is capable of actually performing well is a real conference room.

It is Lync Optimized and another feature is that when you are playing music through the Speakerphone it automatically adjusts the equalization for that type of Audio. Nice


The Speakerphone comes in two flavors. One has just a USB connection and another has the USB connection and an additional audio cable that can go straight in to a device that does not have a USB/Lync. One other thing is that the device has a battery inside that automatically changes when connected to USB.


Sennheiser also was showing off a Bluetooth headset. The headset can go for 10 hours of talk time. Has 3 noise canceling microphones and WindSafe technology. If you look at the picture closely the silver portion of the headset slides to easily turn on and off the headset. They also have a number of different configurations for the ear.



They have a hard case that keeps track of the headset and USB dongle. But I will make a note that this case does not charge the headset in case any Plantronics Voyager Legend fans are reading.



Wed Feb 19

Back when I worked on OCS 2007 R2 and was deploying the Enterprise Voice with Dual Forking (Nortel). I encountered many customers that couldn't do the Dual Forking kind of deployment, but didn't want to go full tilt with OCS/Lync either. One solution that would have been great is if you could just do Presence integration with an existing PBX phone.

Enter Verapresence with their VeraSync product. They have built a product that takes place of the Cisco CUPS server or works with the Avaya AES server. They change a users presence even if they simply pick up the handset even before they are on a call.

So, if you are wanting to integrate Lync with your PBX, but you don't want to deal with RCC or Enterprise Voice, this might be what you are looking for.


There were a lot of parties at the Lync Conference this year, but the main Attendee party was at Hakkassan Night Club in the MGM Grand. Was a pretty wild party... but I heard this was actually pretty tame compared to what they normally can be in this night club.



Anyway... Thanks to Microsoft and Perficient for throwing a great party.




Thur Feb 20

Logitech was one of the more popular booths at the Lync Conference 2014. It actually took me until Thursday to get close. I was not disappointed. Logitech was showing off their ConferenceCam CC3000e. For 999.99 retail price you get a 5X Optical, and an additional 5X Digital zoom PTZ camera and conferencing system.


The camera itself has a 90 degree field of view, which isn't bad... and it comes with a remote that can control the different features of the camera. Most notable is that the Camera does the Video DSP processing and takes the load off of the PC which can be problematic for Conference Room PCs.


Below is the audio speakerphone for the Logitech ConferenceCam CC3000e. Along with working with Lync through the USB hub in the upper left hand corner of the screen and down below, it is also Bluetooth enabled.


Logitech ConferenceCam CC3000e Remote pictured below. Along with camera controls for Pan, Tilt, Zoom it also has answer and goodbye dedicated buttons, and other audio controls.


This is the USB hub that connects the Camera and Speakerphone together.


Below Logitech is entering in to the personal speakerphone market. Notable difference is that this speaker phone has a place to stand up your smart phone.



What appears to be a dock... is really just a place to rest your phone. No actual smartphone dock exists and it does not charge your phone.


Logitech also was displaying their DECT based headsets. The H820e headsets come in single and dual ear piece configurations (mono and stereo). They also came across as quite well made. To answer or hang up a call, there is a button at the back of the mic boom. There is also a LED light to indicate the status of the user. The mute button is on the boom and not easily spotted.


UnifiedCommunications.com was in full force at the Lync Conference. One item they were showing off was their Device portal that they can deploy for a customer.


This can be fully customized with the devices a particular customer is wanting their users to order from, but it also has a Device selection wizard that asks a number of questions to continually narrow down the devices a user needs. The questions... and how the wizard flows can be full customized. This device portal can be deployed for free if a customer acquires devices through UnifiedCommunications.com or for a fee if they want to acquire their devices from another distributor.


Spectralink was showing off some phones. This is their first show where they have not been part of the Polycom family. The phone on the left is a DECT based phone. The phone on the right is a Wi-Fi based phone. They have MANY more phone choices (durable, and bar code scanners etc) and even an android based phone. These pictured below are just a couple.


Both of these phones are fairly durable and have been tested to go in to harsh environments. The DECT based phone actually registers to an access point pictured below. The access point takes care of registering to Lync. Although the user doesn't have access to search contacts or address book, the access point takes care of changing the users presence to "In a Call" when a call is made.

The Wi-Fi based phone gives a more Lync like experience. The user can search contacts, and address books, change presence etc.


This is the DECT based access point. Not much to it, but as mentioned above the DECT handsets register to this Access Point and it in turns takes care of the registration to Lync.




Photos

Aerial shot of the new CX5500
CX8000 in distance with CX5500
BlyncLight

Vytru Remote for the Conference System

Plantronics was really busy on the night of the Welcome Party




People streaming in for the first day

Sennheiser Speakerphone Series

Sennheiser Speakerphone Series

Sennheiser Speakerphone Series

Sennheiser Speakerphone Series features

Sennheiser Presence UC ML Bluetooth Headset

Case for the Presence UC MC Bluetooth Headset


Vytru PC behind the touch based demo
Verapresence Demo of Presence integration with PBX phone

Verapresence Demo of Presence integration with PBX phone

Lync Conference Attendee Party

Lync Conference Attendee Party

Lync Conference Attendee Party
Logitech CC3000e HD PTZ Camera
Logitech CC3000e Hub

Logitech CC3000e Speakerphone

Logitech CC3000e Remote

Logitech CC3000e Info card

Logitech Speakerphone

Logitech Speakerphone (open)

Logitech Speakerphone (open with Phone)

Logitech H820e DECT based Headsets

Logitech H820e DECT based Headsets

UnifiedCommunications.com Device Portal

UnifiedCommunications.com Device Portal