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 “Do It Yourself IPPBX with CentOS 6.7 minimal, Asterisk 11 and FreePBX 12”

Install playSMS using Docker in DigitalOcean

So far I’m satisfied with what I get from docker-playsms project, in such a short time. From the project I have built the Docker image and push it to the registry so that people can use it right away. The project also intended for people who want to build the image them self, customize it, fix it, add or remove stuffs, re-package it and then push it under their own name, for their own purposes.

I might be too early to get satisfied, but I do, so be it :)

I realize that so much things can be improved, so much stuffs can be added and enhanced. But I leave that to us all, can’t do it my self for sure, for now.


This article is the tutorial on how to install playSMS, a Free and Open Source SMS portal or SMS gateway, using Docker in DigitalOcean. We will be using the Docker application image available on DigitalOcean and playSMS Docker image available in Docker hub.

The tutorial can be followed in about 30 minutes. Once you learnt then you can do this again faster, I’d say less than 15 minutes.

Let’ start.

Continue reading “Install playSMS using Docker in DigitalOcean”

Persistent paths for dynamic device file

This post is related to playSMS and Kannel, how to configure Kannel when you know that the device file names aren’t persistent.


When USB GSM modem plugged to a server Linux kernel assigned dynamic device file /dev/ttyUSB*, such as /dev/ttyUSB0 or /dev/ttyUSB1. For example, USB GSM modem with 2 ports will then be assigned to /dev/ttyUSB0 for port 1 and /dev/ttyUSB1 for port 2.

Problem starts when we unplug the GSM modem and re-plug back afterwards. Linux kernel will then assign different device file to it, was /dev/ttyUSB0 now /dev/ttyUSB2 and was /dev/ttyUSB1 now /dev/ttyUSB3.

Continue reading “Persistent paths for dynamic device file”

Serve GitHub Flavored Markdown

I do not want to forget how to do this, so I’m writing it down now. To me this is important as I wrote manuals and training materials in markdown format, like in GitHub wiki.

The article is about how to serve markdown formatted files just like you browse it in GitHub, locally or when offline. The markdown files are written in GitHub Flavored Markdown (GFM).

Here goes the manual.

First, prepare your server or desktop, install npm.

apt-get install npm
ln -s /usr/bin/nodejs /usr/bin/node

Continue reading “Serve GitHub Flavored Markdown”

How I Install playSMS

With the very long period between official releases and the habit of playSMS developer (me!) to postpone the official release until it felt its time to, this is what I would do in my box to install playSMS:

mkdir -p /opt/git
cd /opt/git
git clone playsms
cd playsms
ls -l

Above commands will get you the master version of playSMS from Github and saved them in your git local repo that is /opt/git/playsms.

Whenever you have plan to update your playSMS installation and want to get the latest updates you can simply do this:

cd /opt/git/playsms
git pull

If that was my first time and I planned to install playSMS, I would follow manual in provided by playSMS from /opt/git/playSMS/ to install playSMS.

In many installation I’ve done so far, I went for the easiest way to keep sync with the latest. I symlink the git local repo to playSMS installation directory.

For example if my playSMS installation directory would be /var/www/html/playsms then I would do this symlink instead of copying files, like this:

ln -s /opt/git/playsms/web /var/www/html/playsms

So, basically this is how I install playSMS:

Mostly, I’ll use master version. I’ll get playSMS source codes from Github git repository instead of download it from sourceforge or tags.

I’ll install based on manual written in and for web folder I will symlink my git local repo to playSMS installation directory.

That is all.


Petunjuk Memulai Telepon Rakyat

Telepon Rakyat adalah penyedia layanan gratis untuk Voice over Internet Protocol atau VoIP, jaringan komunikasi berbasis IP. Pengguna dapat menggunakan aplikasi tertentu atau perangkat keras tertentu yang khusus untuk VoIP berbasis SIP untuk terdaftar dan kemudian dapat melakukan panggilan telepon antar sesama pengguna Telepon Rakyat dan layanan VoIP lainnya berbasis SIP.

Untuk saat ini panggilan telepon hanya dapat dilakukan antar sesama pengguna Telepon Rakyat dan layanan VoIP lainnya berbasis SIP. Keterbatasan ini karena penyedia layanan Telepon Rakyat memerlukan izin khusus agar dapat menghubungkan penggunanya dengan PSTN maupun jaringan GSM, dan saat ini kami belum memilikinya, bahkan sebenarnya belum ada niat untuk mengarah kesana.

Pengguna Telepon Rakyat dibedakan dalam 2 jenis akun, yaitu tipe Manager dan tipe User. Sekilas mengenai fungsi Manager dan User sebagai berikut :

  • Akun tipe Manager dapat mendaftarkan domain di Telepon Rakyat. Telepon Rakyat akan memilihkan prefix secara acak pada domain tersebut dan menghasilkan URL khusus untuk control panel
  • Akun tipe User dapat mendaftarkan diri mereka melalui URL khusus yang diberikan oleh Manager, setelah itu mereka dapat menambahkan nomor telepon VoIP pada akun mereka
  • Akun tipe Manager dirancang untuk dimiliki oleh sistem administrator sebuah komunitas, organisasi atau perusahaan, atau bahkan lembaga negara
  • Sedangkan akun tipe User lebih merupakan perorangan atau perangkat saja yang menjadi bagian dari komunitas tersebut

Kesimpulan singkat :

  • Manager mendaftarkan domain di Telepon Rakyat dan mendapatkan informasi URL khusus untuk pendaftaran akun tipe User
  • Anggota komunitas yang merupakan calon pengguna layanan VoIP dapat mendaftarkan diri mereka melalui URL khusus yang dimaksud untuk mendapatkan akun tipe User
  • Akun tipe User dapat menambahkan nomor telepon pada akun mereka dan kemudian menggunakan aplikasi khusus atau perangkat keras khusus untuk VoIP berbasis SIP untuk dapat menikmati layanan Telepon Rakyat dengan nama domain yang didaftarkan oleh Manager, yaitu nama domain komunitas mereka sendiri

Apabila asing dengan layanan VoIP maka anda dapat mencobanya dengan gratis di VoIP Rakyat,

Perbedaan utama dari Telepon Rakyat dengan VoIP Rakyat adalah pada fungsi pendaftarannya. VoIP Rakyat hanya mengizinkan satu komunitas yaitu komunitas VoIP Rakyat dan pengguna layanan wajib menggunakan domain untuk terhubung, sedangkan Telepon Rakyat dapat mengakomodasi lebih dari satu komunitas dan masing-masing komunitas dapat menggunakan domain mereka sendiri untuk terhubung.

Petunjuk memulai Telepon Rakyat selengkapnya dapat diperoleh dari link berikut:

Selamat mencoba.

Install darktable from source on Ubuntu 14.10

darktable is an amazing software to deal with raw files taken from various camera.

Here is the description I get from file inside the source directory:

darktable is an open source photography workflow application and RAW developer. A virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them.

Certainly there is a simple way to install darktable that is by using apt-get once you added the PPA. More information about that can be read from here.

Currently the PPA will give you darktable 1.4.2 which I found to be OK but I simply need to test the latest, hoping for some fixes or UI changes and new feature. The version 1.4.2 was working fine with some hiccups here and there. The latest one seems faster with no hiccups, couldn’t notice any UI changes though. At the moment, compiling from source get me darktable 1.5.1+68~ge99de72.

Continue reading “Install darktable from source on Ubuntu 14.10”