FreeSWITCH/FreeSWITCH — pull request #10 by rdegges (2013-01-13 05:52:35+00:00)
Title: Changing Default mod_cidlookup Configuration

This commit does two main things:

1. It removes 'voipcnam.com' from the sample 'cidlookup.conf.xml' configuration
file. Instead, it is replaced by sample configuration for OpenCNAM
(https://www.opencnam.com/).

2. It disabled Caller ID caching in memcache by default.

There are several reasons I think this is an important change to make.

- voipcnam.com charges money $.02 per dip (2 cents per dip) for all Caller ID
queries (this is very expensive). They also have an old and outdated website.

- OpenCNAM provides a generous free tier (60 cached caller ID lookups per hour
for free, without any account, signup, etc.) This makes OpenCNAM a great
choice for people using Freeswitch for small PBXs that don't do a lot of
volume, as they can now get Caller ID lookups completely for free, using the
DEFAULT configuration that ships with FreePBX!

- OpenCNAM has a clean public facing API (which you can view here:
https://www.opencnam.com/docs/v2/apiref), and lots of client libraries
(https://www.opencnam.com/docs/v2/libraries). It is well supported and used in
the larger development community.

- OpenCNAM has a simple paid API that allows users to pay-as-you-go, with
support for automatic billing when your funds get low, single deposits, and
even bitcoin payments. OpenCNAM's pricing starts at $.004 (four tenths of a
cent per successful query), and drops as volume grows. This makes OpenCNAM
500% cheaper than voipcnam for paid user (assuming a user is paying the
highest possible OpenCNAM rates of $.004 per query).

In regards to disabling caching by default, instead of enabling it by default,
I think this is appropriate because:

1. Using caching requires the memcache module be compiled and installed. This is
one additional step that users can avoid.

2. Caching CNAM queries is (in many cases) against provider's terms of service,
so erring on the side of caution seems to be a better default choice.

3. Since OpenCNAM is being set as the default Caller ID provider in this commit,
and OpenCNAM transparently handles caching on their end (for free users),
this is unnecessary.