VoIP, Linux, Security & much more fun
If you need any help regarding these subjects do not hesitate about sending me a text

These days, there are still many old Polycom phones around. These devices don't have support for a long time ago and it is not possible to configure them using the WEB interface. We are talking about those IP Phones with firmware 3. The good news is it is possible to make them work by configuring them via auto-provisioning with DHCP.

I fully recommend trying to void or purchase of these devices, but if you can not, then there it is the way I makd them to work.

The MOS is a measure to quantify the quality of the call based on the percentage of lost packets and the length of time they represent. It is not very clear how it is calculated, furtunatelly FreeSWITCH does that for us.

This article shows how to configure Nagios to make a measurement of the MOS. You understand that you must already have installed and understand the concepts of FusionPBX. Your nagios deploymnet needs sufficient permissions to reach the  MySQL / MariaDB database your VoIP server is using..

After a VoIP server is installed, it is always an important thing to do a stress test. This will allow us to know the aproximate number of simultaneous calls (aka CPS) the server can support before start having issues. This kind of tests allows you to do a metric about availability, as you can know how tolerant is your server to high loads of traffic.

The test result is not always exact; there are many factors involved, such as:

  • network conditions
  • destination to test
  • transcoding
  • other processes executing in the same server
  • XML handler configuration
  • database configuration (if apply)
  • authentication type and
  • others

So, remember the number you will get here, it won't be an absolute true but it will give you a good idea about what to expect. Another thing to have in mind is that production and laboratory are very different, just in case if something doesn't make sense.

CNAM allows you to see not only what number the call is coming from but a label of who is calling. This will be very useful as if you see a number 1 613 800 7370, that might mean nothing to you, a name like LUIS D will ring a bell who is calling. There are many CNAM databases, some are public and free, some are paid.

FreeSWITCH offers mod_cidlookup to deal with that. You will need to edit the configuration file to put some information that will allow the information pulling, but that is not enough. After that, you will need to do a dial plan configuration. I will talk in this article, about that dial plan.

After working on this package some hours, I finally got a decent version ready to work. Today, I published in OKay's RPM repository RPMs for PAM MySQL 0.7 RC1. This is a module that allows PAM-aware applications to authenticate users through a MySQL database. Now configurable in terms of which host the database reside upon, which table and username and password column to interrogate.

This package supports Drupal 7 and Joomla 1.5 authentication scheme (for backwards compatibility). I have added some patches for debugging, so if it fails you will see in the Syslog log what is happening.

Sadly, RedHat and clones (CentOS, ClearOS included) don't include blowfish encryption ($2[axy}$\d{2}$ key). This is because a U.S. law that forbids encrypt algorithms to be exported (I am not a lawyer). So, using other encryption schemes will be good. Good news is that I know Mageia supports blowfish.

For those who may ask, yes! It works with MariaDB. And as far as I have been using it, you can put complex INNER JOIN requests.

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

Enjoy!

Yesterday I have published in Mageia Cauldron (6) RPMs for Syncthing 0.12.11. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

RPM's are available for Mageia Cauldron (6), I will be working to back port to Mageia 5 as soon as possible. You can install it if you type urpmi syncthing.

Enjoy!

Yesterday I have published in Mageia Cauldron (6) RPMs for Syncthing 0.12.22. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

RPM's are available for Mageia Cauldron (6), I will be working to back port to Mageia 5 as soon as possible. You can install it if you type urpmi syncthing.

Enjoy!

Today I have published in OKay's RPM repository RPMs for PhantomJS 2.1.1. PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

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

Enjoy!

Syncthing 0.12.14 RPMs for Mageia Cauldron (6) are now available since today. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

Syncthing is an excellent option if you have at least one road warrior involved. Since there is no warranty of a public IP or even a static IP, Syncthing architecture allows clients to bypass NAT's and allow file exchange. The good thing of Syncthing is it is available not only on Linux and Windows but Android as well. You can have in sync important files in your mobile or tablet.

RPM's are available for Mageia Cauldron (6), I will be working to backport to Mageia 5 as soon as possible. You can install it if you type urpmi syncthing.

Enjoy!

 Signing a RPM allows users to confirm authorship and it gives confidence where the software comes from.

Creating private and public key pair with GPG

This step is only needed if you dont have the GPG keys. The command to execute is:

gpg --gen-key

You can use another program, like kleopatra.

When key is created, you can list it with:

gpg --list-keys

If you want to do a backup and import it into another server, use next commands:

gpg --export -a 'key-title' > key.asc

gpg --export-secret-key -a 'key-title' > key.key

And to import:

gpg --import key.asc

gpg --import key.key

Crypting Files with OpenSSL

To crypt files using OpenSSL you should use next sintaxis:

openssl enc -aes-256-cbc -salt -a -in clear.txt -out crypted.txt -k password

where:

  • -enc: tells it will crypt
  • -aes-256-cbc: specifies the cipher to use. AES-256 is what US goverment uses at Top Secret clearance.
  • -salt: adds strength to the encryption
  • -a: specifies the file to be crypted will use BASE64 (opcional)
  • -in clear.txt: specifies the file to be crypted, in this example clear.txt
  • -out crypted.txt: specifies the crypted file, in this example crypted.txt
  • -k password: specifies the password at the command line (opcional)

VoIP is not a protocol or specific technology. You can think it as working out, it is just a term to tell you are getting fit regardless what you do. VoIP it is like that, it is the fact of passing voice through the Internet Protocol (IP). It is very probably you are already a VoIP user without knowing.

Branding FusionPBX is the first thing you want to do (or one of the firsts things) when you are setting up your own VoIP company. One of the things to do for branding is putting your brand name in the title bar of the browser. I am not mistaken, this is not documented. Fortunately for everyone, there is a way without modifying the files.

Syncthing 0.13.2 RPMs for Mageia Cauldron (6) are now available since today. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

Syncthing is an excellent option if you have at least one road warrior involved. Since there is no warranty of a public IP or even a static IP, Syncthing architecture allows clients to bypass NAT's and allow file exchange. The good thing of Syncthing is it is available not only on Linux and Windows but Android as well. You can have in sync important files in your mobile or tablet.

Syncthing 0.13.x is not compatible with 0.12.x. You must update all your devices. Backport for Mageia 5 is more difficult as it seems. I am not able to reproduce it in the build system. Mageia 5 has Golang 1.4 which it is not compatible with Syncthing 0.13.x.

RPM's are available for Mageia Cauldron (6), I will be working to backport to Mageia 5 as soon as possible. You can install it if you type urpmi syncthing.

Enjoy!

Syncthing 0.13.2 is now available in OKay's RPM repository since today. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

Syncthing is an excellent option if you have at least one road warrior involved. Since there is no warranty of a public IP or even a static IP, Syncthing architecture allows clients to bypass NAT's and allow file exchange. The good thing of Syncthing is it is available not only on Linux and Windows but Android as well. You can have in sync important files in your mobile or tablet.

I must say this quite a challenge. I am not a golang coder. Syncthing 0.13.x now requires go >- 1.5 (or to know where to workaround in 1.4). CentOS 6 provides golang 1.5, but CentOS 7 doesn't. So, after figuring out how to forward port it, we can now enjoy the new release of Syncthing.

Please note that 0.13.x is not compatible with 0.12.x. So, you need to update everything.

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

Enjoy!

While I have been browsing the network, I have found many requests of people looking for "SEO experts" for their websites. But exactly, what does is having a better SEO mean? I will try to answer this question and to explain my view.

Currently, I manage no less than 5 websites and I can proudly say that I got enough traffic on some of them with the correct keywords. However, I will recognize that this is not enough. Until I get enough traffic and enough conversion rate, I can not say I get what I want.

An inverse proxy is a device that it is between your browser and the final web server. As the name says, it works in the inverse way a common proxy does. The main goals of an inverse proxy are to speed up and bring security. Because they don't hold the content, they only take care of some matters such as:

  • Caching: inverse proxies can offload your main HTTP servers by frequently serving static content.
  • Load balancing: you can have a farm of HTTP servers, and your inverse proxy will do the load balancing among them.
  • Anti-DoS: inverse proxies are designed to manage a high load of TCP connections. Therefore, with the right configuration, they are the first line of defense for DoS attacks.
  • Authentication (if applies): you can add security layers to your application.
  • Content alteration: you can change something without touching your WEB application.

In this article, I am going to focus on the Caching. As the title says, we are enhancing the SEO ranking.

Syncthing 0.12.24 is now available in OKay's RPM repository since today. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

Syncthing is an excellent option if you have at least one road warrior involved. Since there is no warranty of a public IP or even a static IP, Syncthing architecture allows clients to bypass NAT's and allow file exchange. The good thing of Syncthing is it is available not only on Linux and Windows but Android as well. You can have in sync important files in your mobile or tablet.

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

Enjoy!

Last week I have published in OKay's RPM repository RPMs for Whois 5.2.12. This is a new whois (RFC 954) client rewritten from scratch. It is derived from and compatible with the usual BSD and RIPE whois programs. It is intelligent and can automatically select the appropriate whois server for most queries.

This new release gives:

  • Implemented support for fuzzing with the awesome American fuzzy lop.
  • Added the .xn--e1a4c (ею, European Union) and .xn--mix891f (澳門, Macao) TLD servers.
  • Updated the .jobs, .kn and .pro TLD servers.
  • Updated the .gi, .lc, .sc and .vc TLD servers, because the precedent data caused the program to return an error status.
  • Updated the list of new gTLDs.
  • Fixed the code which queries whois.iana.org for TLDs to recognize IDN TLDs too.

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

Enjoy!

Last week I have published in OKay's RPM repository RPMs for CasperJS 1.1.1. 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.

Enjoy!

Yesterday, I have published in OKay's RPM repository RPMs for FusionPBX 4.0. FusionPBX is an open source FreeSWITCH GUI. FusionPBX can be used as a high available single or domain based multi-tenant PBX, carrier-grade switch, call center server, fax server, VoIP server, voicemail server, conference server, voice application server, appliance framework and more. FreeSWITCHtm is a highly scalable, multi-threaded, multi-platform communication platform. FusionPBX license is the MPL 1.1 license.

My RPM included some patches that for a reason the author didn't accept, including PHP 5.3 support (as Centos 6 still have it, and not everybody has updated). This RPM will install MySQL (for CentOS 6) or MariaDB (for Centos 7) as the database backend, all possible information will be stored there, such as dial plans, profile information, registrations and so on. Installation is already configured as multi-tenant.

As a premium add-on, installation using this RPM includes the LCR and Billing for FusionPBX in-app. You just need to activate it and start configuring.

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

Enjoy!

Today I have published in OKay's RPM repository RPMs for FreeSWITCH 1.6.8. 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 1700 hours of work behind to make it work. 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 freeswitc-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 hangup and it will produce money losses.

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.

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

Enjoy!

Today I have published in OKay's RPM repository RPMs for Syncthing 0.12.23. Syncthing is a complete synchronization, multi-platform solution to have same files in your devices. It is like a Peer-to-Peer.

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

Enjoy!

C++ 11 is a C++ revision for C++ language. It adds several things with new syntaxes. Unfortunately, GCC 4.4, shipped within CentOS 6, does not support this new revision.

Many of you, if you are in the VoIP media, should found I am working porting back FreeSWITCH 1.6 with video enabled into CentOS 6. Since the release of FreeSWITCH 1.6.7, FreeSWITCH team has included into its core libyuv (the library responsible for the video) linked statically. This makes more difficult the port for CentOS 6, difficult but not impossible.

It is well known that Google and other search engines give preference to faster sites. There are some techniques to have faster sites, but in this article, I will talk about only one: minimizing the size of your PNG files.

Having a better SEO is a must these days. The file minimization will allow your website to load faster, and as a consequence, it will rank better in the search engines.

Today I have published in OKay's RPM repository RPMs for Xibo 1.7.7. Xibo is an open source signage software that allows you to put scheduled content on remote screens.

If this little description does not help, think of the screens in the airports (where you see advertising and news), or screens in the metro stations (where you see more advertising, the weather, and some news highlights). These screens are the perfect scenario for Xibo.

Using Xibo is not very easy if you don't read the manual. Please take your time before trying to complex things.

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

Enjoy!

If you need more help than the free one provided here...