Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Денис Соколов
Сегодня мы займемся созданием системы учета исходящих телефонных звонков на примере УАТС LG GDK-162. От вас требуется: навыки работы в UNIX-подобных операционных системах, умение программировать на Perl и базовые знания в SQL.
Недавно руководство поставило задачу – необходимо вести учет всех исходящих телефонных звонков. В офисе установлена УАТС LG GDK-162 емкостью 48 внутренних номеров и 8 внешних линий. Различные программы тарификации имеются в избытке. Но ни одна меня не устроила. Большинство из них платные и написаны под Windows, из некоммерческих только SMDR 1.0 поддерживает LG GDK-162.
Для операционных систем Linux и FreeBSD
существует очень интересный проект ATSlog:
Рисунок 1. Схема учета исходящих телефонных звонков
LG GDK-162, как и большинство офисных АТС, можно подключить к компьютеру через порт RS-232. Параметры порта: 9600 бит/с, 8 бит данных, без контроля паритета, 1 стоповый бит.
Таблица 1. Распайка кабеля (стандартный нуль-модем)
PBX (9 pin) |
PC (9 pin) |
PC (25 pin) |
2 (TX) |
2 (RX) |
3 (RX) |
3 (RX) |
3 (TX) |
2 (TX) |
5 (GND) |
5 (GND) |
7 (GND) |
Я подключился к последовательному порту УАТС при помощи терминальной программы и стал анализировать считываемые данные. Оказалось, что LG GDK-162 протоколирует свою работу в режиме реального времени, а записи об исходящих звонках выглядят следующим образом:
1035 144 06 00:11 21/08/2005 16:21 O1234567 **
Рассмотрим её содержимое:
n первое поле – порядковый номер записи;
n второе – номер станции, с которой сделан вызов;
n третье – номер внешней линии;
n четвертое – длительность звонка (mm:ss);
n пятое – дата;
n шестое – время (hh:mm);
n седьмое – вызванный номер с ведущим символом O. Седьмое поле может кроме цифр содержать символы «#» и «*» – это происходит при звонках на голосовые шлюзы операторов IP-телефонии.
Таким образом, задача учета исходящих телефонных звонков свелась к написанию программы для считывания журнала работы УАТС через порт RS-232, обработки и сохранения соответствующих записей. Можно приступать к реализации.