Giter Site home page Giter Site logo

multiparty-meeting-sipgw's Introduction

multiparty-meeting-sipgw

A SIP gateway for multiparty-meeting

Try it by calling: [email protected]

This will make you join the other participants at: https://letsmeet.no/roomname

Architecture

multiparty-meeting-sipgw architecture

Kurento pipeline

For every incoming call, a Kurento MediaPipeline is created. The pipeline can be seen below, with some parts removed (waiting screen PlayerEndpoint, notification sound PlayerEndpoint, participant name GStreamerFilter). Apart from the RtpEndpoint connected to the SIP client, all other RtpEndpoints correspond to a Mediasoup Producer or Consumer depending on it sending or receiving respectively. All Mediasoup audio Consumers connected to Kurento RtpEndpoints are sent into a Kurento Composite hub for mixing before the single audio stream is sent to the SIP caller. Only one Mediasoup video Consumer RtpEndpoint is sent to the SIP caller at any given time, and this is determined by speaker detection.

multiparty-meeting-sipgw kurento architecture

Installation

To run this gateway you will need several external components, install them according to their installation guides and your local requirements:

Clone this project:

$ git clone https://github.com/havfo/multiparty-meeting-sipgw.git
$ cd multiparty-meeting-sipgw

Edit config/default.json with appropriate settings.

Install node modules:

$ npm install

Run it

Run the Node.js server application in a terminal:

$ npm start

You can test it by calling: [email protected]

Deploy it in a server

Stop your locally running server. Copy systemd-service file multiparty-meeting-sipgw.service to /etc/systemd/system/ and check location path settings:

$ cp multiparty-meeting-sipgw.service /etc/systemd/system/
$ edit /etc/systemd/system/multiparty-meeting-sipgw.service

Reload SystemD configuration and start service:

$ systemctl daemon-reload
$ systemctl start multiparty-meeting-sipgw

If you want to start multiparty-meeting-sipgw at boot time:

$ systemctl enable multiparty-meeting-sipgw

Author

  • Håvar Aambø Fosstveit

License

MIT

multiparty-meeting-sipgw's People

Contributors

havfo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.