Friday, August 27, 2010

NET SmartSIP X-Lite (SIP) calls to MOC Failing

This problem was interesting because it wasn’t so much the SmartSIP software but more of the networking aspect of how the NICs were setup on the Mediation server that had SmartSIP installed.

Analyzing the errors:

  • Whenever I try to make a call to another signed in X-Lite phone, OCS user, the call will ring for 4 times until I get a "The person you are calling is unavailable. Please try again."

  • Through reviewing the logs, I can see that SmartSIP shows it found the person but their phone never rings (X-Lite or MOC).

image

  • The X-Lite screen reads: "Call failed: Service Unavailable"

image

  • The SmartSIP logs shows: "NormalTemporaryFailure".

image

Since Google’s no help for applications such as these, I went to the install guide for help and but couldn’t find my answer there so I sat down and started thinking about the traffic between the OCS Front-End server, Mediation Server, and the SmartSIP application.

After tracing through the MOC client error logs, I found the following hint:

image

A SIP request made by Communicator failed in an unexpected manner (status code 80ef01f8). More information is contained in the following technical data:
RequestUri: sip:+5555@domain.com;user=phone
From: sip:unislumin@domain.com;tag=c2adc74c82
To: sip:+5555@domain.com;user=phone;tag=C9E58D6EEFCC24A2ABA5798B78861415
Call-ID: a3dc038401c844abb87eeafd9659228a
Content-type: application/sdp;call-type=audiovideo

(null)

Response Data:

183 Session Progress

101 Progress Report
ms-diagnostics: 13004;reason="Request was proxied to one or more registered endpoints";source="ocsharfe01.ad.domain.com";appName="InboundRouting"

504 Server time-out
ms-diagnostics: 1014;reason="Unable to resolve DNS A record";source="ocsharfe01.ad.domain.com";LookupFQDN="smartsip.domain.com"

Resolution:
If this error continues to occur, please contact your network administrator. The network administrator can use a tool like winerror.exe from the Windows Resource Kit or lcserror.exe from the Office Communications Server Resource Kit in order to interpret any error codes listed above.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

-------------------------------------------------------------------------------------------------------------------------------------------------------------

This is when I noticed that I wasn’t able to ping smartSip.domain.com. This was my mistake as I had asked the person who manages the root domain DNS on the BIND servers to add the record for smartSIP.ad.domain.com and not the actual smartSIP.domain.com. I’m not sure how I managed to get through the install but I’ll assume the installation process doesn’t care as much about the record as I thought it did. Once the record was added in, I am now getting the following error in MOC:

image

A SIP request made by Communicator failed in an unexpected manner (status code 80ef01f8). More information is contained in the following technical data:
RequestUri: sip:+5555@domain.com;user=phone
From: sip:unislumin@domain.com;tag=29f911a21d
To: sip:+5555@domain.com;user=phone;tag=C9E58D6EEFCC24A2ABA5798B78861415
Call-ID: 58dd148d93f34d7e93b19249928af2eb
Content-type: application/sdp;call-type=audiovideo

(null)

Response Data:

183 Session Progress

101 Progress Report
ms-diagnostics: 13004;reason="Request was proxied to one or more registered endpoints";source="ocsharfe01.ad.domain.com";appName="InboundRouting"

504 Server time-out
ms-diagnostics: 1007;reason="Temporarily cannot route";source="ocsharfe01.ad.domain.com";ErrorType="Connect Attempt Failure";WinsockFailureDescription="The peer actively refused the connection attempt";WinsockFailureCode="10061(WSAECONNREFUSED)";Peer="smartsip.domain.com"

Resolution:
If this error continues to occur, please contact your network administrator. The network administrator can use a tool like winerror.exe from the Windows Resource Kit or lcserror.exe from the Office Communications Server Resource Kit in order to interpret any error codes listed above.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Definitely progress. So I went through the configuration again and thought about flow. One of the things I had to get my head wrapped around was that the configuration guide’s example was with a single NIC while our setup was using a dual NIC. I’m not exactly sure what SmartSIP recommends but Microsoft’s OCS deployment guide’s best practice is to use 2 NICs to separate data and voice traffic. After thinking more about the flow, I realized that call traffic actually gets routed to the voice NIC on port 5070 from the front-end server. A quick telnet test to the voice NIC’s IP via port 5070 shows:

Could not open connection to host, on port 5070: Connect failed.

Another ping test to the voice NIC’s IP via port 5070 shows:

Request timed out.

This got me double checking the firewall on the SmartSIP/Mediation server but it was already turned off. I went ahead and tried to have the SmartSIP/Mediation server telnet to itself, ping itself and they all worked. As all of the obvious Windows skills I used appeared to not help, this was when I had to drawn on my expired CCNA skills of routing.

Problem Solution:

Long story short, the mediation/SmartSIP server has 2 NICs. There is only 1 NIC with the gateway and this happens to be the data NIC and not the voice NIC. The voice NIC can receive the traffic from the front-end but it has no way of replying since there’s no gateway and it’s on a completely different subnet.

I went ahead and did a route add x.x.x.x mask gateway then tried again and this time I was able to call from X-Lite to MOC.

Unfortunately, X-Lite to X-Lite still doesn’t work but at least I got part of the problem sort of figured out. I still need to look into how to set the route to only be used for the voice NIC and not the data NIC.

Stay tuned for other posts about SmartSIP.

Update

After doing some research on the internet, I figured out how to specify the route for that specific interface. You basically have to do a route print then look at the Interface List section (highlighted in red).

C:\Program Files\NET- Network Equipment Technologies\SmartSIP>route print
===========================================================================
Interface List
13...a4 ba db 35 9a 8f ......Broadcom BCM5716C NetXtreme II GigE (NDIS VBD Clie
nt) #2
11...a4 ba db 35 9a 8e ......Broadcom BCM5716C NetXtreme II GigE (NDIS VBD Clie
nt)
1...........................Software Loopback Interface 1
12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
14...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
16...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.106.1.1 10.106.1.10 266
10.102.0.0 255.255.0.0 On-link 10.102.1.4 266
10.102.1.4 255.255.255.255 On-link 10.102.1.4 266
10.102.255.255 255.255.255.255 On-link 10.102.1.4 266
10.106.1.10 255.255.255.255 On-link 10.106.1.10 266
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.106.1.10 266
224.0.0.0 240.0.0.0 On-link 10.102.1.4 266
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.106.1.10 266
255.255.255.255 255.255.255.255 On-link 10.102.1.4 266
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 10.106.1.1 Default
===========================================================================

IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 306 ::1/128 On-link
11 266 fe80::/64 On-link
13 266 fe80::/64 On-link
11 266 fe80::38d3:7e62:110f:1465/128
On-link
13 266 fe80::9523:cd2b:5daa:5204/128
On-link
1 306 ff00::/8 On-link
11 266 ff00::/8 On-link
13 266 ff00::/8 On-link
===========================================================================
Persistent Routes:
None

C:\Program Files\NET- Network Equipment Technologies\SmartSIP>

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

So now a simple:

C:\Program Files\NET- Network Equipment Technologies\SmartSIP>route add 10.106.1.0 mask 255.255.255.0 10.102.0.1 if 13
OK!

…does the trick.

No comments: