Issues with Group Chat File Upload

I ran into a couple of issues getting the file upload feature to work in Group Chat.  I followed all of the documentation found on TechNet (https://technet.microsoft.com/en-us/library/dd441213(office.13).aspx), which unfortunately leaves out some important steps.  Below is a list of the issues that I ran into and the resolutions:

Issue #1

When trying to upload a file in Group Chat, I got the following error:

A file transfer error occurred. Unable to connect to the remote server

I checked to make sure that all of the Group Chat services were running, and I noticed that the Web Service was stopped.

Continuing to look through the configuration options, I saw that the URL for the Web Services started with https, but I didn't remember adding the certificate to IIS, so I checked and sure enough, the only binding was for http.  I added another binding for https.

Once I did that, refreshing the Group Chat Server Configuration application, the Web Service was running.  Issue #1 resolved!

 

Issue #2

I tried uploading another file and got the following error message:

A file transfer error occurred. Server was unable to process request. ---> [121] Sql error: opening a connection

---> Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

This was interesting because I was sure that I changed IIS to use the channel service account for anonymous access.  I checked and it wasn't set to the channel service account, so I changed it and restarted IIS.  This step is documented here: https://technet.microsoft.com/en-us/library/dd441213(office.13).aspx.  Issue #2 resolved!

Issue #3

I again tried uploading another file and got the following error:

A file transfer error occurred. Server error.

This one was difficult to track down.  The file would start to upload, but then error out.  The error message doesn't give you much to go on.  I had a feeling that file permission were going to be an issue, so I started looking at the shares that I created.  I noticed that in the share for the Web Service,  the file was sucessfully uploaded to the UploadTemp directory, but it wasn't being moved to the directory for the chat room.  My issue ended up being caused by the fact that I had the Compliance Server role setup and I didn't have the proper permission on the compliance share.  This was causing the upload to fail because the channel service account didn't have rights to copy the file to the compliance share.  Below is a list of the permissions needed for both shares:

Share Permissions for the Compliance Share
Channel Service Account - Read, Change
Compliance Service Account - Read

NTFS Permissions for the Compliance Share
Channel Service Account - Modify
Compliance Service Account - Read, List Folder Contents

Share Permissions for the Web Service Share
Channel Service Account - Read, Change

NTFS Permissions for the Web Service Share
Channel Service Account - Modify

 

After making sure that the shares had the correct permission, I was finally able to successfully upload a file.  Issue #3 resolved!