Upload
francesco-prior
View
2.761
Download
5
Tags:
Embed Size (px)
DESCRIPTION
A very practical discussion on how to connect Asterisk with Relational Databases using ODBC database abstraction layer. This session will cover the basics of MySQL/ODBC installation, configuration and integration with Asterisk. Additionally will be made practical examples about the benefits of this union: improving dialplan with SQL Queries, store Call Detail Records (CDR) in DB, implementing Realtime Architecture (ARA). Proposed session is for those who do not yet know benefits of connecting an Asterisk box to a database or are interested to learn about it through a very simple step-by-step demo.
Citation preview
Francesco PRIOR
@priorfra
.: Numbers
.: Numbers
types of people in the world:Those who understand binary,
and those who don't.
There are only
.: Happy Birthday
INTRO 2
I’m freelancer:“The idea is my boss”.
[Pablo Bernasconi – TEDx Cordoba]
.: About Me
INTRO 2.: Astricon 2012
Available on:
You need
this book !
.: The Definitive Guide
.: Summary
“In order to get you into the right frame of mind for what follows, we want you to picture a Dagwood sandwich.”
[Asterisk™: The Definitive Guide]
.: Sandwich Layers
.: Premises
root@ubuntu001:~# apt-get install mysql-server
Select a strong password
root@ubuntu001:~# /usr/bin/mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
.: MySQL: installation
mysql> CREATE DATABASE asterisk;Query OK, 0 rows affected (0.00 sec)
root@ubuntu001:~# mysql -u asterisk -p asteriskEnter password:mysql>
.: MySQL: configuration
root@ubuntu001:~# mysql -u root -pmysql> CREATE USER 'asterisk'@'%' IDENTIFIED BY 'some_secret_password';Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'%';
root@ubuntu001:~# apt-get install libmyodbc
root@ubuntu001:~# apt-get install unixODBC unixODBC-dev
.: ODBC: installation
Edit /etc/odbc.ini
Edit /etc/odbcinst.ini
.: ODBC: configuration
./configure
make install
.: Asterisk: installation
./make menuselect
/etc/asterisk/res_odbc.conf
/etc/asterisk/func_odbc.conf
.: Asterisk: configuration
Show changes in system
.: Checks
/etc/asterisk/res_odbc.conf
/etc/asterisk/func_odbc.conf
/etc/odbc.ini
/etc/odbcinst.ini
.: Resuming
.: Access from Dialplan
extensions.conf SQL Queries
SELECT
UPDATE
EXEC Procedure
SELECT
………
.: Access from Dialplan
/etc/asterisk/func_odbc.conf
create a table
.: Access from Dialplan
…a practical example.
/etc/asterisk/extensions.conf
.: Access from Dialplan
.: CDR saved in Database
Call Detail Records
.: CDR saved in DB
.: CDR saved in DB
More details with customized fields.
/etc/asterisk/cdr_adaptive_odbc.conf
*CLI> module reload cdr_adaptive_odbc.so
.: CDR saved in DB
.: Now, a Demo
Call now to test Dialplan and CDR on Database.
281 864 ****It will execute:
Phone Number no loger available
.: Now, a Demo
.: Asterisk Realtime Architecture
/etc/asterisk
sip.conf
iax.conf
voicemail.conf
musiconhold.conf
queues.conf
.......
ARA
.: Asterisk Realtime ArchitectureConfiguration saved in DB
Static/Dynamic
• SIP/IAX peers/users• Dialplan• Queue Members• Access Control Lists• Voicemail boxes• MeetMe conferences• Music on Hold
.: Asterisk Realtime Architecture
[settings]
sippeers => odbc,asterisk,ast_sippeers
extensions => odbc,asterisk,dialplan
/etc/asterisk/extconfig.conf
.: Asterisk Realtime Architecture
Centralized
Server 1 Server 2 Server 3 Server N
• Sip Peers/Users
• Voicemail
• Extensions
Scalable
Replicable
.: Asterisk Realtime Architecture
.: Conclusion
REFERENCES:
Asterisk Project Wiki
[https://wiki.asterisk.org/wiki/display/AST/Realtime+Database+Configuration]
Asterisk: The Definitive Guide, 4th Edition
[http://shop.oreilly.com/product/0636920025894.do]