All Projects → slomkowski → mumsi

slomkowski / mumsi

Licence: Apache-2.0 License
SIP to Mumble gateway/bridge using PJSUA stack.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to mumsi

Matterbridge
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Stars: ✭ 4,452 (+13390.91%)
Mutual labels:  bridge, mumble
Core
Free, easy to setup PBX for small business based on Asterisk 16 core
Stars: ✭ 190 (+475.76%)
Mutual labels:  sip, pjsip
Webrtc To Sip
Setup for a WEBRTC client and Kamailio server to call SIP clients
Stars: ✭ 173 (+424.24%)
Mutual labels:  sip, bridge
murmur
Murmur server (Mumble) Docker container - https://mumble.info
Stars: ✭ 31 (-6.06%)
Mutual labels:  mumble, mumble-server
mumble-discord-bridge
A simple voice bridge between Mumble and Discord.
Stars: ✭ 123 (+272.73%)
Mutual labels:  mumble, mumble-server
freeswitch-docker
Dockerfile for freeswitch
Stars: ✭ 40 (+21.21%)
Mutual labels:  sip
VAG.Node
GB28181 PS流转发网关服务<Node 版>,以GB28181对接的方式将摄像机/硬盘录像机 的PS流(H264/H265)打包推送到RTMP服务器。
Stars: ✭ 48 (+45.45%)
Mutual labels:  sip
HiveMind-core
Join the mycroft collective, utils for mycroft-core mesh networking
Stars: ✭ 72 (+118.18%)
Mutual labels:  bridge
SDN-Datacenter
Making a software defined datacenter. Which includes various virtual networks with mutiple network functions deployed on it. This includes SDN network deployed on real hardware.
Stars: ✭ 28 (-15.15%)
Mutual labels:  bridge
astlinux
AstLinux is a "Network Appliance for Communications" x86_64 Linux distribution
Stars: ✭ 23 (-30.3%)
Mutual labels:  sip
JJMumbleBot
A plugin-based All-In-One mumble bot solution in python 3.7+ with extensive features and support for custom plugins.
Stars: ✭ 40 (+21.21%)
Mutual labels:  mumble
sip3-captain-ce
SIP3 Captain (Community Edition)
Stars: ✭ 73 (+121.21%)
Mutual labels:  sip
bnbridge.exchange
https://bnbridge.exchange
Stars: ✭ 43 (+30.3%)
Mutual labels:  bridge
pyfreebilling
Routing and rating VoIP application for service providers - API based - AGPL v3 - Based on kamailio
Stars: ✭ 75 (+127.27%)
Mutual labels:  sip
teleirc
Go implementation of a Telegram <=> IRC bridge for use with any IRC channel and Telegram group
Stars: ✭ 112 (+239.39%)
Mutual labels:  bridge
vialer-android
This repository is managed on gitlab
Stars: ✭ 25 (-24.24%)
Mutual labels:  pjsip
Katari
Katari - Python Session Initiated Protocol Framework
Stars: ✭ 29 (-12.12%)
Mutual labels:  sip
telematrix
Bridge between Telegram and Matrix
Stars: ✭ 95 (+187.88%)
Mutual labels:  bridge
app
studio link - app - mirror repo only -> issues now https://gitlab.com/studio.link/app
Stars: ✭ 56 (+69.7%)
Mutual labels:  sip
simlar-android
Simlar for android
Stars: ✭ 61 (+84.85%)
Mutual labels:  sip

I do not maintain this project and mumlib any longer, but some new features and bugfixes have been implemented in the forks. Check them out!

mumsi - SIP to Mumble gateway

SIP to Mumble gateway based on PJSIP stack and mumlib library. It registers to SIP registrar and listens for incoming connections on the SIP account.

This enables the user to participate in Mumble conference using SIP client or perhaps ordinary telephone, by VoIP provider.

Dependencies

Build and usage

  • Install all needed dependencies

  • Clone and compile Mumlib library. Since it doesn't have any installer, clone it to common directory:

mkdir mumsi-dist && cd mumsi-dist
git clone https://github.com/slomkowski/mumlib.git
mkdir mumlib/build && cd mumlib/build
cmake ..
make
cd -
  • Then clone and build mumsi:
git clone https://github.com/slomkowski/mumsi.git
mkdir mumsi/build && cd mumsi/build
cmake ..
make
  • Copy example config.ini file and edit it according to your needs:
cp config.ini.example config.ini

Remember to add URIs which you want to make calls from. Calls from other URIs won't be answered.

  • To run the service, type:
./mumsi config.ini

Start at boot

mumsi provides no init.d scripts, but you can use great daemon mangaer, Supervisor. The sample configuration file:

[program:mumsi]
command=/home/mumsi/mumsi-dist/mumsi/build/mumsi config.ini
directory=/home/mumsi/mumsi-dist/mumsi
user=mumsi

stdout_logfile=/home/mumsi/console.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
redirect_stderr=true

Issues

Port and NAT

Remember to allow incoming connections on port 5060 UDP in your firewall. If you're connecting to public SIP provider from machine behind NAT, make sure your setup works using some generic SIP client. Since SIP is not NAT-friendly by design, PJSIP usually takes care of connection negotiation and NAT traversal, but might fail. The most reliable solution is to configure port forwarding on your home router to your PC.

PJ_EINVALIDOP error

You may encounter following error when running mumsi on older distros

pjsua_conf_add_port(mediaPool, (pjmedia_port *)port, &id) error: Invalid operation (PJ_EINVALIDOP)

Some older versions of PJSIP are affected (confirmed for 2.3). In this case you have to update PJSIP to most recent version (2.4.5).

TODO:

  • multiple simultaneous connections
  • outgoing connections
  • text chat commands

Credits

2015, 2016 Michał Słomkowski. The code is published under the terms of Apache License 2.0.

Donations

If this project has helped you and you feel generous, you can donate some money to 14qNqXwqb6zsEKZ6vUhWVbuNLGdg8hnk8b.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].