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
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.
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 the Node.js server application in a terminal:
$ npm start
You can test it by calling: [email protected]
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
- Håvar Aambø Fosstveit
MIT