Mod cidlookup

From FusionPBX
Revision as of 21:52, 28 October 2012 by Gerritv (talk | contribs) (Preface)
Jump to: navigation, search

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

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.