Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19


Published on

IMA/Thales EchoVoice (VOIP) for OpenSimulator

Frank Rulof, Seth Nygard, Lisa Laxton, Natacha Bru

Presentation Abstract: This presentation from Infinite Metaverse Alliance® (IMA) and Thales Group discusses progress towards improving open source code used in a self-hosted secure voice solution called EchoVoice. This is an alternative to ViVox which is commonly used for voice communication between avatars in OpenSimulator regions. The discussion is focused on the development work done to provide a modernized solution for HyperGrid-enabled regions as well as planned enhancements not currently available. The work of IMA and Thales is in general directed toward broadening use of the Metaverse for Public, Education, Industry and Government sectors but the community as a whole benefits from open source.

Target Audience & Outcomes: Participants from the OpenSimulator Community at large will learn about enhancements, features, and improvements IMA and Thales are working on together to deliver an open source solution that meets the needs of a broader OpenSimulator community.


Published in: Engineering
  • Be the first to comment

  • Be the first to like this

IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19

  2. 2. 2 The need for an “Other” VOIP application ▌ Have multiple VoIP providers because Mostly Non-Public users require other VoIP services then the standard offered - Privacy reasons - Business reasons - Security reasons In General - it’s good to have multiple VoIP options in case one falls away ▌ Starting requirements : Need spatial audio Must be Open Source Integration with OpenSim must be possible
  3. 3. 3 The need for an “Other” VOIP application ▌ Use cases Vivox is a third-party unencrypted voice that could be intercepted from a security perspective. VOIP services should not go via a public VOIP provider dependent on the information that is shared. - Training examples are – All training that contains private information of the participants – Military training in general - Business examples are – Meetings that should be kept internal to the company (company private information) – Which contain company competition sensitive information
  4. 4. 4 The need for an “Other” VOIP application ▌ Use cases - Security examples are – Meetings where health of persons is discussed – Any meetings where sensitive private issues of people are discussed (Banks , Court) – Any meeting which contains classified information (government, military …., examples MOSES and Thales) – In-world counseling and education in the US FERPA and HIPPA compliance must be met - this applies to European laws as well ▌ Cost perspective The cost to set up your own VOIP service would be less expensive. ▌ Echo Voice delivers an integrated encrypted audio stream solution with OpenSim/Scenegate Viewer under the control of the Grid/Region Owner.
  5. 5. 5 Viewer Client PC (W10) Whisper Connection requests Device settings 3D positions Participant Notifications Speaker indication Device lists OpenSim Murmur Server (UBUNTU) Avatar Positions Connection credentials Connection request Connection Ack Participant to channel Acknowledgment Register Users Shift Users to Channels Vivox client API SL protocol Murmur API Murmur protocol The initial set-up made on Thales local network
  6. 6. 6 Solution ▌ Open source VoIP server ( based upon mumble/murmur) ▌ Which Provides Spatial audio Better noise cancellation Parcel Audio Encrypted audio streams Self Hosting and lower cost ▌ Not supported yet IM Audio via the VoIP Group Audio via the VoIP Apple and Linux viewers We name the application Echo Voice Based named after the Greek goddess echo
  7. 7. 7 Current Roadmap road map for Echo ▌ Package build modernization Current application is built using very old libraries and parts of which some of them even became obsolete Has no functional changes but is refactored to modern software packages Improved security and need for compliance with GDRP Considerations for public and Hypergrid Open Simulator regions Considerations for off-line voice chat channels Support Apple and Linux viewers ▌ Provide IM VoIP in world Add voice in IM to allow private audio between two avatars ▌ Provide Group VoIP in world Add voice in IM to allow private audio in groups ▌ Investigate Text to Speech in real time and Speech to Text functionality on the viewer audio channel
  8. 8. 8 Current Roadmap road map for Echo ▌ Current selection of VoIP providers in the SceneGate viewers Currently viewers and OpenSim do support VIVOX/FreeSwitch as VOIP sources With a trick the murmur based VOIP is added to the configuration What to add - Others may want to connect their own VoIP service so OpenSim (HELIOS) and the SceneGate viewer would allow multiple VoIP services to select from - Be able to menu select the VoIP service that will be used ▌ VOIP communication between non-avatars and avatars, This would allow users that are not able to join with a viewer to still be part of the in-world voice exchange. These changes include voice in public, in IM and in group IM. Clients could be web-linked or available mumble clients. Thought should be given to how to represent those non-avatars in world.
  9. 9. 9 Development steps made till now ▌ (step 1) : vComm in Switzerland did the initial job to create a possible instance for OpenSim vComm has had it working for quite some time in their own modified OpenSim instance and viewer Aula (makes it proprietary). Thales worked together with vComm to bring the solution to the Open Source community on the existing OpenSim development line. ▌ (step 2) : Thales created a working solution on her own intranet with the possibility to build the different applications for the viewer/server set-up ▌ (step 3) : IMA extended the work of Thales by testing it for deploying the VOIP service over the internet and provide the framework to supply it to the community.
  10. 10. 10 Current and future development ▌If your interested in joining the development team please let us know, would like to extend the development team to realize the roadmap and the community wishes
  11. 11. 11 Current Status of development ▌ Development ongoing to realize an internet-based solution as soon as possible ▌ Already looking at step one (“Package build modernization”) of the roadmap ▌ Topics in development Component overview of the internet-based solution Component characteristics Development process
  12. 12. 12 Mumble Client Viewer Echo Voice Bridge Echo Voice Add-on ZeroC ICE TCP/UDPScene Murmur Server Open Simulator Region Component overview
  13. 13. 13 Mumble Features - low latency + noise reduction + proven codec(s) = high quality voice - encrypted voice and control channels = improved privacy - open source project with large user base - support for Windows, Linux, and Mac OS operating systems - existing, well documented project with an active development team - spatial volume control = good immersion in 3D world Echo Voice Components
  14. 14. 14 Echo Voice Components Echo Voice Bridge - emulates SLVoice.exe command line - support for Windows, Linux, and Mac OS operating systems - written in modern C++ - a single install can be used with multiple viewers - works as a transparent TCP proxy - supports modified mumble client and original Vivox SLVoice.exe - currently working with Firestorm, Alchemy, and Singularity viewers - works with 32 and 64 bit viewers
  15. 15. 15 Echo Voice Components Murmur Overview Murmur Server Open Simulator Region Instance + Add-on module Database Voice Users Monitoring Tools Future Tools ZeroC ICE ZeroC ICE SQL ZeroC ICE - Murmur can be installed on the grid, region, and/or separate server - Multiple instances can be installed on the same server if desired - ZeroC ICE supports firewalls to provide secure control links
  16. 16. 16 Echo Voice Components Bridge - Initial EchoVoice Bridge Transparent TCP Proxy Viewer SLVoice Vivox Agent EchoVoice Mumble Agent XML XML XML - user selected operating mode: Vivox or Mumble - works with old Mumble version 1.2.1 + Vcomm and new modifications
  17. 17. 17 Echo Voice Components Bridge - Future EchoVoice Bridge XML Abstraction TCP Proxy Viewer SLVoice Vivox Agent EchoVoice Mumble Agent Control API XML XML Mumble Link - auto selected operating mode: Vivox or Mumble - refactor for compatibility with current and future Mumble versions - future support for other voice agents - future possible integration into viewer source code if desired
  18. 18. 18 - Determine community requirements - Review previous and existing works - Create working base-line(s) 01Investigation 02Design/Development - Setup working public demo/test regions - Document installation, usage, and build - Provide downloads and links to community 03Deployment - Determine practical improvements - Invite developers and testers - Proof-of-concept and ongoing testing - Write code and unit testing - Feature road map Current development process
  19. 19. 19 Thank you for your attention Panel Discussion Frank Rulof - Seth Nygard - Lisa Laxton -