1

我正在尝试使用统一通信托管 API 连接到 Office Communication Server。我已经尝试过我的用户和为 OCS 启用的新用户。两个帐户都可以成功登录 Office Communicator 客户端,但使用 API 失败。创建网络凭据时,如果我以域\用户名的形式传入用户名,我会收到以下错误:

SupportedAuthenticationProtocols=Ntlm, Kerberos
Realm=SIP Communications Service
FailureReason=InvalidCredentials
ErrorCode=-2146893044
Microsoft.Rtc.Signaling.AuthenticationException: The log on was denied. Check that the proper credentials are being used and the account is active. ---> Microsoft.Rtc.Internal.Sip.AuthException: NegotiateSecurityAssociation failed, error: - 2146893044

如果我在用户名中离开域,则会出现此错误:

ResponseCode=404 ResponseText=Not Found
DiagnosticInformation=ErrorCode=4005,Source=OCS.mydomain.com,Reason=Destination URI either not enabled for SIP or does not exist
4

2 回答 2

2

原来这是我的疏忽。我们的 AD 域和通信器域不同,我以为它们是相同的。

网络凭据是域\用户名,sip 地址应该是 sip:username@companyname.com,我使用的是 sip:username@domain.com。

于 2010-01-11T22:12:56.523 回答
0

有两点需要注意:

  1. 用户名不应包含域。您应该使用 NetworkCredential 的单独域属性。
  2. 您还需要传入用户 URI - 例如:

//Initialize and register the endpoint, using the credentials of the user the application will be acting as.
        UserEndpointSettings userEndpointSettings = new UserEndpointSettings(_userURI, _userServer);
        userEndpointSettings.Credential = _credential;
        _userEndpoint = new UserEndpoint(_collabPlatform, userEndpointSettings);
        _userEndpoint.BeginEstablish(EndEndpointEstablish, _userEndpoint);

于 2010-01-03T04:28:34.967 回答