Menu Zavrieť

Logovanie hovorov + tarifikácia v Asterisku

Tento sa dá riešiť cez prepojenie Asterisk ústredne s databázou MySQL. Asterisk podporuje prepojenie s touto databázou pomocou vlastného modulu, ktorý je potrebné zapnúť v súbore modules.conf

 


load => cdr_addon_mysql.so

 

Pred tým ako chceme ukladať údaje do databázy, je potrebné si ju vytvoriť a taktiež vytvoriť tabuľku. Databázu si nazveme asteriskcdrdba v nej si vytvoríme tabuľku s názvom cdr, ktorá má vyzerať takto:


CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
);

 


calldate =dátum a čas volania
clid =id užívateľa
src =zdrojový účastník (volajúci)
dst =cieľový účastník (volaný)
duration =trvanie celého hovoru aj s vyzváňaním
billsec =trvanie spoplatňovaného hovoru

 


Taktiež v rámci konfigurácie je potrebné vytvoriť konfiguračný súbor pre parametre pripojovania sa na MySQL databázu. Súbor sa má volať cdr_mysql.conf

 

[global]
hostname = localhost    //hostname, kde nám beží mysql
dbname = asteriskcdrdb  //názov databázy
password =              //heslo
user = asteriskcdruser  // užívatel s právami do databázy asteriskcdrdb
;port=3306
;sock=/tmp/mysql.sock
;userfield=1

 

Výpis je možné spraviť cez jednoduchý script.

Rate this post

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.