User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

The most common case of HA is done with a floating IP technique. However, this has a big restriction: all node servers must be routable with the floating IP. Being routable with the floating IP means in almost 99% of cases that all nodes must be physically speaking in the same Data Center. What does this mean to you? It is a matter of pricing and security!

Regardless if you are using virtualization or bare metal servers, not every data center is able to do a floating IP configuration. If they are, they will charge you for that configuration and the IP assignment.

All servers in the same nest is not a very good practice, if the data center is good, you will be safe. Good data centers are not cheap. Think when you have one that has been going down more than once. Moving to another data server is not very easy if you are attached to an IP.

So, here it is my solution!

I have developed what I call Low Latency PowerDNS. This plugin will allow you to set up an intelligent DNS server that will return a specific IP depending on various scenarios and the chosen algorithm. At this very moment, it supports two:

  1. Less FreeSWITCH node latency: by using some approximations, it will answer you with the IP that has less latency.
  2. Less FreeSWITCH loaded: by doing some metrics on the PBXes, it will answer with the less loaded server.

At this moment, the plugin works with FreeSWITCH, but with little modifications, it will work with any kind of software. By using it, you will save money as you won't be attached to a specific IP or to a specific data center. You will be able to put servers in different data centers across the globe.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Finally, I was able to do this XML Importer for FusionPBX. If you are a FusionPBX user, you need to know that each time you do a call, the FreeSWITCH will call a local PHP script that pushes the CDR information into the database. This piece of software will act the same way as the vanilla one that is shipped inside FusionPBX 4.1 (or better), but it adds a plugin architecture that will allow third-party integrations with the PBX. Some of the use cases I can imagine right now are:

  • Helpdesk integration: it will raise a ticket each time a call is done, later that ticket could be merged.
  • Billing integration: although I am the author of the Billing for FusionPBX (I will move the billing system to use this new importer), I know there are people who use another kind of software, so this will allow billing per call event.
  • CRM integration: usually CRM software is used to keep track of marketing activity. This will let you add call tracking.
  • Big data processing: you can export the CDR to a MongoDB collection for big data processing.

So to be crystal, this tool will allow importing the CDR information into the third-party software. This XML importer is though in a plugin architecture. You will need to code specific case plugins for it. I have put a template class in order to help the developers to code their own plugins. This template class is an abstract class, and it will help people to know what methods to code in order to successfully building your own plugin.

The big advantage of doing this way is you don't need to touch the main code, this will allow you to do cleaner upgrades when there is a new release of FusionPBX.

This software is released under the MPL license. At least the part that is published on BitBucket. So, please feel free to contribute and use it.



User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

As I have started to work on the Ethereum platform, one of my first needs as a system administrator the monitoring of the health of my node. There are many projects that allow you the monitoring, one of them is the which it is very cool. In it you can see your general node health, but to be honest, it is quite a hassle to have the web page on, not to mention you need to install some nodejs application in your server. 

Because of this, I decided to write my own Ethereum Nagios Plugins. As I have already a Nagios deployment that monitors no less than 40 servers, it is a good idea sending an alert if something is going wrong.

The initial release of this plugins will help any system administrator to know the following:

  • Detection when the local blockchain is getting out of sync, by default (if you don't specify anything else) it will send you a CRITICAL signal if sync is behind 10 blocks, and a WARNING signal if it is behind 5 blocks.
  • Detection when the mining hash rate speed is slowing or mining activity has stopped at all, if you have one full node and many workers, usually you have a stable Hashing speed, when some workers start going down your speed will decrease and you will get an alert if this is happening.
  • Detection when you are not connected to enough peers, by default (if you don't specify anything else) it will send you a CRITICAL signal if you are connected to 5 or fewer peers in the network, and a WARNING signal if you are connected to 10 or less. The go-ethereum and the cpp-ethereum projects use 25 peers as a default value.

I will write later a guide to show you all how to implement the plugins. It is quite easy.

Good Luck!

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Not until now, I decided to make public the Nagios Plugins for FreeSWITCH I have been developing. The idea of this plugins is to make easier your life as a system administrator. Everyone knows about Nagios, it really rocks! But Nagios lacks VoIP understanding, therefore I decided to write them.

The first public release is the 0.1.0, in which it has only one plugin that allows you to monitor extension status. I will be adding more plugins as people sponsor them or I need them. Any comment about this project is welcome.

I will create the RPM's and make them available through the OKay RPM repository.


User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

MandrakeLinux (later Mandriva) was my first desktop distribution. After some time, in 2009 I decided to join as a Mandriva contributor. Later with the imminent problem of Mandriva, I continue my Linux contribution in Mageia.

Mageia Linux has some RPM policies/guidelines that not always allow any software to be packaged as RPM. Therefore, I decided to publish this SPEC/SOURCE GIT repository of RPM for Mageia to allow those who still need these RPMs to enjoy it.

I will be providing SPEC files, some patches, and sources. But in the most part of the cases, you will need to download the tarball, build the SRPM and compile in your computer.

I will be posting more SPECs as I am doing them.