Skip to main content

Asterisk 1.6.1 on openSUSE 11.1 (Part 1)

In several articles from this one, I will share some of my experience in preparing emergency operation center for disaster management in Indonesia. One of the software we implement in this project is Asterisk. I use Asterisk 1.6.1.5 from openSUSE repository. Actually I built a custom 64 bit appliance using KDE 4.3 from factory repositories through SUSE Studio and took Asterisk from openSUSE Build Service repositories. Well, it was a couple years ago (by the time I submit this post), but I believe it still useful for anyone learning Asterisk :-) I also used DAHDI (Digium Asterisk Hardware Device Interface), but during the implementation I have a problem with Indonesia PSTN telephone signaling so I should download dahdi trunk version from digium subversion server to make the digium card works.

Here are the hardware I use:
  • 2 HP tower based server with 8 GB memory (it is overkill actually, but the owner insist it) running in high availability. See the pictures here and here.
  • 10 PSTN lines
  • RJ 12 cables
Well, Digium and Polycom price are expensive but the quality of the sound is very good. There are some alternatives for the IP Phone like Grandstream and Aastra that also can be used.
In this project, Asterisk will be use to setup the voip communication between this site in Denpasar/Bali with the headquarter (HQ) in Jakarta as well as with other regional center in Java and Sumatera. Also Asterisk will act as traditional PBX to connect this site to PSTN lines as well as to GSM/CDMA lines. Every conversation through the PABX will be recorded by monitor application in Asterisk.

Before we go any further lets discuss a logical design about our setup. There is one HQ and several remote site including this one in Bali. This site is special because it's also act as second node beside HQ that can receive and transmit voip traffic to other center. The setup of every site is similar like the diagram below.
All the digium card provide 12 lines of PSTN, in this case we only use 10 lines. We then use RJ 12 coupler so that every line goes to 2 PBX server, PABXSV1 and PABXSV2. The PABXSV2 will become the backup asterisk in case the PABXSV1 is downed. We can use vrrpd or heartbeat (with DRBD) to control the service so that PABXSV2 can take over all the service from PABXSV1. More on this later.

I use stock asterisk and dahdi from OBS. While the asterisk is ok, dahdi in the OBS is not sufficient for Indonesia telephone lines (at least at the time I made the appliance). The root cause of the problem is that Indonesia PSTN line provided by Telkom is already equipped with the CID (caller identifier) but the service is not open to the end customer until the customer pay the service charge. But actually the CID is there and asterisk knows it but cannot open it. So it can answer the ring but if another call comes, suddenly it get confuse how to handle it and hangup the line. Off course we should make a good configuration not just downloading the trunk version.

I should thanks some good people who currently help me maintain the server, I should mentioned here:

Pak Wayan Sudana, Ketua KPLI Bali
Mas Adhi Wus, linuxer dari Denpasar
Mas Yan Arief (dkk), openSUSE user dari Yogyakarta

In the next post I will explain some configuration that I used, till then keep safe and have a lot of fun.

Comments

  1. halo maz salam kenal, nice article :).
    maz, bisa tidak ya di share untuk konfigurasi card Digium analog FXO dengan line direct (CO) nya ke Telkom ?
    saya asterisk newbie, mengalami kesulitan untuk menerima answer signal dari CO, padahal si penerima (handphone) sudah melakukan answer.
    mohon pencerahannya,
    terimakasih.


    ReplyDelete
  2. Hi Mas Ronin,
    Sepertinya sudah saya share semua gimana cara mensetup Asterisk dengan Digium Card mulai dari tulsan Part 1 sampai Part 5. Kalau anda pelajari perlahan-lahan harusnya semua bekerja.

    Kemungkinan besar pada kasus anda adalah masalah loadzone dan defaultzone di file /etc/dahdi/system.conf (lihat tulisan saya di Part 2, http://medwinz.blogspot.com/2012/10/asterisk-161-on-opensuse-111-part-2.html). Selamat mencoba.

    ReplyDelete
  3. Halo maz, saya sudah coba, mengcopy dari contohnya maz edwin, tapi sepertinya masih belum sesuai harapan saya, jadi saya itu ingin supaya extension yang melakukan outbond call keluar melalui FXO itu sesuai dengan CDR nya, kalau hasil yang saya coba sekarang malah, meskipun telepon yang dituju belum menekan tombol answer (mengangkat) tapi CDR nya sudah terdeteksi answered.

    ReplyDelete

Post a Comment

Popular posts from this blog

Prejudice and Privilege

Notes : It is not about Linux or other geeky stuff nor it is a political writing.  It was a day in the end of March 2007. I was just landed at the Franz Josef Strauss Munich Airport  around 10 AM in the morning. I had 5 days free time from my work in Astrium. At that time I was contracted by EADS Astrium  (now become Airbus Defense and Space) to work with them in Toulouse . I worked for one of their project. I flew from Toulouse where I worked to visit my brother family in Munich. Just after I picked up my luggage from the conveyor, three guys without uniform approaching me and asked me in English what i'm doing in Munich. I asked them if I did anything wrong. One of them told me that it was a random checked.     "Who are you guys? Sorry sir if it is a random check, why do you choose me instead of other?" I reply to their answer.  One of them said they're from the Munich immigration, and at the same time showing a gun behind his jacket. For my itinerary Munich was not

Asterisk 1.6.1 on openSUSE 11.1 (Part 2)

In this second part I will explain step-by-step configuration to use our appliance to build an Asterisk PABX server. Without further ado, here is the list: Install the Digium card on the PCI slot Install our appliance. You can also use any linux distribution, download asterisk from its website and install it. There are several softwares I forget when I made the appliance, it is not the mandatory (dependencies) but they are useful when we want to use asterisk optimally. They are: mpg123, sox, libmad, and festival. The easiest way to install it in openSUSE is using zypper. Check it first where they reside in repositories and add the repositories accordingly. mpg123 and sox are in the packman repositoriy, libmad in OBS (please check with webpin) and festival in oss. Then as root run: "zypper install mpg123 sox libmad0 festival". It is always useful to update your installation to update repository, to make sure that all the security update is up to date. Download the

In Search of Manohara

Notes: I always write note in my laptop and put it somewhere either on disk or cloud when I think there is an interesting experience. I found this 7 years old note when I try to clear some space in my disk, and before I wipe it out from my disk I think it is an interesting story to share with you. This happened in 2011, at that time I was working to build Linux based computer labs for 500 elementary and junior high schools in Yogyakarta Indonesia. No it is not about computer and other geeky stuff. So here it is.  Well, it is very out of topic everyone, you've already been warned 😁 During my busy weeks in implementing openSUSE Li-f-e for schools in Yogyakarta Indonesia (see the pictures below), me and one of my colleague use our free time in a Sunday afternoon to visit Borobudur , the biggest Buddhist temple in the world. One of the World Heritage preserve by Unesco. 85% of Indonesia population are Moslem and this make Indonesia the biggest Moslem country in the world. We