Open Source Platform
for interconnected virtual worlds

Communication Service Working Group

From Rex community wiki


Contents

Mandate

Produce a module which act as an place holder for service providers and offers service interfaces for chat, voice and video communications.

Communications Module

Design

Communications module offers basic communication services using registered service providers.

the service and service provider interfaces are defined in 'Interfaces/CommunicationsServiceInterface.h' file.

Communications::InWorldChat::ParticipantInterface
Communications::InWorldChat::TextMessageInterface
Communications::InWorldChat::SessionInterface
Communications::InWorldChat::ProviderInterface

Communications::InWorldVoice::ParticipantInterface
Communications::InWorldVoice::SessionInterface
Communications::InWorldVoice::ProviderInterface

Communications::ServiceInterface


Service

Service emits a signal when in-world chat or voice session is available/unavailable. Other modules can get a pointer to a session object to observe and to control sessions.


Providers

Actual implementations of communication services are implemented by another modules. Any module can implement one ore more communication service provider interfaces and register the provider to communications service in run-time to be used by another modules.

Currently MumbleVoipModule implements Communications::InWorldVoice::ProviderInterface and RexLocigModule implements Communications::InWorldChat::ProviderInterface.

File:Communications_framework_-_block_diagram.png