Mod cidlookup
From FusionPBX
Contents
Overview
The scope of this is to allow the use of FusionPBX's Contacts module to populate phones with Caller ID Name.
Preface
- There's one major drawback of using this - you cannot assign multiple people the same number as it will only return the first result. A workaround is to create separate contacts for the company and users within the company.
- The CIDlookup module provides more functionality than described here. See the FreeSwitch wiki page for more details.
Requirements
- unixODBC for linux users, appropriate ODBC driver for Windows users
- mod_cidlookup
Additional Info
- http://wiki.freeswitch.org/wiki/Mod_cidlookup for more detaails on cidlookup configuration
- http://www.ch-werner.de/sqliteodbc/ for Windows Sqlite ODBC driver
Optional
memcached
unixODBC
For CentOS:
yum install unixodbc unixodbc-dev cd /usr/src/freeswitch ./configure && make mod_cidlookup-install
For Ubuntu
apt-get install unixodbc apt-get install unixodbc-dev
You need to create a DSN that points to your database as well as the required credentials.
Windows ODBC
Install an appropriate ODBC driver for the database you are using. For Sqlite use this http://www.ch-werner.de/sqliteodbc/. You then need to create a DSN using Control Panel/Administrative Tools/Data Sources.
cidlookup.conf.xml
Sqlite or PostgreSQL (fusionpbx version 3 or higher)
SELECT v_contacts.contact_name_given || ' ' || v_contacts.contact_name_family ||' ('||v_contact_phones.phone_type||')' AS name, v_contact_phones.phone_number AS number FROM v_contacts, v_contact_phones WHERE v_contact_phones.contact_uuid = v_contacts.contact_uuid AND v_contact_phones.phone_number = '${caller_id_number}' LIMIT 1
Sqlite or PostgreSQL (fusionpbx version 2):
SELECT v_contacts.n_given || ' ' || v_contacts.n_family ||' ('||v_contacts_tel.tel_type||')' AS name, v_contacts_tel.tel_number AS number FROM v_contacts, v_contacts_tel WHERE v_contacts_tel.contact_id = v_contacts.contact_id AND v_contacts_tel.tel_number = '${caller_id_number}' LIMIT 1
MySQL: (fusionpbx version 2)
SELECT CONCAT(v_contacts.n_given, ' ', v_contacts.n_family) AS name, v_contacts_tel.tel_number AS number FROM v_contacts, v_contacts_tel WHERE v_contacts_tel.contact_id = v_contacts.contact_id AND v_contacts_tel.tel_number = '${caller_id_number}'
TODO
if CID Name = Fname Lname (fax) send to fax extension.