Tony of FreeSWITCH… Very Funny…

Ha Ha very funny of you…

In case if you’re wondering, yes Tony of FreeSWITCH did add that colorized banner in fs_cli.c with the effect of advertising that ClueCon is coming in a month…

For people who are getting annoyed at it, I’ve reverted that and you can use my patch to get rid of that banner:

From 23526fe0cbd306c9e993e31e679ff8f8f185f14b Mon Sep 17 00:00:00 2001
From: Jeff Leung 
Date: Sun, 15 Jul 2012 23:28:07 -0700
Subject: [PATCH] Haha very funny...

---
 libs/esl/fs_cli.c         |   11 ++++-------
 libs/esl/src/include/cc.h |    3 ---
 2 files changed, 4 insertions(+), 10 deletions(-)
 delete mode 100644 libs/esl/src/include/cc.h

diff --git a/libs/esl/fs_cli.c b/libs/esl/fs_cli.c
index 8532e23..408c946 100644
--- a/libs/esl/fs_cli.c
+++ b/libs/esl/fs_cli.c
@@ -916,18 +916,15 @@ static const char *banner =
        "* Paypal Donations Appreciated: paypal@freeswitch.org *\n"
        "* Brought to you by ClueCon http://www.cluecon.com/   *\n"
        "*******************************************************\n"
-       "\n";
-
-static const char *inf = "Type /help  to see a list of commands\n\n\n";
+       "\n"
+       "Type /help  to see a list of commands\n\n\n";

 static void print_banner(FILE *stream)
 {
-#include 
-
 #ifndef WIN32
-       fprintf(stream, "%s%s%s\n%s", output_text_color, banner, cc, inf);
+       fprintf(stream, "%s%s", output_text_color, banner);
 #else
-       fprintf(stream, "%s%s\n%s", banner, cc, inf);
+       fprintf(stream, "%s", banner);
 #endif
 }

diff --git a/libs/esl/src/include/cc.h b/libs/esl/src/include/cc.h
deleted file mode 100644
index 573a7f7..0000000
--- a/libs/esl/src/include/cc.h
+++ /dev/null
@@ -1,3 +0,0 @@
-

*Note: This patch isn’t meant to offend anybody. If it did, well there’s not much you can do about it 😛

FreeSWITCH LCR Data for FreePhoneLine.ca

While I was bored and still on the lookout for jobs, I decided to embark on the task of building a Least Cost Routing database for FreeSWTICH’s mod_lcr module. This database I built is meant for use with FreePhoneLine.ca (also known as fongo)

The completed SQL database can be downloaded from here:
http://www.curriegrad2004.ca/freeswitch/fpl_fs_lcr.sql.gz

Some notes before you start using this database:

  • Data may not be complete
  • By default the carrier id is set to 1, but you can change all of this.

If I feel like it, I may provide an user interface so you can customize your Carrier ID and provide a more real-time like LCR SQL database. This should work on PostgreSQL and MySQL installations as the database linked is just a bunch of inserts. I’ll probably edit this post later for my rationale on why I created such database.

Update:

Here’s my rationale for creating a LCR database: Having to build a dialplan to match a huge list of “Free Calling Areas” provided by FreePhoneLine.ca can get daunting. Somebody by the name Jake on the FreePhoneLine forums did, and it didn’t look pretty once it gets integrated with the dialplan. To see what he came up with, look here. It does not look pretty AT ALL. Besides, it isn’t all that scalable when there are either new free calling areas being added or removed in the dialplan. Sure creating a huge list is just fine for a provider or two, but what if you have multiple VoIP providers at your fingertips?

Enter FreeSWITCH’s mod_lcr. Provided you know what you’re doing with this module, you can now dynamically route your calls via a database depending on the numbers using the LCR interface provided by FreeSWTICH. What does this mean to the average user? It means that now you can effectively route calls to free calling areas in FreePhoneLine.ca and use other routes for calls that are not covered by them for free. Your other routes could be VoIP.ms, Flowroute, VoiceNetwork.ca or any endpoint you can interface with FreeSWITCH as a matter of fact. Heck if you do own a traditional TDM voice link, you could use that as a fall back link if necessary!

The huge benefit of using mod_lcr to route calls is you can now remove and add routes via a database management frontend such as PhpMyAdmin or PhpPgAdmin (Depending on what database you choose to interface FreeSWITCH) without having the need to gain access to the FreeSWITCH console and refreshing the XML configuration in there. Routes added or removed using those database management frontends mentioned above take effect almost immediately as the calls are dynamically routed when the LCR module is used to route such calls.

So I hope you choose your poison carefully. Really 😛

A Nice HOWTO on Installing FreeSwitch on Scientific/CentOS/RHEL 6-based Servers

Over the past year I’ve been experimenting FreeSwitch as my home based PBX solution and so far using it seems like quite a breeze. Installation was quite a breeze too when you don’t run into problems. Maintaining it was also quite a breeze… until you discover (quite rudely) the fact that a boot option should be appended on the GRUB configuration file with these newer RHEL-like 6 releases. (I’m talking about Scientific/CentOS here, not the real RHEL 6 product which a poor starving student at the moment could not afford.)

Continue reading “A Nice HOWTO on Installing FreeSwitch on Scientific/CentOS/RHEL 6-based Servers”

An IGMPProxy init.d Script. (For Fedora/CentOS only again)

Yes, I’m at it again. This time it’s for IGMPProxy.

IGMPProxy is an IGMP snooper/proxy daemon for routing multicast packets across networks. Pretty useful for IPTV services like Telus TV or AT&T U-Verse.

Again, Google didn’t result in a working script, although a Russian tried to and failed to produce a working init script for IGMPProxy. Daemonize is required to run the daemon because for some reason the ‘daemon’ as claimed by IGMPProxy doesn’t work for some reason. Continue reading “An IGMPProxy init.d Script. (For Fedora/CentOS only again)”

A ZNC init.d Script For Fedora (Possibly on CentOS/RHEL too)

As most people who read this may know, I run my own IRC bouncer off my Fedora based router, which is powered by this nice piece of FOSS code called ZNC. However rebooting the router will usually mean I have to manually start the bouncer again by logging in to the terminal.

I did some Googling and didn’t find an init.d script written for Fedora. Okay, no problem, I write my own init.d script. However I don’t want to just keep this init.d script to myself. So I’ve decided to share it with you nice folks on the Interwebs.

Continue reading “A ZNC init.d Script For Fedora (Possibly on CentOS/RHEL too)”