WebRTC with Kamailio

I noticed lots of queries about this subject, and I created a Kamailio sample script that could help those who are in trouble when working on this.

This post is planned to be explanatory, with some level of detail, but I don’t really have time nowadays so I’m gonna throw it in its current state, hoping to find the time to do it properly soon enough.

  • This script is configured to run behind NAT, port TCP 10080 and TCP/UDP 5090 are exposed to the Internet
  • You have to create valid users using, preferably, “kamctl add …”
  • RTP ports should be open in range 30k-35k, inclusive
  • I used jssip as webrtc SIP UA: http://tryit.jssip.net/
  • Always disable video before placing a call from jssip UA
  • Always use Chrome. Firefox won’t work, and I’m not sure about other browsers
  • I tested calls between:
    • jssip to csipsimple
    • csipsimple to jssip
    • csipsimple to csipsimple

This is the link to the script

Install mediaproxy-ng on Debian based systems

This is a variation of my original post on how to install mediaproxy-ng on rpm based operating systems.

This one goes for the Debian/Ubuntu users, which are a plenty out there.

1. Clone the repository

git clone https://github.com/sipwise/mediaproxy-ng.git

2. Install compilation dependencies

apt-get install build-essential iptables-dev debhelper libcurl4-openssl-dev libglib2.0-dev libglib2.0-0 libxmlrpc-c++4 libxmlrpc-c++4-dev linux-kbuild-3.2 linux-headers-3.2.0-4-common linux-headers-$(uname -r) module-assistant

3. Go to mediaproxy-ng directory and build the Debian packages

cd mediaproxy-ng/ && dpkg-buildpackage -d

4. Go back to the parent directory. It should contain a series of .deb files. Install them all

dpkg -i *.deb

5. If everything went OK, a message similar to this should appear on the console:

DKMS: install completed.
mediaproxy-ng not yet configured. Edit /etc/default/ngcp-mediaproxy-ng-daemon first.
Setting up ngcp-mediaproxy-ng-kernel-source (2.3.5) ...
Setting up ngcp-mediaproxy-ng (2.3.5) ...
Setting up ngcp-mediaproxy-ng-dbg (2.3.5) ...

That is pretty much it, quick and straightforward, maybe because the Sipwise guys love Debian more than any other Linux distribution 😉