Category Archives: Voice and Video over IP

VoIP knowledge base

Video Conference with Jitsi Meet

Getting a video conference system up and running in such a short time is easy with Jitsi Meet, a Free and Open Source Software. Successful installation will give you a voice, video, chat and screen sharing service. Not only that you can use it right away, you can also take a look at their source codes and customize it to suit your needs relatively easy.

Let’s do it. Prepare an Ubuntu Server 18.04, get it online with IP public, set DNS and point a hostname/domain to it. Login to your server via SSH. Once you logged in you can begin Jitsi Meet installation.

Continue reading

OpenSIPS on Ubuntu Part 3

Let’s add authentication on this part. Yes, that is the main focus of this article, to add an authentication mechanism so that SIP User Agent (SIP UA) can be authenticated by OpenSIPS.

Upon giving the username and password, UA will send a SIP REGISTER request to OpenSIPS. On 2 previous articles (part 1 and part 2) those SIP REGISTERs were ignored, all UA were just saved on user location by OpenSIPS regardless of what username or password they sent.

Of course we don’t want that for a production server, we want UAs to be authenticated with correct username and password. The username and password that admin set on OpenSIPS for each UA.

Please note that this article is the 3rd part of OpenSIPS on Ubuntu howto series. In order to successfully understood the content of this part you must previously followed article part 1 and part 2:

  • Part 1 talks about OpenSIPS installation and basic configuration.
  • Part 2 talks about how MediaProxy can be used to help OpenSIPS overcome certain NAT issues.

Let’s start part 3: all about authentication.

Continue reading

OpenBTS UMTS Bagian 1

Pagi ini jadwal saya ke Universitas Gunadarma untuk melanjutkan riset ngoprek OpenBTS, kali ini kami berniat mencoba OpenBTS-UMTS.

Ya, 3G dengan OpenBTS. 3G dengan perangkat Ettus N210 yang sebelumnya telah dibuatkan artikelnya beberapa waktu lalu, OpenBTS 5.0.

Keseluruhan riset ngoprek dibagi dalam 2 artikel atau 2 bagian:

  • Bagian 1 mengenai instalasi aplikasi OpenBTS-UMTS dan inisiasi hardware
  • Bagian 2 nanti fokus pada konfigurasi lanjutan dan ujicoba di lapangan

Artikel bagian 1 ini terdiri dari 4 sub-judul:

  1. Persiapan Software
  2. Persiapan Hardware
  3. Instalasi OpenBTS-UMTS
  4. Konfigurasi Dasar

Harap dicatat bahwa ujicoba belum benar-benar dilakukan pada bagian 1 ini. Saya tidak tahu apakah nanti 3G benar-benar dapat digunakan atau tidak. Atau kesulitan-kesulitan apa yang mungkin akan ditemui saat ujicoba.

Bagian 2 direncanakan untuk di-publish minggu depan.

Mari kita mulai bagian 1.

Continue reading

OpenSIPS on Ubuntu Part 2

This article would be the second part of OpenSIPS 1.11.6 installation on Ubuntu Server 14.04.

The first part available here. It is recommended to read and follow the first part first.

There are 2 sections available in this part:

  1. MediaProxy
  2. OpenSIPS NAT Configuration

The focus on this part is to setup a way to help User Agents under NAT routers. No user authentication stuffs will be added, for that you will need to also follow the instruction on part 3, when its available (soon).

Let’s do the 2nd part.

Continue reading

OpenSIPS on Ubuntu Part 1

OpenSIPS 1.11.6 LTS installation on Ubuntu Server 14.04 LTS Part 1.

This article is divided into three sections:

  1. Preparation
  2. Installation
  3. Basic Configuration

The focus on this part is only the installation and a very basic configuration just to see if the OpenSIPS installed properly.

Warning, you have to also follow and do the next part to finalize setups and to secure the OpenSIPS installation on Ubuntu.

Let’s do the part 1.

Continue reading

Setting Up STUN/TURN Server on

This article is about how I setup a STUN/TURN service server on my domain, so I do not forget how to do it again later :) You can then use the STUN and/or TURN server on from anywhere, any application that requires one or both of them. is a service server that I setup to test and learn the current IP communication technologies such as WebRTC, SIP and XMPP/Jabber. I also try to seriously setup and maintain it so that it can actually be useful to anyone for actual usages on a long-term.


Actual deployment of STUN/TURN server on is different than this manual. Current implementation the STUN/TURN server on are using different port than the default setup.

Public STUN server address :

Public TURN server address : (UDP/TCP)
Public TURN credential     : public
Public TURN username       : public

This article is divided into three parts:

  • Part 1: Installation
  • Part 2: Basic Configuration
  • Part 3: The Test

The server is using Ubuntu Server 14.04 and the STUN/TURN server software is Coturn.

Just in case you’re wondering why you should need to even use a STUN and/or TURN service server, here are some pages to start with:

Ready ? Let’s begin.

Continue reading

Instalasi dan Konfigurasi OpenBTS 5.0

OpenBTS masih terus dikembangkan, versi terkini adalah OpenBTS 5.0. Banyak sekali pengembangan yang dilakukan untuk kemudahan dalam instalasi dan penggunaan di OpenBTS 5.0 ini.

Berita singkat mengenai rilis OpenBTS 5.0 dapat dibaca disini.

Pada kesempatan ini penulis dan rekan ingin membagi informasi mengenai instalasi dan konfigurasi dasar OpenBTS 5.0. Tujuan akhir dari penulisan artikel ini adalah agar penulis dan rekan dapat membuatkan semacam web GUI untuk operator-operator OpenBTS agar mereka dapat mengoperasikan OpenBTS dengan nyaman, serta mempelajari pemanfaatan E164.ID untuk jaringan OpenBTS.

Ujicoba dilaksanakan di Universitas Gunadarma atas bantuan pak M. Akbar Marwan, Rizky Herpurwadi dan Andreas Widodo, terima kasih banyak atas asistensinya, dan tentunya dorongan dan bahan-bahan terdahulu dari pak Onno yang keren :)

Tidak mudah mendapatkan akses pada perangkat OpenBTS, Ettus N210, maka dari itu jangan sia-sia kan kesempatan yang diberikan ketika anda diberikan izin untuk ngoprek :)

Mari kita mulai.

Continue reading

Experimenting with Asterisk 13 and FreePBX 13


Do It Yourself an IPPBX, an experiment with Asterisk 13 and FreePBX 13 on CentOS 6.

This article is divided into three parts:

  • Part 1: Prepare The Server
  • Part 2: Install Asterisk 13
  • Part 3: Install FreePBX 13

The goal is to get the PC provides Private Branch eXchange services, a phone system, using Free and Open Source Software.

Continue reading

Do It Yourself IPPBX with CentOS 6.7 minimal, Asterisk 11 and FreePBX 12


Do It Yourself an IPPBX.

This article is divided into three parts:

  • Part 1: Prepare The Server
  • Part 2: Install Asterisk 11
  • Part 3: Install FreePBX 12

The goal is to get the PC provides Private Branch eXchange services, a phone system, using Free and Open Source Software.

Part 1: Prepare The Server

Linux CentOS 6.7 Minimal

Linux server installation:

  • You may use VirtualBox or any other virtualization software, or a real server
  • You need fast Internet connection, we will be downloading lots of stuffs from the server
  • Install CentOS 6.7 minimal version, get minimal version of ISO here
  • Configure the network so that the server will have access to the Internet
  • Access the server using SSH, work from outside
  • You will need to login as root during installation

Suggestion on partition layout:

  • 4GB for /
  • 1GB for swap
  • the rest of available space for /var

Continue reading

Secure Calling with Asterisk

In VoIP network with Asterisk being the server or SIP proxy the secure calling can be achieved by enabling TLS to encrypt the signalling and enabling SRTP or ZRTP to encrypt the media or data/voice. Once implemented SIP UA, softphone or IP phone, can be set to use TLS instead of UDP or TCP as it’s transport. The advantage of choosing TLS is that the SIP traffic exchanged between SIP UA and Asterisk will be encrypted, it means it will take a considerable amount of time and effort for the Man in The Middle to decrypt it without the encryption key, if not possible.

Below are screenshots of CSipSimple (Free and Open Source SIP softphone on Android) calling the other party and having end-to-end encryption during the call with Asterisk as the server:

tls_zrtp_sas_confirmation tls_zrtp_sas_confirmed

Continue reading