Tuesday, June 2, 2009

Your session was ended… Error code:0-0-18100-2-0

The last couple of days I was working at a customer side to deploy OCS R2 EE Consolidated Topology, CWA R2 server and OCS R2 Edge. Starting of with OCS R2 EE without any problems. The OCS R2 Documentation is btw very nice to read and makes your OCS R2 deployment much more easier than ever before.

When installing the CWA R2 server the real problems begun. Strange enough this specific error was never seen before. And also search via bing on this specific error nothing useful returned. Not “bings” fault but the error is not seen quite often. Some Spanish and Russian site did write feedback in the OCS R2 forums but nothing useful and still not helping me resolving this issue.

Issue:

When setting up the CWA R2 server and installing the bits for CWA R2 and after that requesting my certificate with the following paramaters:

LcsCmd.exe /Cert /Action:Request /sn:im.contoso.com /san: im.contoso.com,download.im.contoso.com,as.im.contoso.com /ca:ca-server.contoso.com /OU:OCSServers /org:Contoso /country:US /city:Redmond /state:WA /friendlyName:CWA_Certificate /exportable:TRUE

the webuser was still unable to connect to the pool (pool01.contoso.com). Error message:

Error code:0-0-18100-2-0 

So I verified:

  • Can the CWA R2 server connect to the OCS R2 EE pool server? Start: cmd, nslookup, set type=srv, _sipinternaltls._tcp.contoso.com
  • Can I telnet to port 5061 on the pool server. telnet pool01.contoso.com 5061 (blank page returned)
  • Does it make sense when I change the default port 5061 back to 5060?
  • Does it make sense to enabling Server to Server compression on the Pool/Front End properties on the Compression tab?
  • Does it make sense to run the Logging Tool on the CWA R2 server?
  • Does the CWA R2 and OCS R2 server both share the correct Root Certificate Chain?

The last two options will be the best choice for investigating to resolve this issue. After some drill down’s in the CWA R2 Diagnostic Logging I saw some error saying:

<<<<< [UCWeb.exception] (endpoint)----- <epid=15(sip:usera@contoso.com)
UCWEB Failure: Code=OcsFailureResponse, SubCode=OcsOperationTimeout, Reason=
Microsoft.Rtc.Internal.UCWeb.Utilities.UCWException: This operation has timed out. ---> Microsoft.Rt
c.Signaling.OperationTimeoutException: This operation has timed out.
   at Microsoft.Rtc.Signaling.SipAsyncResult`1.ThrowIfFailed()
   at Microsoft.Rtc.Signaling.Helper.EndAsyncOperation[T](Object owner, IAsyncResult result)
   at Microsoft.Rtc.Collaboration.LocalEndpoint.EndEstablish(IAsyncResult result)
   at Microsoft.Rtc.Internal.UCWeb.UCWAuthenticatedEndpoint.OotyUserEndpointEstablish_callback(IAsyn
cResult asyncResult)

and:

( 0000000002DCBCA1 )Endpoint unbound: <endpointId=15>, <SipUri=sip:usera@contoso.com>TL_WARN (TF_COMPONENT) UCWeb (UCWEndpointManager.UnBind:endpointmanager.cs(200))        [0]0DBC.0C44
::05/28/2009-14:21:57.704.00000004
    ( 0000000002DCBCA1 )Unbind: Endpoint not found: <endpointId=15>, <SipUri=sip:usera@contoso.co
m>

For me this error was indicating that there was something wrong on the certificate side. When setting up the CWA R2 server, two different certificates are used. One certificate for MTLS usage and one certificate for public SSL web access. The first certificate is used for server-to-server encryption (server to server communication) and the second certificate is used as web server certificate used on your internal or external Virtual CWA R2 website.

In my specific case the CWA R2 server was used for public remote information workers connecting all over the world so we decided to request an third party certificate.

Resolution or workaround:

(Step 1)

Make sure the request a Web Server certificate from a Windows Server CA procedure is going well. So replace the lcscmd.exe command line to your specific configuration:

LcsCmd.exe /Cert /Action:Request /sn:im.contoso.com /san: im.contoso.com,download.im.contoso.com,as.im.contoso.com /ca:ca-server.contoso.com /OU:OCSServers /org:Contoso /country:US /city:Redmond /state:WA /friendlyName:CWA_Certificate /exportable:TRUE

(Step 2)

Depending on your type of Windows CA (hopefully Windows Server 2008) issue the certificate if needed. Open the Certificate Authority MMC on the CA server en double click the certificate who is now under the folder “issued certificates” and export the entire certificate to a P7B extension.

(Step 3)

On the Communicator Web Access server, click Start, and then click Run. In the Run dialog box, type mmc, and then click OK.On the File menu, click Add/Remove Snap-in.In the Add/Remove Snap-in dialog box, click Add.In the list of Available Standalone Snap-ins, click Certificates. Click Add.In the Certificates Snap-in dialog box click Computer account, and then click Next.In the Select Computer dialog box, ensure that the Local computer: (the computer this console is running on) check box is selected, and then click Finish.Click Close, and then click OK. In the left pane of the Certificates console, expand Certificates (Local Computer), expand Trusted Root Certification Authorities, and then click Certificates. Right click the Trusted Root Certification Authorities and import the response file (P7B issued by your CA server). And confirm that the certificate is located in this folder.

(Step 4)

Make sure you also copy the certificate to your personal store in the same interface like step 3. Make sure the issuing CA root certificate is also there.

(Step 5)

Double clock the certificate you copied and make sure that the certification path is showing you both the CA server and the issued certificate used for MTLS.

Test your connection again by hitting the CWA URL and you will see that the problem is solved. Any questions please contact me if you want.

2 comments:

Guidi said...

I did everything and don´t work you know why... i recive the same error ...

Guidi said...

Can u help me ... If u can send me e-mail.. a wold like to talk to you ....