OneContactMeetingServer

OneContactMeetingServer is a server that allows to create conference rooms. On this article you have:

 

 

Scenarios

It is integrated on OneContactPBX (although, since it's SIP and has a API REST, it can be integrated on any other product)  in order to enable audio conference functionalities in two distinct scenarios:

 

Instant conferences

In this scenario there is a DDI dedicated to the MeetingServer and is answered by an IVR. To access a ConferenceRoom, users have to:

  • Insert a common access password.
  • Insert the room identifier (shared previously).
  • OneContactMeetingServer receives the room identifier:
    • If there's no room with that identification, creates one.
    • If there's a room in execution, with that identification, the user is redirected to the room.

This scenario doesn't require a previous room configuration. The identification inserted doesn't really matter, because if there's no room with that identification, one will be created.

Note: Avoid sharing room conference configuration, on this scenario. Since all users share the same password, all can create conference rooms, making this an insecure method.

 

 

Owned meeting rooms

On this scenario, users have a conference room with a unique identifier. There's a DDI dedicated to this rooms that is answered by an IVR. This rooms are not password protected. Any user that knows the room identifier can join the conference but only the room owner can start the conference.

If a room identifier is inserted from a room that has no been initiated, the IVR asks for the room password.

Note: Only the room owner should know the room password.

This is the favored method since only authorized users, with previously configured rooms can initiate rooms on the system.

Configuration of the conference rooms is available through OneContactPortal.

 

 

Components

OneContactMeetingServer is divided in several components in order to deal with the cloud main challenges, as multinenancy, scalability and zero-downtime updates. The main components are:

 

 

OneMeetingServerManager

OneMeetingServerManager is a Windows service that manages all the system:

  • Initiate the rooms
  • Decide in which OneMeetingPool it will be executed.
Note: To ensure zero downtime updates and in order for the system to tolerate machine failure, two installations of OneMeetingServerManager in cluster is required.

 

  

OneMeetingPool

O OneMeetingPool is a Windows service that manages OneMeetingRooms from one specific machine. One complete system of OneContactMeetingServer can have N OneMeetingPool installed on several machines. This allows to escalate the system according to the number of users. Although one system is only functional with one OneMeetingPool, to ensure zero downtime updates at least two installed on the system are required.

 

 

OneMeetingRoom

Each conference room is supported by a OneMeetingRoom proccess. These processes are managed by OneMeetingPool.

 

 

OneMeetingServerManagerServices

OneMeetingServerManagerServices is a web service REST with the goal of configuring the several user's rooms. It is mainly used by OneContactPortal.

 

 

Database

OneContactMeetingServer is able to work with MongoDB or SQLServer databases. CosmoDB database, from Azure, with the MongoDB driver is also possible.

Note: With SQLServer databases, in some cases, it may not be possible to update the system with zero downtime.

 

 

Codecs

The following codecs are supported:
• G711 (PCMU/PCMA)
• G722
• SPEEX/8000
• SPEEX/1600
• SPEEX/3200
• GSM

 

 

Installation

To install OneCOntactMeetingServer:

  • Install OneMeetingServerManager (Windows service).
    Note: We advise to install two in cluster.
  • Install OneMeetingPool (Windows service).
  • Note: We advise to install two or more in different machines.
  • Install OneMeetingServerManagerServices on IIS.
  • If a SQLServer database is used, run the creation scripts.
    Note: If MongoDB or CosmosDB database is used, the database creation process is not required.