TLSFailureException в приложении UCMA 4.0 после обновления до Skype для бизнеса 2015
У меня есть приложение UCMA 4.0, написанное на C#, которое позволяет настраивать пользовательское присутствие. До этих выходных он общался с нашим сервером под управлением Lync 2013 и работал нормально. В эти выходные сервер был обновлен до Skype для бизнеса 2015, что, по мнению Microsoft, не должно вызывать проблем для приложений UCMA 4.0. Вчера, в понедельник, мое приложение работало нормально с новой версией, но сегодня я увидел, что они не работают, и я не смог заставить их оставаться подключенными к серверу. Я получил следующую ошибку:
Информация об исключении: стек Microsoft.Rtc.Signaling.TlsFailureException:
в Microsoft.Rtc.Signaling.QueueWorkItemState.ExecuteWrappedMethod(System.Threading.WaitCallback, System.Object) в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallject, System.Object, System.Object, System.Object, System.Object, System.Object, System.Object.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.read.ol.TechItp)
Я нашел статью о подобной проблеме, в которой говорится, что она возникает, когда серверу, на котором размещено приложение UCMA, не нравится сертификат, поступающий с сервера Lync/Skype. Оттуда я проверил "Системный" журнал Windows из средства просмотра событий на моем сервере приложений UCMA и обнаружил следующую ошибку из источника "Schannel":
Сертификат, полученный от удаленного сервера, не содержит ожидаемого имени. Поэтому невозможно определить, подключаемся ли мы к правильному серверу. Имя сервера, которое мы ожидали, это sip.domain.com. Запрос на соединение SSL не выполнен. Вложенные данные содержат сертификат сервера.
У кого-нибудь есть идея, что могло измениться, чтобы вызвать это?
1 ответ
Я решил проблему, обновив сертификат на своем сервере Lync/Skype, добавив в качестве одной из записей "Subject Alternative Name" "sip.domain.com". Это позволило моему серверу UCMA принимать сообщения от сервера Lync/Skype.
Тем не менее, я до сих пор не понимаю, почему это изменение было необходимо, поскольку в Lync 2013 все работало нормально, а сертификаты во время обновления Skype для бизнеса 2015 не вносились.