Chad McGreanor's Blog

Engineers Notebook

AudioCodes IP-IP or SBC Routing when using a SIP Trunk #Lync #UCOMS

Posted by Chad McGreanor on April 22, 2013

Scenario:

When using a SIP trunk provider it is often recommended that you terminate the SIP signaling and media on an SBC. When you do that there is special configuration required in order to send the traffic to Lync and to send traffic back to the SIP provider when using an SBC.

This example is using an AudioCodes Mediant 1000 MSBG
Software Release: 6.60A.041.005
loaded with 120 Sessions

We have a SIP Trunk configured for inbound/outbound calling to Level3. The Level 3 IP for this example is 3.3.3.3 and is using UDP as the signaling protocol. This is configured in a 1:1 NAT with a single IP assigned to the gateway. You can use this same method when using 2 different IP’s and the WAN interface as well. You would just need to change the IP to IP routing parameters to use the WAN interface.

Ensure that the gateway is updated with the latest firmware.

Then under VoIP – Applications Enabling enable the SBC Application (You need a valid key code that permits the use of this application loaded prior to being able to select this). The gateway will need to be restarted for the changes to take effect.

  1. Define the Proxy Sets Table
    1. Select Proxy Set ID 1. Proxy Set ID 0 is the default Proxy and should not be used when defining specific routing parameters.
    2. Enter the Level 3 IP in the Proxy Address table as shown below 3.3.3.3 Transport Type UDP, if you need to define a port use the format 3.3.3.3:5060 in the Proxy Address table. A port only needs to be defined if the proxy address is not using the default port configuration of the gateway. That is found under VoIP – SIP Definitions – General Parameters.
    3. Select Enable Proxy Keep Alive as SIP OPTIONS
    4. Then change the SRD Index to 1. We will configure the SRD table later.

  1. Now we need to configure the Proxy Set ID for Lync
    1. Select Proxy Set ID 2 from the drop down list
    2. Enter the Lync Server mediation server IP address including the port defined in Topology Builder. 10.10.10.11:5068. Set the Transport Type to TCP, and select SIP OPTIONS from the Enable Proxy Keep Alive drop-down box.
    3. Last, select SRD Index 2 for the SRD Index parameter.
    4. Press Submit.

  1. Define the Coders
    1. Ensure that G.711A and G.711U are defined. If you need to transcode you need to use Coder Groups and transcode for example from Level 3 G.729 to G.711 Lync
  2. Now we will define the IP Group for Level3
    1. Verify Index 1 is selected and type is SERVER
    2. Enter a Description “LEVEL3 SIP”
    3. If you need to change SIP Headers you can use Contact User
    4. Define the SRD ID which will be 1
    5. Enter “Level3″ for the Media Realm Name
    6. If you have specific Coders for transcoding you would define the IP Profile ID

  1. Now we will define the IP Group for Lync
    1. Verify Index 2 is selected and type is SERVER
    2. Enter a Description “Lync”
    3. If you need to change SIP Headers you can use Contact User
    4. Define the SRD ID which will be 2
    5. Enter “Lync” for the Media Realm Name.
    6. If you have specific Coders for transcoding you would define the IP Profile ID

  1. Now we need to define the SRD Table for Level3
    1. Select SRD Index 1
    2. Enter the SRD Name “Level3″
    3. Enter Media Realm name “Level3″ (This name must match what was defined in the IP Group Table)

  1. Now we need to define the SRD Table for Lync
    1. Select SRD Index 2
    2. Enter the SRD Name “Lync”
    3. Enter Media Realm name “Lync” (This name must match what was defined in the IP Group Table)
    4. Submit the changes and reset the gateway.

  1. SIP Interface and Media Realm Configuration – Level3
    1. Check and see what your SIP Interface Name is. You do this by selecting VoIP – IP Settings

  1. Under Media – Control Network – SIP Interface Table select Add
  2. SIP Interface Table defines where the traffic is coming from we need to specify the port.
  3. Enter the Network Interface parameter obtained from seta a. In our case this is “O+M+C”
  4. Application Type will be SBC
  5. Define the correct ports that traffic will be received on for Level3
  6. SRD “1″
  7. Select Submit

  1. SIP Interface and Media Realm Configuration – Lync
    1. Under Media – Control Network – SIP Interface Table select Add
    2. SIP Interface Table defines where the traffic is coming from we need to specify the port.
    3. Select Index 2
    4. Enter the Network Interface parameter obtained from seta a. In our case this is “O+M+C”
    5. Application Type will be SBC
    6. Define the correct ports that traffic will be received on for Lync in our case “5068″
    7. You must change the UDP and TLS ports so that they do not match any other Interface Table.
    8. SRD “2″
    9. Select Submit

  1. Select VoIP – Media – Media Realm Configuration – Level3
    1. Select ADD
    2. Index 1
    3. Media Realm Name “Level3″
    4. IPv4 Interface Name “O+M+C”
    5. Port Range Start “6000″
    6. Number of Media Session Legs “120″ (This is the number of IP licenses you have loaded via your key code, remember these need to be defined in the IP Media Section as well)

  1. Select VoIP – Media – Media Realm Configuration – Lync
    1. Select ADD
    2. Index 2
    3. Media Realm Name “Lync”
    4. IPv4 Interface Name “O+M+C”
    5. Port Range Start “7000″
    6. Number of Media Session Legs “120″ (This is the number of IP licenses you have loaded via your key code, remember these need to be defined in the IP Media Section as well)

  1. Verify SRD Table
    1. Select VoIP – Control Network – SRD Table

  1. Verify Connectivity
    1. Status & Diagnostics
    2. Call Routing Status

  1. In the example above Lync is responding
  1. Create Routing Table Level3 to Lync
    1. Route all traffic from Source IP Group 1 (Level3) to (Lync) IP Group 2
    2. Select Source IP Group ID and enter “1″
    3. Then enter Destination IP Group ID “2″
    4. And also select SRD “2″

  1. Create Routing Table Lync to Level3
    1. Route all traffic from Source IP Group 2 (Lync) to (Level3) IP Group 1
    2. Select Source IP Group ID and enter “2″
    3. Then enter Destination IP Group ID “1″
    4. And also select SRD “1″

  1. Final step would be to increase the number of digits in the Phone Number
    1. Select VoIP – DTMF and Supplementary
    2. Change Max Digits In Phone Num to 23 or something high enough that it will not prevent any number from being dialed

That’s it you’re done. Verify by placing inbound and outbound calls.

Posted in Lync Server 2013, Microsoft Lync Server 2010, Unified Communications | 2 Comments »

Microsoft #Lync Server 2013 Unleashed Book Available

Posted by Chad McGreanor on April 18, 2013

Just a quick reminder that the Microsoft Lync Server 2013 Unleashed book is available and written by 4 great authors, Alex Lewis, Tom Pacyk, David Ross, and Randy Wintle. I also wrote a chapter in the book J. Tom Pacyk and I work together at ExtraTeam.


http://www.amazon.com/Microsoft-Lync-Server-Unleashed-Edition/dp/0672336154/

Posted in Lync Server 2013 | Leave a Comment »

#Lync DID forward external? With no SefaUtil and no dummy user accounts? Why Yes! #UCOMS

Posted by Chad McGreanor on April 10, 2013

Why yes we can do that. I know this is not ground breaking information for the folks that work on traditional PBX’s. It is common for a customer to request that a specific DID be routed off site to another phone number. We could use SefaUtil to do this, but that would require setting up a dedicated server (or your front-end (unsupported)) and then dealing with the SefaUtil not working every now and then. So how do we do this?

Scenario:

A customer requires that DID 5252 be routed to a hotel in the UK (just an example).

Using Lync Inbound normalization (Pool Dial Plan associated with the gateway or SIP trunk) we would complete the following:

Now we need to configure the Analog device, yes I said analog device. When the parameter AnalogFax is set to $true Lync will place that call back out to the PSTN since Lync does not support T.38. Below are the details. If you do not set AnalogFax to $true this will not work.

New-CsAnalogDevice -LineUri “tel:+442072975555″ -RegistrarPool LS2010.mcgreanor.net -DisplayName “FWD 5252″ -Gateway 10.10.10.19 -OU “OU=Analog Devices,OU=Elk Grove Lab,DC=mcgreanor,DC=net” -AnalogFax $true

The way this works is that when a call comes in to Lync with 4 digits 5252 from the PSTN inbound translation will normalize that number to +442072975555 and that will end up matching the Analog Device that was created above. You can use any gateway that is defined in the topology. You are not quite done yet. We need to assign a Voice Policy and Dial Plan so that we can grant the analog device contact permission and correct dial plan format when placing the call. We treat this just like a user.

Get-CsAnalogDevice “FWD 5252″ | Grant-CsDialPlan -PolicyName “tag:US-ElkGrove”

Get-CsAnalogDevice “FWD 5252″ | Grant-CsVoicePolicy -PolicyName “US-ElkGrove-International”

The last thing you need to do is add the normalization rule created above to your user dial plan so that when a user dials the 4 digit extension internal the 5252 is normalized the same way and we match the analog device.

The Analog Device now has the ability to understand how to dial an international number as well as the permission related to the Voice Policy.

Here is what the Analog Device looks like completely configured:

I have configured this many times and can confirm that it works. Maybe the command should be changed to New-CsForwardDevice or maybe we can just have that command added that will accomplish this.

Posted in Lync Server 2013, Microsoft Lync Server 2010, Unified Communications | 1 Comment »

#Lync Server 2010 (CU8) March Cumulative Update Released

Posted by Chad McGreanor on March 15, 2013

Lync Server 2010 Cumulative Update March 2013 are available now (CU8)

Server download can be found here: http://www.microsoft.com/en-us/download/details.aspx?id=11551

Associated KB: http://support.microsoft.com/kb/2493736

Lync 2010 client hotfix here x64 http://www.microsoft.com/en-us/download/details.aspx?id=14490

Lync 2010 client hotfix here x32: http://www.microsoft.com/en-us/download/details.aspx?id=25055

Posted in Microsoft Lync Server 2010 | Leave a Comment »

When we are attacked we strike back! #Lync #Avaya #ucoms

Posted by Chad McGreanor on March 3, 2013

As I was enjoying the reception at the 1st annual Lync Conference in San Diego I noticed a social attack taking place. The first fire was from Cisco that can be found here and the next by Avaya which can be found here. I attempted to post my comments on the Avaya post since the Cisco responses from the Microsoft community seem to be sufficient. The Avaya site did not allow be to post any comments so I will post them here.

Although I know the topic of the post from Avaya is the cost of UC products from several different vendors I believe it is important to discuss a few other items. We as a community and myself as a consultant would be doing our customers a huge disservice if we did not discuss the $6 billion debt that Avaya is carrying around. As well as a nearly 2 year old IPO. I think before we discuss the cost of products we need to understand the cost of doing business with a company that is and is still having financial issues. This was quoted in a recent Bloomberg article here “The 2015 bonds and the $1.3 billion remaining term loan coming due in 2014, represent 46 percent of the company’s $6.1 billion indebtedness, not including an undrawn revolving credit facility.” Also consider that not many Avaya customers are happy with Avaya. Just ask one and you will see.
Once you validate the manufacturer then it would make sense to understand the products and their offerings and the cost.

As far as the report is concerned that Avaya is referencing. I have engineered personally many proposals for different manufactures and I have discussed cost with many other partners. Lync has never been the most expensive. It has always been one of the least expensive. There is mention in the blog post from Avaya that the report references “complexity they often did not anticipate” I know that Lync is not any different from Avaya, Cisco, Siemens, ShoreTel from a network infrastructure perspective than any other VoIP system. They all need QoS and the proper network foundation. I feel that maybe this happens due to partners implementing the solution often do not discuss up front the QoS requirements, and require a proper VoIP assessment. I know I/we do. Since I have a strong TDM/VoIP background. As these are critical with any VoIP system. I do mention to customers that indicate voice quality issues with Lync that it doesn’t matter what manufacturer they use, an incorrectly provisioned network will always be the problem no matter which manufacturer you use. Although Lync does do a great job at dynamic bandwidth control it cannot fix a network not built and configured for VoIP.

In conclusion when you strike against the Lync community we will fire back. There is at least one example that I can remember where Avaya struck Lync and that person no longer works for Avaya J. Keep them coming we are armed and dangerous! You make it easy for the Lync community to just sell more.

Posted in Avaya, Cisco, Lync Server 2013, Unified Communications | Leave a Comment »

#Lync Server 2013 CU1 February 2013 Available Now!

Posted by Chad McGreanor on February 27, 2013

Microsoft released Lync Server 2013 CU1 today. This update includes the following:

Lync Server 2013, February 2013 Cumulative updates (CU1)
http://support.microsoft.com/kb/2809243

Microsoft Lync Server 2013 Resource Kit Tools
http://www.microsoft.com/en-us/download/details.aspx?id=36821

Lync Server 2013 Whiteboard Archiving Viewer
http://www.microsoft.com/en-us/download/details.aspx?id=36822

Microsoft Lync Server 2013, Planning Tool
http://www.microsoft.com/en-us/download/details.aspx?id=36823

Microsoft Lync 2013 SDK
http://www.microsoft.com/en-us/download/details.aspx?id=36824

The Lync 2013 CU1 client side updates were released a few weeks ago but here they are just in case:
Lync 2013 updates: February 2013 (CU1)
http://support.microsoft.com/kb/2812461

Just a note that both Msores and Lyncloc need to be installed for the update to be complete.

Posted in Lync Server 2013, Unified Communications | Leave a Comment »

#AudioCodes Analog Disconnect Issue with #Lync

Posted by Chad McGreanor on January 30, 2013

I have ran into this issue many times. My co-worker Keif suggested I write it up in a blog post, so here it is…

When using an analog or digital gateway you may run into a scenario when using FXS or FXO ports with Lync that when the remote party ends the call the Lync dialog box does not disconnect and you then hear the PSTN busy tone. This happens in the US and Asia from what I have experienced. I am sure it happens in Europe I have just never personally experienced it.

So you are probably wondering what to do in order to fix it??

Access the gateway via the normal http://x.x.x.x once you are logged in browse to the AdminPage: http://x.x.x.x/AdminPage

Once you are there select INI Parameters:

In order to check the value prior to changing it just enter the parameter name with the Enter Value: box blank and choose Apply New Value.

Enter the following commands one-by-one and after each command place a test call. I have found there are many different combinations that may fix the issue.

 

Parameter Name: CURRENTDISCONNECTDURATION

Parameter New Value: 200

Parameter Name: ENABLECURRENTDISCONNECT

Parameter New Value: 1

Parameter Name: ENABLEREVERSALPOLARITY

Parameter New Value: 1

 

Make sure you go “Back to Main” and “Burn” the configuration once you are done testing.

Posted in Lync Server 2013, Microsoft Lync Server 2010, Unified Communications | 1 Comment »

#Lync Phone Edition Updates

Posted by Chad McGreanor on January 2, 2013

Now that the holidays are over and everyone is back to work I figured I would mention an update that came out a few weeks ago. The update was for Lync Phone Edition and was released on 12/20/12. There were a few things fixed in this update and a new feature added, “Music on Hold”. There have been several blog posts regarding the new music on hold feature, (http://windowspbx.blogspot.com/2011/07/questions-about-microsoft-lync-server.html) so I will not discuss the details here. One of the fixes that is available as part of the update is a fix for an issue where there would be a flicker, and white horizontal line displayed on the CX600. Now I thought I had a hardware issue and was just going to deal with it. Then this update became available and I noticed that it was fixed by updating the LCD driver that the phone uses. I applied the update and so far no more white line on the CX600. Below is the list of all the fixes included in the update.

 

Polycom CX500, Polycom CX600, and Polycom CX3000 update can be downloaded here: http://www.microsoft.com/en-us/download/details.aspx?id=23866

Aastra 6271ip and Aastra 6725ip update can be downloaded here: http://www.microsoft.com/en-us/download/details.aspx?id=18390

Polycom CX700, and LG-Nortel IP Phone 8540 update can be downloaded here: http://www.microsoft.com/en-us/download/details.aspx?id=21644

 

For those of you that need a reminder on how to import the update that command is below:

 

Import-CsDeviceUpdate -Identity “service:WebServer:atl-cs-001.litwareinc.com” -FileName C:\Updates\UCUpdates.cab

 

Remember you need to go in to the Lync Server Control Panel and approve the updates after they are imported. The phone will then receive the update during its normal update check routine. If you would like to receive the update quicker power off the device, then power it on and leave it idle for 5 minutes. The phone will then pull down the update and apply it. Another note is that it seemed to take a little longer for this update to be applied. The phone reset then sat at the “Locating time server”, then “contacting Lync Server screens”. It was around 6-7 minutes after the restart of the phone during the update process before it was completed.

Posted in Lync Server 2013, Microsoft Lync Server 2010 | Leave a Comment »

#Lync 2013 Web Scheduler

Posted by Chad McGreanor on November 14, 2012

For all those customers that would like to run Lync and use the Dial-In Conferencing component but run an e-mail system other than Exchange and Outlook (Google is one of them) there is a Web Scheduler component built into Lync 2013 that allows you to schedule your Lync meetings via the web hence the name Web Scheduler.

PowerShell Commands required to implement the Web Scheduler:

$urlEntry = New-CsSimpleUrlEntry -Url https://scheduler.mcgreanor.com

$simpleUrl = New-CsSimpleUrl -Component “WebScheduler” -Domain “*” -SimpleUrlEntry $urlEntry –ActiveUrl https://scheduler.mcgreanor.com

Set-CsSimpleUrlConfiguration -SimpleUrl @{Add=$simpleUrl} -Verbose

 

Here is the main screen:

After signing in you will get this screen:

After creating a meeting you are presented with this box:

You can also edit an existing meeting:

This should be a great way for companies to use the conferencing component that don’t run Exchange or Outlook.

Posted in Lync Server 2013, Unified Communications | Leave a Comment »

#Lync Server 2013 Debugging Tools

Posted by Chad McGreanor on November 6, 2012

For everyone that nearly had a heart attack when you went to your Lync 2013 front-end server and could not find the logging tools there is some good news. They are back as a separate download! I could care less that it is a separate download, just the fact that they still exist is great news. The ClsController CLI tool had me not even running logs due to all the commands you had to use to get a decent log from it. Maybe over time I will get used to it but it just seems like a lot of work for what 2 clicks used to give you.

Just to prove they exist here is a screenshot:

They can be downloaded here:

http://www.microsoft.com/en-us/download/details.aspx?id=35453

Posted in Lync Server 2013 | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 221 other followers

%d bloggers like this: