18
Sep

Asterisk & MySQL, deel 1 : compilatie

Wanneer we Asterisk connecteren met een backend zoals een MySQL-databank, dan gaat er een wereld van toepassingen en implementaties open.

Omwille van licentie-restricties zit MySQL niet inbegrepen in het basispakket van Asterisk. Daarom moeten we de vereiste bronbestanden afzonderlijk downloaden :

[root@asterisk16 src]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2-current.tar.gz

 

Opvolgen:


We pakken het archief uit :

[root@asterisk16 src]# tar xvzf asterisk-addons-1.6.2-current.tar.gz


Dit resulteert in een directory waarin de bronbestanden te vinden zijn die we nu gaan compileren.

Een eerste stap is, net zoals bij de Asterisk-installatie, kijken of onze omgeving voldoet aan de vereisten :

[root@asterisk16 asterisk-addons-1.6.2.1]# ./configure

 

Indien niet voldaan is aan de vereisten (mysql-devel is bvb niet geïnstalleerd), dan wordt je hiervan op de hoogte gesteld.

We maken het selectiemenu waarin we onze MySQL-functionaliteit zullen aanduiden :

[root@asterisk16 asterisk-addons-1.6.2.1]# make menuselect

 

Vervolgens compileren we vanaf de bronbestanden, en laten de gecompileerde bestanden in de juiste directory plaatsen :

[root@asterisk16 asterisk-addons-1.6.2.1]# make && make install

 

Dit resulteert in een aantal nieuwe bestanden in /usr/lib/asterisk/modules :

[root@asterisk16 ~]# ls -l /usr/lib/asterisk/modules/ | grep mysql
-rwxr-xr-x 1 root root   21501 Sep 15 21:59 app_addon_sql_mysql.so
-rwxr-xr-x 1 root root   26072 Sep 15 21:59 cdr_addon_mysql.so
-rwxr-xr-x 1 root root   56045 Sep 15 21:59 res_config_mysql.so

 

Als laatste laten we tevens de voorbeeld-bestanden plaasten in /etc/asterisk :

[root@asterisk16 asterisk-addons-1.6.2.1]# make samples

 

We hebben nu de nieuwe modules en configuratiebestanden gecompileerd, maar deze zijn nog niet geïntegreerd in Asterisk. Daarom dienen we Asterisk nogmaals te compileren. Ditmaal zullen ook de MySQL-modules opgenomen worden :

[root@asterisk16 ~]# cd /usr/src/asterisk-1.6.2.10

(Het is 'good practise' om eerst het asterisk proces te stoppen, dus : /sbin/service asterisk stop)

We verwijderen eerst de aangemaakte make-bestanden van de oorspronkelijke Asterisk-installatie :

[root@asterisk16 asterisk-1.6.2.10]# make clean

 

Om vervolgens de compilatie-stappen te herhalen :

[root@asterisk16 asterisk-1.6.2.10]# ./configure

[root@asterisk16 asterisk-1.6.2.10]# make && make install


LET OP : hier opnieuw make samples uitvoeren zal de originele bestanden in /etc/asterisk overschrijven !


Start Asterisk opnieuw en je kan nu MySQL gebruiken in het dialplan en voor CDR-logging. Bekijk mijn andere post voor de configuratie van MySQL & Asterisk.

 


free b2evolution skin