Документация по модулю VoIP и принадлежащим к нему страницам перенесена в Confluence
http://abills.net.ua:8090/display/AB/VoIP
Voip
Модуль для организации АйПи-телефонии по протоколу SIP или H323.
Возможности
- SIP, H323
- Авторизация и аккаунтинг
- Тарификация по времени и по направлениям.
- Возможность разрешать или запрещать входящие, исходящие звонки.
- Абон. плата.
- Управление шлюзами.
- Припейд (предоплата) и постпейд (оплптп по факту) сервис.
- Карточная платформа
- Выбор оптимального шлюза для звонка.
- Консоль для управления GNU Gatekeeper.
- Бесплатные секунды в звонке
- Предоплаченное время направлений
Как платформу можно использовать:
- Asterisk. (мануал - * abills+asterisk.)
- Или любой другой NAS который поддерживает RADIUS авторизацию и аккаунтинг.
Установка
abills/libexec/config.pl
@MODULES = ( 'Voip' ); %ACCT = (); #For VoIP GNU Gatekeeper accounting $ACCT{gnugk} = 'Voip_aaa'; #For Astrisk accounting $ACCT{asterisk} = 'Voip_aaa'; %AUTH = (); #For VoIP GNU Gatekeeper Auth $AUTH{gnugk} = 'Voip_aaa'; #For Astrisk accounting $AUTH{asterisk} = 'Voip_aaa';
Залить базу:
# mysql -D abills < db/Voip.sql
Работа с системой
Заведение направлений
/ System configuration/ VoIP/ Routes/
Формат экспорта
PREFIX[TAB]NAME[TAB]STATUS[TAB]
Формат импорта
PREFIX[TAB]NAME[TAB]STATUS[TAB]
После заведения направлений нужно в тарифных планах указать цену направлений
PREFIX | Префикс направления Например 0072 |
NAME | Название направления |
STATUS | Статус активности направления: 0 - активно 1- отключено |
Тарификация
/ System configuration/ VoIP/ Tarif Plans/
# | Номер тарифного палата. Если поле не заполнено указывается следуюший по порядку номер |
---|---|
Name: | Название |
Alert: | Отправка предупреждения о израсходованом депозите на E-mail |
Day fee: | Дневная абонплата |
Month fee: | Месячная абонплата |
Simultaneously: | Количество одновременных звонков клиентов |
Time limit (sec) | Лимит времени |
Day | день |
Week | неделя |
Month | месяц |
Activation: | Начисления при активации аккаунта |
---|---|
Change: | Начисления при изменении тарифного плана |
Credit Threshold: | Несёмный минимум |
Max. session time (sec.): | Максимальное время сессии в секундах |
Age (Days): | Время существования учётной записи абонента |
Payment type: | Вод оплаты. Предоплата - Пользователь может работать только при положительном балансе Послеоплата - Пользователь авторизируется и работает без учёта баланса |
Min. session cost: | Минимальная сума которая снимается за активную сессии |
Free Time: | Предоплаченное время звонков. Распространяется на все звонки. Если нужно отдельно предо плаченое время на разные направления нужно использовать расширенную тарифкацию |
---|---|
First period: | |
Step Of first period: | |
Next Period: | |
Step of next period: | |
Time Division (Seconds .): | Интервал тарификации. По умолчанию секунды. Если возникает ситуация что нужно тарифицировать звонки абонентов не по секундно, а скажем за каждые полные или неполные 10 секунд в этом поле указываем 10. Если абонент проговорил 43 секунды система ему посчитает как за 50 секунд. |
Формат импорта цен направлений
PREFIX[TAB]TRUNK[TAB]EXTRA_TARIFICATION[TAB]PRICES1[TAB]PRICES2
PREFIX | Префикс |
TRUNK | ID транка |
EXTRA_TARIFICATION | Расширенная тарификация |
PRICES… | Цены на разные интервалы времени. Указываются через табуляцию |
Формат экспорта
PREFIX[TAB]NAME[TAB]STATUS[TAB]ADD_DATE[TAB]PRICE
Пример
001 US - Continental Активовано 0000-00-00 7.00000 001204 Canada Активовано 0000-00-00 35.00000 001242 Bahamas Активовано 0000-00-00 28.00000
Расширенная тарификация
/ System configuration/ VoIP/ Extra tarification/
Данная функция разрешает дополнить тарификацию тарифного плана дополнительными возможностями.
- Предоплаченные минуты
Опция разрешает задать определённое количество предоплаченных минут для направлений. Предоплаченные минуты считаются суммарно для всех направлений временного интервала входящих в группу предоплаченного времени. Предоплаченно время считается от начала периода тарификации. (Для модуля VOIP период тарификации совпадает с календарным месяцем)
Заведение шлюзов операторов связи
/ System configuration/ VoIP/ Trunks/
VOIP Provider | Название провайдера |
---|---|
Name | Название транка |
Add Prefix | Добавить префикс к номеру |
Delete Prefix | Удалить префикс из номера |
Protocol | Протокол соединения |
Provider IP | Адрес транка |
Extra Parameters | Дополнительные параметры |
Failover Trunk | Транки при недоступности основного |
Курс тарификации
$conf{VOIP_UNIT_TARIFICATION}=1; | При включённой опции цена прописывается в условных единицах которые потом пересчитываются по курсу в реальных деньги. Курс пересчёта заводиться в меню / System configuration/ VoIP/ Exchange rate. Система автоматически пересчитывает цену при каждом изменении курса. При включённой опции администратору предоставляется возможность заводить тарифные планы только в условных единицах. После Сохранения тарификации сума пересчитывается в денежный эквивалент. Если не установлен обменный курс условные еденицы переводятся по курсу один к одному |
---|---|
$conf{VOIP_NUMBER_EXPR}='search_side/replace_side;search_side/replace_side'; | Регулярные выражения преобразования вызываемого номера. search_side/replace_side - права левая часть регулярного выражения $number - зарезервированная переменная номера Регулярные выражения разделяются точкой с запятой (;) Система завершает преобразовании номера после первого удачного преобразования |
Пример обработки номера регулярным выражением:
$conf{VOIP_NUMBER_EXPR} = '^([0-9]{4,6})$/74832$number;'. '^2([0-9]{6})$/7483$number;'. '(^9[0-9]{9})/7$number;'. '^810/;'. '^8/7;'. '^*8/7;'. '^4832/74832';
Курсы тарификации устанавливаются в меню / System configuration/ VoIP/ Exchange rate/. После установки курса система автоматически пересчитывает все тарифы
$conf{VOIP_CALLER_NUMBER_EXPR}='search_side/replace_side;search_side/replace_side'; | Регулярные выражения преобразования номера звонящего. |
---|
Ошибки авторизации
- No price for route prefix '7' number '00748322111'
нужно завести интервал для данного направления в тарифном плане через Тарифный план / Интервалы / Маршруты
. Выбрать интервал и нажать кнопку изменить
- No route '2111'
нужно завести направление с префиксом начинающимся на 2 / Настройка / VoIP / Направления
и повторно в интервалах инициализировать его Тарифный план / Интервалы / Маршруты