/phone_directory

An app to use Contacts as the phone directory for the asterisk, the Cisco 79xx IP phones and the Gigaset phones.

Primary LanguagePython

# Cisco 79xx phone directory

Is now composed of several entities:

* The script which is generating the CSV file based on externals provider.
* The second one is the "Cisco 79xx phone directory" which is taking a csv 
    and transform it to a Cisco 79xx phone directory.
* The last one is the Asterisk AGI phone directory resolver which is taking a csv
    and is setting the CALLERID for incoming call.

==== Contact Backup ====

Copyright (C) 2012 Psychedelys <psychedelys@gmail.com>
http://github.com/psychedelys/cisco79xx_phone_directory

# Usage

Backup your Google Contacts, own cloud contact, LDAP stuff is one csv file.

The resulting CSV file is named 'contacts_extract.csv' and located in the current directory of the script.


==== Cisco 79xx phone directory ====

A Flask app to use Google Contacts as the phone directory for the
Cisco 79xx IP phones.
Copyright (C) 2012 Psychedelys <psychedelys@gmail.com>
http://github.com/psychedelys/cisco79xx_phone_directory
based on Copyright (C) 2010 Francois Lebel <francoislebel@gmail.com>

# Pre-step

The resulting CSV file should be named 'contacts_extract.csv' and located in the
directory where the phone directory script resides.

# Usage

If you haven't already, install the Flask Python Microframework using
"easy_install Flask", or visit http://flask.pocoo.org for more information.

The Flask built-in webserver can be used for testing purposes from your
browser. However, this webserver uses HTTP/1.0 by default, which is not
supported by the Cisco 79xx IP phones. Therefore, it is recommended that
you use a production-safe webserver, such as Apache + mod_wsgi.

For more information on WSGI deployment, such as the required Apache
configuration, read the official Flask documentation at:
http://flask.pocoo.org/docs/deploying/mod_wsgi/

If needed, review the variables at the top of the script and set them
according to your needs.

You will also need to edit the SIPDefault.cnf file located at the root
of your TFTP server to add a line such as this one:
directory_url: "http://192.168.178.20:5006/directory.xml"

You will need to edit the script file HOST variable to reflect your change also.

# Limitations

The Cisco 79xx IP phones support up to 32 entries per directory page. This
is the motivation behind having a contacts search page since most people
have more than 32 contacts on their {Google|ownCloud|LDAP|Phone} Contacts account.

# Config to be added in the Cisco tftpboot file SIP.....cnf
The directory_url is enougth if beeing set:
directory_url: "http://192.168.178.20:5006/directory.xml"

On some dummy firware, the services_url need also to be set.
services_url: "http://192.168.178.20:5006/directory.xml"


==== Asterisk AGI phone directory resolver ====

Copyright (C) 2012 Psychedelys <psychedelys@gmail.com>
http://github.com/psychedelys/cisco79xx_phone_directory

This is using the same csv generated by the previous step.
The copy procedure of the csv file is not documented (scp, rsync,...).

If needed, review the variables at the top of the script and set them
according to your needs (Locqtion of the CSV file).

# Config to be added in the Asterisk

In the file extensions.conf, in the incoming call section, need to add something like that:

exten => _X.,1,noop(incoming call)
  same => n,AGI(csvsearch.agi,${CALLERID(num)})