Although the word predictive dialer is kind of fussy, some may think it is something that guesses the number you are dialling, but the truth it is quite another thing. A predictive dialer is just a dialer that has a pre-loaded list of numbers to dial; predictive it is just because you know what is the next number.

Last week, I have published in OKay's RPM repository RPMs for FreeSWITCH 1.6.20. FreeSWITCH is a complete VoIP switch that works on many platforms, including Centos 6 and Centos 7. This is one of the biggest packages I have ever done; there are more than 1800 hours of work behind to make it work (mainly because of the CentOS 6 support). When updating, you will notice it will download many libraries, most part of them not available anywhere.

The big difference on my RPM's is there are more sub-packages, for example, you can install only freeswitch-cli if you only need fs_cli command; Centos 6 RPMS for 32 and 64 bits are available with video support; I have imported a patch that fixes mod_nibblebill, in some situations leg b won't hang up and it will produce money losses. I have been updating some other dependencies such as VLC, OpenH264 and MPG123 with latest stable if you were using my RPM's you will notice more updates as well. Since the RPM of the 1.6.15 release, I have published the sounds for en-ca-june, the Canadian English language. If you live in Canada and you have done English exams such as CELPIP, you will notice those little differences.

In addition, these RPM's have a patch that allows the console to filter by a regular expression. If you do VoIP debugging, you will understand right away what I am talking about.

Because libyuv is now part of the core, these RPMs are compiled with video support. Yes, you read it well, both Centos 6 and 7 with video support.

Since this release, my RPM is going to be linked against tcmalloc.


Thanks to the VoIP we can link remote places and communicate with us at the lowest cost possible. VoIP companies know that, and it is one of the biggest reasons why this industry has been growing.

If you are already educated about VoIP, you have for sure read about SIP and RTP. There are other protocols, but I will focus on these two as they are the most common. The SIP is used to do the signalling while the RTP carriers the sound; SIP has many functions in the VoIP but the main one is the related to the INVITE action. The INVITE action is the one responsible to initiate the calls, it carriers all details about the call, including the Caller ID Number.

Sadly for use, the SIP does not provide any mechanism to prevent spoofing the Caller ID. This means I could (but I will not) call someone and act on someone behalf from the Parliament of Canada by setting my Caller ID to 1 866 599 4999. If you do a little search, you will find there are many frauds. Many of them related to revenue agencies.

The Government of Canada through its telecommunication body, the Canadian Radio-television and Telecommunications Commission, recognizes this danger and it has published a communicate about Measures to reduce caller identification spoofing and to determine the origins of nuisance calls.

The CRTC suggest the use of STIR and SHAKEN; however, in my experience, I believe this is not enough and it is just a poor try to cover the real risk. I will explain my line of thinking.

Nagios is a software for monitoring, it can virtually monitor anything you want as far as you know how to know how to grab data and you have clear the warning and critical ranges.

Sadly, sometimes after being on production, FreeSWITCH presents orphan calls. An orphan call is the one that it is not active; there is not actually a conversation passing through it, but it is listed with the show calls command and it might be using resources.

In this post, I will write about how to make Nagios aware of these calls.

Today I have just published in the OKay's RPM repository RPMs for CasperJS 1.1.4. CasperJS is an open source navigation scripting & testing utility written in Javascript and based on PhantomJS. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar for doing common tasks.

CasperJS needs PhantomJS 1.9. My RPM will download this dependency for you.

RPM's are available for Centos 6 and 7. And you can find it if you type yum search casperjs.