3
votes

We are using the Skype for Business Web SDK in our application to show the presence of contacts.

When the contact is someone inside the user's organisation (and therefore the same AD instance as the user), we register a callback function on the contact's status onChange event and this works well.

However, when the contact is outside the user's organisation (and therefore a different AD instance to the user), we find that the contact's status onChange event never fires and so there is no way to know their status.

The code we are using is as follows:

skypeContactService.subscribeToStatusChange = function (contact) {
  contact.status.changed(function (status) {
    ...
  });
  contact.status.subscribe();
};

I wouldn't have thought this is a deliberate security measure, because in Outlook Online's Skype for Business functionality you are able to see the presence of external contacts.

So perhaps this is a bug in the Skype for Business Web SDK? Or perhaps it is functionality that hasn't been implemented yet?

Would someone from Microsoft be able to clarify whether there is a plan to enable getting presence for contacts outside of the user's organisation?

Any help would be greatly appreciated!

1
Are you federated with the domains of the external contacts? Are any of the external contacts able to receive presence updates? If you try to execute contact.status.get() and chain the result are you able to see any status for the contact (contact.status.get().then(function (status) { console.log(status); });ShelbyZ
Hi Shelby - answers to your questions: 1) No we are not federated with the domains of the external contacts. 2) The external contacts, through Outlook, are able to see our presence changes that we make through the SDK 3) Executing the code above gives us the value "Unknown" Given they can see our presence, but we can't see theirs, I wouldn't expect that federation would be required. Any further thoughts?David de-Vilder

1 Answers

-1
votes

Federation should be required to see presence and do conversation related activities like IM, Audio, Video. I am not an expert on this side of Skype/Lync, but I would suggest looking over the Federation Documentation as I would argue you have no link to the external users, so you would not be able to see that information.

To solve your exact problem you would need to have federation with any organization that you want to be able to see presence or start conversations.

It could be that they are federated with your organization so they can see your presence information or if they are hosted online (O365), it may be there are alternate APIs that expose presence information without being federated. Are they able to start an IM or A/V conversation with any of your users (it should fail because your side is not federated)?