Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Voice(Asterisk\Cisco) ⇐

CISCO

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Установка и настройка yate в CentOS + CDR + MySQL


Начало: http://snakeproject.ru/rubric/article.php?art=yate_asterisk

Теперь вторая задачка:

Записывать CDR в базу MySQL

Как я на этот раз собирал YATE+MySQL на CentOS:

1. MySQL

sudo yum install mysql-server
yum install mysql-devel mysql-libs
sudo /sbin/service mysqld start
sudo /usr/bin/mysql_secure_installation
sudo chkconfig mysqld on
/usr/bin/mysql -u root -p

CREATE TABLE `cdr` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `time` INT(10) UNSIGNED DEFAULT NULL,
  `billid` VARCHAR(18) DEFAULT NULL,
  `chan` VARCHAR(20) NOT NULL DEFAULT '',
  `address` VARCHAR(30) DEFAULT NULL,
  `caller` VARCHAR(30) DEFAULT NULL,
  `called` VARCHAR(30) DEFAULT NULL,
  `billtime` INT(10) UNSIGNED DEFAULT NULL,
  `ringtime` INT(10) UNSIGNED DEFAULT NULL,
  `duration` INT(10) UNSIGNED DEFAULT NULL,
  `direction` VARCHAR(8) DEFAULT NULL,
  `status` VARCHAR(11) DEFAULT NULL,
  `reason` VARCHAR(40) DEFAULT NULL,
  `ended` SMALLINT(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `cdr_update` (`chan`, `time`),
  KEY `init` (`ended`)
) ENGINE=MyISAM;

2.YATE

wget http://yate.null.ro/tarballs/yate5/yate5.tar.gz

./configure --with-mysql=/usr
make
make install

regfile.conf
[100]
password=001
[200]
password=002

regexroute.conf
[default]
${username}^$=-;error=noauth

mysqldb.conf
[yate]
host=localhost
database=yate
port=3306
user=root
password=321678

register.conf
[general]
call.cdr=yes
[default]
account=yate
[call.cdr]

critical=no

initquery=UPDATE cdr SET ended = 1 WHERE ended IS NULL OR ended = 0

cdr_initialize=INSERT INTO cdr VALUES(NULL, '${time}', '${billid}', '${chan}', '${address}', '${caller}', '${called}', '${billtime}', '${ringtime}', '${duration}', '${direction}', '${status}', '${reason}', 0)

cdr_update=UPDATE cdr SET address = '${address}', direction = '${direction}', billid = '${billid}', caller = '${caller}', called = '${called}', duration = '${duration}', billtime = '${billtime}', ringtime = '${ringtime}', status = '${status}', reason = '${reason}' WHERE chan = '${chan}' AND time = CAST(${time} AS UNSIGNED)

cdr_finalize=UPDATE cdr SET address = '${address}', direction = '${direction}', billid = '${billid}', caller = '${caller}', called = '${called}', duration = '${duration}', billtime = '${billtime}', ringtime = '${ringtime}', status = '${status}', reason = '${reason}', ended = 1 WHERE chan = '${chan}' AND time = CAST(${time} AS UNSIGNED)

3. Запускаем и звоним


yate -vvvvv -CDo
..........
Loaded module MySQL
.......


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект