DCN SWSMD
Streaming Meeting Data
en Interface Manual
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 2 |
|
|
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 3 |
|
Table of Contents |
|
|
1. Introduction.............................................................................................................................................. |
4 |
|
1.1 |
Purpose......................................................................................................................................... |
4 |
1.2 |
Scope ............................................................................................................................................ |
4 |
1.3 |
Definitions, Acronyms and Abbreviations ..................................................................................... |
4 |
2. Streaming Meeting Data (DCN-SWSMD) ............................................................................................... |
5 |
|
2.1 |
Issues to know: ............................................................................................................................. |
5 |
3. Configuration........................................................................................................................................... |
6 |
|
3.1 |
Description .................................................................................................................................... |
6 |
3.2 |
Registering a TcpIpActivityTraceListener(s) ................................................................................. |
6 |
3.3 |
Defining the TcpIpActivityTraceListener ....................................................................................... |
7 |
|
3.3.1 IPAddress ........................................................................................................................ |
7 |
|
3.3.2 ConnectionPort ................................................................................................................ |
7 |
|
3.3.3 AllowedClients ................................................................................................................. |
7 |
|
3.3.4 TopicFilter ........................................................................................................................ |
7 |
|
3.3.5 ActivityTypeFilter.............................................................................................................. |
8 |
|
3.3.6 MaxQueuedItems............................................................................................................. |
9 |
3.4 |
Multiple TcpIpActivityTraceListeners ............................................................................................ |
9 |
4. Activities................................................................................................................................................. |
10 |
|
4.1 |
Activity details ............................................................................................................................. |
10 |
4.2 |
Activity containers ....................................................................................................................... |
13 |
|
4.2.1 Translation from activity data into XML ......................................................................... |
17 |
5. Creating a customized client................................................................................................................ |
19 |
|
5.1 |
Connecting with the TcpIpActivityTraceListener......................................................................... |
19 |
5.2 |
Receiving the data ...................................................................................................................... |
19 |
5.3 |
Deserializing the received activities ............................................................................................ |
20 |
5.4 |
Lists ............................................................................................................................................. |
22 |
Appendix A. ADDITIONAL INFO............................................................................................................... |
24 |
|
A.1. Enumerations............................................................................................................................. |
24 |
|
A.2. Example XML Strings ................................................................................................................ |
26 |
|
|
A.2.1. SeatUpdated................................................................................................................. |
26 |
|
A.2.2. InterpretationTranslationStarted................................................................................... |
26 |
|
A.2.3. MeetingStarted ............................................................................................................. |
27 |
|
A.2.4. MeetingStopped ........................................................................................................... |
28 |
|
A.2.5. VotingStopped.............................................................................................................. |
28 |
|
A.2.6. MicrophoneTestStopped .............................................................................................. |
28 |
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 4 |
|
|
This document is the DCN-SWSMD user manual. The user manual describes how to configure the DCN NG server to send the activities and how to create a Client that can receive these activities.
This document provides information for the customer that wants to create a Client application showing meeting data.
This document is intended for 3rd party software developers.
The code examples within this document are based on C# from framework 3.5.
Activity |
An activity that happens in the server, e.g. MeetingStarted |
Topic |
A Topic defines a category in which a group of related |
|
activities is located. |
C# |
An object oriented programming language developed by |
|
Microsoft as part of the .NET initiative. |
TcpIpActivityTraceListener |
Standard Windows activity listener |
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 5 |
|
|
Streaming Meeting Data can be used to create customizable videoscreens contain meeting data.
Streaming Meeting Data unlike other modules does not require any user action to operate; it is a software stream from the Bosch DCN Conference Software Server over an Ethernet connection.
The stream consists of XML data which can be received by any number of custom made PC software clients.
•License Key
The stream is only available when the License key in the CCU contains DCN-SWSMD.
When the license key in the CCU does not contain DCN-SWSMD then activities are not queued.
•Configuration
By default the DCN-SWSMD functionality is enabled and does not need any configuration settings.
•Access Control
Access control for custom made clients is done via a list of allowed IP addresses. When a client tries to connect from an IP address which is not present in the list then the connection is rejected.
This list of allowed IP addresses is optional and all clients are accepted when this list is not set.
•Filtering
Filter options are available to define which type of activities are streamed. Filtering is optional and when no filtering is configured all activities are streamed.
•Queues
o The size of the queue in which the activities are placed before they are streamed can be defined for both the connected (at least one client is connected) and the disconnected state.
o The activity queue will hold queued activities even when no clients are connected. When a client connects it will cause the queue to start sending the queued activities after which they are removed from the queue.
o The activity queue has a limited size. Queuing activities into a full queue will cause the oldest activities to be removed. The activities which are removed from the queue will be logged as a warning into the event log.
•Performance
On a typical system, running without any problems, meeting data is communicated to the connected clients within 1 second after a change is initiated. This response time does not include the processing time of the external client(s).
•Bidirectional
The stream is not bidirectional, any data send from a custom made client to Bosch DCN Conference Software Server is ignored.
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 6 |
|
|
By default the DCN-SWSMD functionality is enabled and does not need any configuration settings; if advanced settings are not needed this chapter can be skipped.
DCN-SWSMD can be used to receive activities from the Bosch DCN Conference Software Server. As an example it is possible to receive an activity when a meeting is started. With this activity the sessions for the meeting, the participants, etc. will also be sent.
The DCN-SWSMD functionality is only available when the License key in the CCU or NCO contains DCN-SWSMD. Without this correct License key no activities are communicated with the connected client(s) via TCP/IP.
The configuration of the DCN-SWSMD is done via the configuration file of the server (..\Program Files\Bosch\Digital Congress Network\DCN-SW\Server.exe.config). In this file multiple activity loggers can be defined, each with their own filter settings.
The following describes a possible setup with multiple TcpIpActivityTraceListeners running at the server side. These listeners are responsible for waiting for custom clients that want to connect. It is possible that multiple custom clients are connected with the same TcpIpActivityTraceListener.
The communication between server and custom clients is only one way as depicted by the arrow.
Custom
Client 1
Custom
Client 2
DCN-SW Server
TcpIpActivityTraceListener #1
|
|
|
|
|
Custom |
|
|
|
|
|
TcpIpActivityTraceListener #n |
|
||
Client n |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The configuration of the DCN-SWSMD is done via the configuration file of the server (..\Program Files\Bosch\Digital Congress Network\DCN-SW\Server.exe.config). In this file multiple activity loggers can be defined, each with their own filter settings.
An activity logger can be set up to listen at a certain TCP/IP port for custom clients that want to connect. The filters are used to pass through only specific data.The following example is taken from the server configuration file where it was added within the <sources> region:
<source name="ActivityCategory" switchName="ActivitySwitch" switchType="System.Diagnostics.SourceSwitch">
<listeners>
<remove name="Default"/> <add name="[ListenerName]"/>
</listeners>
</source>
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 7 |
|
|
Where [ListenerName] can be any name for the TcpIpActivityTraceListener
The server configuration file needs to be extended so that the following is added within the
<sharedlisteners> region:
<add name="[ListenerName]" type="Bosch.Dcn.Ecpc.Server.Services.TraceListeners.TcpIpActivityTraceListener,
Bosch.Dcn.Ecpc.Server.Services" IpAddress="192.168.1.1" ConnectionPort="20000"
AllowedClients="BDAZ1063, localhost, 192.168.10.3" TopicFilter="Meeting, Session" ActivityTypeFilter="MeetingStarted, SessionStarted" MaxQueuedItems="50, 100"/>
Where the [ListenerName] is set to the [ListenerName] as configured in the paragraph “Registering a TcpIpActivityTraceListener”.
A new activity logger is created with the name [ListenerName].
The type defines the type and the namespace of the trace listener that is instantiated when an activity is traced.
This defines the IP address on which the external clients should connect. This is used when multiple IP addresses are available on the computer on which the server is running.
This field is not mandatory. If it is not set then default the activity logger will accept the connection of external clients on all IP addresses available on the server.
This defines the port at which this specific activity logger should listen for new clients. This field is mandatory. This specific activity logger will not start when this is not set.
This can be used to only allow certain clients to connect. These clients can be defined by entering the computer name or by entering IP addresses. This field is not mandatory, if it is not present then default all external clients are allowed to connect.
Usage
AllowedClients="[Client][, [Client]]"
Where [Client] can either be a host name or a valid IP address.
This allows filtering the activities at the topic level. It is possible to filter on multiple topics.This field is not mandatory; when it is not set then default no filtering takes place and all activities are send to the custom clients.
NOTE: This is only true when the ActivityTypeFilter is not set. Else the activities will also be filtered by the activity type.
Usage
TopicFilter="[Topic][, [Topic]]"
Where [Topic] can contain one of the following values:
•System
•Meeting
•Session
•Discussion
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 8 |
|
|
•Participant
•Seat
•Voting
•Interpretation
•ServiceCall
•Booth
•Desk
•TestSystem
This allows filtering the activities based on their type. It is possible to set up the filtering so that only one specific activity is send to the connected clients. Pay attention that in most cases it does not make sense to combine the TopicFilter and the ActivityTypeFilter, use either none or only one.
This field is not mandatory, when it is not set then default no filtering takes place on activity types.
Usage
ActivityTypeFilter="[ActivityType][, [ActivityType]]"
Where [ActivityType] can contain one of the following values:
•SystemStarted
•SystemStopped
•MeetingDataUpdated
•MeetingStarted
•MeetingStopped
•ParticipantAdded
•AttendanceRegistrationStarted
•AttendanceRegistrationStopped
•SessionDataUpdated
•SessionStarted
•SessionStopped
•SessionSuspended
•SessionResumed
•DiscussionDataUpdated
•RequestListUpdated
•ResponseListUpdated
•ActiveListUpdated
•ActiveResponseListUpdated
•SpecialEquipmentListUpdated
•VotingDataUpdated
•VotingStarted
•VotingStopped
•VotingOnHold
•VotingResumed
•VotingSelected
•VotingInterimResults
•SeatAdded
•SeatUpdated
•SeatRemoved
•SeatPriorityButtonActivated
•SeatPriorityButtonDeactivated
•ParticipantUpdated
•InterpretationTranslationStarted
•InterpretationTranslationStopped
•ServiceCallStarted
•ServiceCallIsBeingServiced
Bosch Security Systems | 2013 July
DCN-SWSMD Streaming Meeting Data |
en | 9 |
|
|
•ServiceCallHandled
•ServiceCallCanceled
•BoothInUse
•BoothNotInUse
•DeskAdded
•DeskUpdated
•DeskRemoved
•ChannelTestStarted
•ChannelTestStopped
•MicrophoneTestStarted
•MicrophoneTestEnded
•MicrophoneTestCanceled
•MicrophoneTestFailed
The activities are placed in a queue when they occur. After that they are handled sequentially onto a separate thread so that the oldest in the queue is handled first. This ensures that in busy periods where a lot of activities occur the activities are still send in the correct sequence to the clients. However to prevent the queue to fill up with too much activities it is possible to set the maximum number of activities that are queued. When an activity is queued into a full queue it will cause the oldest activity in the queue to be removed. This activity will not be sent to the external clients, it will however be logged in the Windows event log.
When setting the MaxQueuedItems one should pass 2 numbers. The first number represent the queue size when no clients are connected and the second number is used when at least 1 external client is connected.
If the activity logger is running without any connected external clients then the activities that occur are queued and stored. The connection of an external client triggers the activity logger and all queued activities are then sent to the external client.
NOTE: If the queued activities are sent to the external client then they are removed from the queue. So new external clients will only receive new activities.
This field is not mandatory, when it is set, it replaces the default queue size of 50.500 activities.
Usage
MaxQueuedItems="MaxItemsInDisconnectedMode, MaxItemsInConnectedMode"
Where [MaxItemsInDisconnectedMode] can contain one of the following values: 0 – 1000 Where [MaxItemsInConnectedMode] can contain one of the following values: 0 - 1000
It is possible to define more then one TcpIpActivityTraceListener. The advantage is that each trace listener can have their own specific filter settings. To do this create and register another TcpIpActivityTraceListener. Note that the name of the new created listener must be different then the first defined listener.
Bosch Security Systems | 2013 July