Impossible de se connecter à Office Communication Server via l'API Unified Communications

StackOverflow https://stackoverflow.com/questions/1941786

  •  20-09-2019
  •  | 
  •  

Question

Je suis en train de se connecter à Office Communication Server à l'aide des communications unifiées API gérés. J'ai essayé mon utilisateur et un utilisateur nouveau activé pour OCS. Les deux compte peut se connecter avec succès dans le client Office Communicator, mais ne parviennent pas à l'aide de l'API. Lors de la création du justificatif d'identité réseau, si je passe le nom d'utilisateur sous la forme domaine \ nom d'utilisateur, je reçois cette erreur:

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

Si je laisse hors du domaine dans le nom d'utilisateur I cette erreur:

ResponseCode=404 ResponseText=Not Found
DiagnosticInformation=ErrorCode=4005,Source=OCS.mydomain.com,Reason=Destination URI either not enabled for SIP or does not exist
Était-ce utile?

La solution

Il s'avère que ce fut un oubli de ma part. Notre domaine AD et le domaine de communication sont différents, j'avais supposé qu'ils étaient les mêmes.

Le titre du réseau est du domaine \ nom d'utilisateur et l'adresse SIP aurait dû être sip: username@companyname.com, j'utilisais sip:. Username@domain.com

Autres conseils

Deux choses à noter:

  1. Nom d'utilisateur ne doit pas contenir le domaine. Il devrait y avoir une propriété séparée du domaine de NetworkCredential que vous devriez utiliser.
  2. Vous devez également passer dans l'URI utilisateur ainsi - par exemple:

//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);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top