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

Syncthing 0.14.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.14.x is not compatible with 0.13.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. Someone has ported back golang 1.6 into Mageia 5, this means you can compile syncthing under Mageia 5 using the SRPM without issues. To do this, you must enable the backport/release repository.

As part of my commitment with Mageia, I will try to keep this package as updated as possible. The team from Syncthing are very responsive and they release new versions very often. At the time when writing this article, Mageia Cauldron 6 is in version freeze; this means we will need to wait for a little until the big system administrators let the new RPM in.

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.

Syncthing 0.14.0 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.14.x is not compatible with 0.13.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. Someone has ported back golang 1.6 into Mageia 5, this means you can compile syncthing under Mageia 5 using the SRPM without issues. To do this, you must enable the backport/release repository.

As part of my commitment with Mageia, I will try to keep this package as updated as possible. The team from Syncthing are very responsive and they release new versions very often. At the time when writing this article, Mageia Cauldron 6 is in version freeze; this means we will need to wait for a little until the big system administrators let the new RPM in.

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.

This weekend a friend of mine asked me to help to deploy a high availability environment with virtualization in the cloud. His scenario is to have tow big servers hosted in different data centers and with virtualization to be able to have a high availability system. The challenge here is the server synchronization, and to be more accurate the routing.

As this must satisfy disponibility, the design of this deployment must have the less point of failures as possible. You may think that the tunneling can be done with OpenVPN and you are right, it could. But having OpenVPN adds an extra daemon to take care. Don't take it wrong, OpenVPN is the software I use to do VPN but in this case, I think there is something better. After thinking, I decided to use GRE tunnels. GRE tunnels have been in the Linux system for years, and although they are not very known you may be a user of it without knowing. PPTP, the VPN protocol uses GRE to transmit information.

The GRE approach will make this very easy. As in this deployment, there are no plans to add a third server, using GRE to set up a point-to-point interface is very easy, reliable and it will make all the internal network within the servers to be routable each other.

Syncthing 0.13.10 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. Someone has ported back golang 1.6 into Mageia 5, this means you can compile syncthing under Mageia 5 using the SRPM without issues. To do this, you must enable the backport/release repository.

As part of my commitment with Mageia, I will try to keep this package as updated as possible. The team from Syncthing are very responsive and they release new versions very often. At the time when writing this article, Mageia Cauldron 6 is in version freeze; this means we will need to wait for a little until the big system administrators let the new RPM in.

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.

In my opinion, PowerDNS gives more flexibility to a system administrator to deal with their DNS zones. Things such as having different backends, mixing dynamic and static answers are hard to archive with bind. In this post, I will write about how to put a Bind alike zone into PowerDNS. This will open possibilities to have some very cool features such as High Availability and Load Balancing through DNS protocol.

One of the things I was thinking it is very important in the DNS stuff is to give the endpoints all the info to have a High Available services. After some discussiones with some customers, las week, among the many things I have been working in a customer's VoIP cluster. This cluster has FusionPBX installed with the load balancing capability enabled. This means each node is aware of the other peers. Users can register on any node, and FreeSWITCH is able to communicate them regardless where they are registered.

This new release of my PowerDNS add-on for High Availability and Load balancing has the following features:

  • Speed up tunnings
  • MySQL/MariaDB reconnect support
  • DNS SRV records support

Sometimes when you find a good job, your new employer does not know what to do. If this is a declared job (paying taxes), one of the first things you need to do is to sign a contract. Fortunately, Canadian contracts are not very complex (note that I am not a lawyer, but I have signed them up at least twice). As an employee, you can help him/her to speed thigs up by giving him/her this template. It covers almost everything you need. I have got this template after reviewing several, including the ones I have already signed up in hard copy.

In this specific case, I used this template for a 6661 NOC Occupation. If you are not familiar with this, NOC is the way all occupations are classified in Canada. Every work has an NOC code, regardless the fancy title name. If you are looking forward to having a work permit, having a signed contract or a job offer letter is one of the many steps you need to have. I won't talk about the importance of knowing your code, but it really makes a difference if there is an agreement that speeds up your employment process.

Here it is the template I am using. I will put in RED things you must pay attention to fill out.

This is not a new question, but I think it is interesting to know how to export a SELECT statement into a CSV formatted file. In this example, I am going to export a FusionBPX CDR format.

SELECT domain_name, direction, caller_id_name, caller_id_number, destination_number, start_stamp, end_stamp, billsec, hangup_cause
        INTO OUTFILE 'amfs.csv'
        FIEDLS TERMINATED BY ','
        OPTIONALLY ENCLOSED BY '"'
        ESCAPED BY '\\'
        LINES TERMINATED BY '\n'

        FROM v_xml_cdr
        WHERE domain_uuid='f4abf9c1-842f-4408-b923-dd0c94ae86da'
                AND start_stamp >= '2015-03-01'
        ORDER BY start_stamp;

Today I have published an update for the FreeSWITCH RPMs. This update is only for Centos 7.

The big change on this new release is the systemd unit parameters. New parameters have been tuned to allow a better performance. To have this RPM's installed, just add the OKay repository and type yum search freeswitch to see all the packages.

Good Luck!

This week, among the many things I have been handled, I have worked in a customer's VoIP cluster. This cluster has FusionPBX installed with the load balancing capability enabled. This means each node is aware of the other peers. Users can register on any node, and FreeSWITCH is able to communicate them regardless where they are registered.

Spotify Premium allows users to enjoy many features (offline playing, high-quality sound). Since quite a time, Spotify offers Family Premium that allows you to have up to 6 members for a fixed rate. I will share with you all a tip I figure out to save more money and keep Spotify Familly Premium working.

High availability is one of the sexiest subjects these days. There are many ways to achieve it. One of them is the DNS approach. DNS works in the fifth layer of the OSI Network Model, it is the responsible to store directory information such as the FQDN to IP translation, public key storage for DKIM (an anti-spam and integrity technique), SPF information storage (another anti-spam technique), geolocation storage among others. But in this very specific case, I will talk about the SRV records and its relationship with the High Availability, and more specific with VoIP.

Hello, many of you (or maybe not) may know I do VoIP consulting among many other things. Like three years ago, in my one of my ex-jobs, I was asked to find a way to have an affordable VoIP cluster. I must say that was not easy; at that moment the only way to do that was with expensive solutions (some proprietaries, others open source), but at the end of the day, you need to pay expensive consulting time, not to mention you were chained to that vendor for life.

I have chosen FusionPBX to use as the WEB frontend of FreeSWITCH for many reasons I won't explain here, but you need to trust me that it is easy to install and to learn. So, using FusionPBX and some mutual help with the author of FusionPBX we developed the load balancing feature in FusionPBX. This feature allows more than one FreeSWITCH box to be aware of their other peers. This will allow a user register in server A to dial to a user registered in server B. FusionPBX (exactly the XML handler within) will know if the user is local or not and it will allow you to link. Think of the possibilities, one PBX in the USA, other in France and everybody able to communicate themselves unaware where they are registered.

Another cool thing on this, using the Smart DNS is that users will hit always the closest server. Users in Canada will hit the server in the USA, Users in the UK will hit the server in France. And, if for a reason, France server goes down, users will be forwarded to their best second option. Maybe my example is not the best, but think of big countries, it is not the same to be in Vancouver, Canada than Montreal, Canada, especially if you are going to connect to a server in NY, USA.

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