Chat Room Skype For Business

  1. Via Skype for Business. Sign into your Skype for Business. Select the chat rooms group option. Click on the plus button on the right side of the screen and select Create a Chat Room. Sign in using Skype for Business credentials. Select the chat room from available list. Make the needed changes and select commit changes.
  2. We use Skype for Business in our organization which is a fairly common IM applications used in enterprises. The most common distraction while working is popping up of Skype message. And then it takes even more time to reply and finish the conversation, because not replying to colleagues is just rude.
  3. If you mean this Skype for Business chat room, I think you are using the on-premises Skype for Business Server. Because the Persistent Chat (Chat Rooms) is not available through Skype for Business Online. In this situation, it is suggested to post your question in Lync forum as we focus on Skype for Business Online. You will get a better.
  4. If you want to manage chat rooms by using the Skype for Business client, see the client help. Chat rooms can be one of two types: Normal and Auditorium. A Normal chat room allows all members to post and read messages. An Auditorium is a type of chat room where only Presenters can post, but everyone can read.

We use Skype for Business in our organization which is a fairly common IM applications used in enterprises. The most common distraction while working is popping up of Skype message. And then it takes even more time to reply and finish the conversation, because not replying to colleagues is just rude. So I thought why not create a bot that replies to the messages for me. Unfortunately, Microsoft Bot Framework does not support Skype for Business as one of the channels so I had to find another way to make it works.

Skype for Business has set of APIs called Unified Communications Web API which can enable us to integrate it with a bot, however it is unnecessarily complicated (it requires 5 HTTP calls to just send 1 message). So after searching a bit, I found that Lync 2013 SDK still works with Skype for Business (courtesy to my friend Om) and found an excellent starter code at Taha Amin’s Github Repo BotConnectorSkypeForBusiness.

Import Persistent Chat data that we exported to new Skype for Business Pool: Import-CsPersistentChatData -DBInstance “SQLCL02.Exchangequery.com SkypeDB” -FileName “c: temp PChatBckup.zip” We will get a confirmation as below before the import and the progress bar.

Lync SDK is fairly straightforward to use. It is event-based and integrates easily with Bot Framework. The only limitation is that Lync 2013/Skype for Business should be already running. Using this I created a simple bot that would let me work in peace. Source code is over here

Dependency

The bot has an optional dependency on Redis server. Since the bot will not be talking to Microsoft Bot Connector in any way, we would need to store bot’s context somewhere ourself. I had earlier used locally running instance of Redis. However now I have commented out RedisStore and used InMemoryStore. To use Redis store uncomment the region in Program.cs and comment InMemory region.

You would also need Skype For Business running and signed in.

Features

So what does the bot do as of now? It accepts the incoming IM and -

  • Responds to greetings - Hi, Hello, Good Morning etc.
  • In case the person wants to call me or asks whether I am free - respond that I am busy and will talk later and set my status to Busy.
  • Ignore any other messages - Pretend I am busy
  • Exception Filter - Bot does not reply anything if sender is present in Exception List. I don’t want to reply to my manager that I am busy if he pings me. :)

How to use

The bot is just a console application. The bot service is not hosted as Web Api, but runs within the console applications.First create a new LUIS application by importing the model json from LuisModel directory. Copy your LUIS model id and subscription key and paste it in LuisModel attribute in LyncLuisDialog.cs.

The exception list is located in App.config in the console project. Values are ; separated.

Make sure your Skype for Business client is running and you are signed in and just start the console project. Ask your friend to ping you and see what happens.

How it works

Chat Room Skype For Business

Lync 2013 SDK is based on event driven programming. We just subscribe to right event instantMessageModality.InstantMessageReceived += InstantMessageReceived; and any messages will come to our InstantMessageReceived method.

Once we get the message text, we bootstrap our bot and pass the text as properly formatted Activity message.

The bot then follows usual flow of sending the text to LUIS and determining the intent. Based on the context, it will then send it response back to - BotToUserLync class which implements IBotToUser. This allows us to catch the bot response and instead of sending it to the Bot Connector, we use Lync SDK once again to reply it to our counterpart.

The Exception Filter is managed in ManagerScorable which implements IScorable<IActivity, double>. Scorables are the way to intercept the bot pipeline and branch off with another logic based on requirements. In our case, we check if the incoming message was sent from anyone on the filter list and if it is then we just do nothing. I may write another post on Scorables and discuss about it a little more later.

Conclusion

That’s it. It took me a day to get it all done. The bot is very rudimentary but gets the job done. I now no longer have to reply toe very conversation when I am working. In any case, Skype for Business already saves all the conversation history so I can go over them once I get free. One day of work and lifetime of peace. :)

I hope this article was helpful. If you have any questions, please post a comment below.

-->

Summary: Learn how to manage Persistent Chat Server chat rooms in Skype for Business Server 2015.

Creating and managing chat rooms is much easier with the correct use of categories. A category defines who can create or join the chat rooms. Before you attempt to manage chat rooms, be sure to read Persistent chat categories, chat rooms, and user roles in Skype for Business Server 2015 and Manage categories in Persistent Chat Server in Skype for Business Server 2015.

Note

Persistent chat is available in Skype for Business Server 2015 but is no longer supported in Skype for Business Server 2019. The same functionality is available in Teams. For more information, see Getting started with your Microsoft Teams upgrade. If you need to use Persistent chat, your choices are to either migrate users requiring this functionality to Teams, or to continue using Skype for Business Server 2015.

You can configure and manage chat rooms by using the Windows PowerShell command-line interface, or by using the Skype for Business client if you are a member of the chat room. This topic describes how to manage chat rooms by using the Windows PowerShell command-line interface. If you want to manage chat rooms by using the Skype for Business client, see the client help.

Chat rooms can be one of two types: Normal and Auditorium. A Normal chat room allows all members to post and read messages. An Auditorium is a type of chat room where only Presenters can post, but everyone can read.

Who can access and manage chat rooms depends on user roles as follows:

  • Users must be Members of a chat room to be able to post and read messages.

  • Presenters are allowed to post to Auditorium rooms.

  • Administrators can delete earlier content (for example, content that was posted before a certain date) from any chat room to keep the database from growing too large. Administrators can also remove or replace messages that are considered inappropriate for a particular chat room.

  • End users, including message authors, cannot delete content from any chat room.

  • Chat room Managers can make changes to all chat room properties, including disabling rooms. Managers cannot, however, delete a room, or change the category of a room.

  • Only Administrators can delete a chat room after it has been created.

You can configure and manage chat rooms by using the following Windows PowerShell cmdlets:

CmdletDescription
New-CsPersistentChatRoom
Create a new chat room
Set-CsPersistentChatRoom
Configure settings for an existing room; assign users and user groups to the room
Get-CsPersistentChatRoom
Retrieve information about rooms
Clear-CsPersistentChatRoom
Clear a room or messages from a room
Remove-CsPersistentChatRoom
Remove a room
Remove-CsPersistentChatMessage
Remove messages from a room

You use the New-CsPersistentChatRoom cmdlet to create chat rooms and the Set-CsPersistentChatRoom cmdlet to configure an existing chat room, including adding users to the chat room. You can configure the following parameters for chat rooms:

  • Disabled. Lets you disable or enable a chat room.

  • Invitations. Lets you enable or disable chat room invitations, which are used to notify users when they have been added as chat room members. The default setting for invitations in inherit, which caused the chat room to adopt the invitation setting configured on the category it belongs to. Configuring the invitations setting to false at the chat room level allows the category setting to be overridden.

  • Privacy. Lets you specify whether a chat room is Open, Closed, or Secret. Open rooms can be searched and accessed by anyone. Closed rooms can be searched by anyone, but can be accessed only by members. Secret rooms can be searched and accessed only by members of the room. By default, each new room is initially configured as Closed.

  • Type. Lets you specify whether a chat room is a Normal room, which accepts messages posted by any member, or an Auditorium room, which accepts messages posted only by a Presenter.

  • Addin. Lets you associate a previously configured add-in with a chat room, which allows URL content to be viewed by members while participating.

In addition to the above parameters, the Set-CsPersistentChatRoom cmdlet lets you assign users to the chat room as follows:

  • Members. Configures membership for the chat room. You can add or remove either the individual or multiple members using a single cmdlet by specifying the SIP address of the users. To allow users to be added in bulk, Active Directory organizational units or distribution groups can also be specified.

  • Managers. Lets you assign managers to the chat room. Managers have the permissions to define membership of a chat room along with other settings.

  • Presenters. Lets you assign presenters to an Auditorium chat room.

    For details about syntax, including all parameters, see Skype for Business Server 2015 Management Shell.

Skype

Create a new room

You can create a new room by using the New-CsPersistentChatRoom cmdlet. For example, the following command creates a new chat room named ITChatRoom on the pool atl-cs-001.contoso.com. In this example, the chat room is added to the IT category:

Note: PersistentChatPoolFqdn is not needed if one of the following is true:

  • There is only one Persistent Chat Server pool.

  • You provide a pool FQDN to the category.

  • You provide a pool FQDN to adding the room.

Configure an existing room

You can configure an existing room by using the Set-CsPersistentChatRoom cmdlet. For example, the following command assigns user1 as a Member and Presenter, and user2 as a Manager, of the testCat Auditorium room:

The next example adds all the users from the NorthAmericaUsers OU in active Directory to the NorthAmerica chat room:

Chat Room Skype For Business

Create Persistent Chat Room Skype For Business 2015 Powershell

The next example adds all the members from the Finance distribution group to the same chat room:

Disable or enable a room

If the topic of a Persistent Chat room is no longer relevant, you can make the chat room unavailable to users by disabling it. When a chat room is disabled, all members are immediately disconnected from the room. After a chat room is disabled, users cannot rejoin it or find it in chat room searches.

If the chat room's history persists, the content is preserved when the chat room is disabled. However, that content will not appear in searches during the time that the chat room remains in a disabled state. If you later enable the chat room, users can search for messages that were posted before the chat room was disabled. For information about configuring chat room history, see Manage categories in Persistent Chat Server in Skype for Business Server 2015.

If a chat room is disabled, its membership list and other settings are preserved. As an administrator, you can enable a room that has been disabled, and you do not need to manually re-create the settings.

You can disable a room by using the Set-CsPersistentChatRoom cmdlet and setting the Disabled parameter to True:

Chat Room Skype For Business Login

To enable a chat room, set the Disabled parameter to False:

Get information about rooms

To get information about the rooms configured for use in your organization, you can use the Get-CsPersistentChatRoom cmdlet.

The following command returns information about all the chat rooms configured for use in the organization:

Remove all content from a room

You can remove content from a room by using the Clear-CsPersistentChatRoom cmdlet. For example, the following command removes all the content from the Persistent Chat room ITChatRoom that was added to the room on or before March 1, 2015:

Remove a message from a room

You can remove one or more messages in the Persistent Chat database, and optionally replace the message with a default message or with an administrator-provided message, by using the Remove-CsPersistentChatMessage cmdlet. For example, the following command removes all the messages from the ITChatRoom chat room that were posted by the user kenmyer@contoso.com:

The next example replaces any removed messages with the note that the message is no longer available:

Remove a room

You can remove a room by using the Remove-CsPersistentChatRoom cmdlet.

For example, the following command removes the chat room RedmondChatRoom:

Skype For Business Chat Room Tab

Move a room from one category to another

Chat Room Skype For Business

If a chat room manager has Creator privileges in another category, he or she can move the room from one category to another. The room is not deleted and recreated. It is a change of association within the database.

Create Persistent Chat Room Skype For Business Powershell

Changing a chat room category should be done rarely and with caution. A category determines the allowed membership for the chat room, so when a chat room is moved to another category, all the system access control lists (SACLs) that are no longer supported by the new category are purged. For example, if a user was a member of the room and is no longer an allowed member in the new category, the room membership will be modified and the user will be removed from the room.