Неверный выбор зоны телефонии ядром

Технические вопросы по UTM 5.0
Ответить
AntonLemon
Сообщения: 55
Зарегистрирован: Вт авг 16, 2005 11:29

Неверный выбор зоны телефонии ядром

Сообщение AntonLemon »

UTM5-1-007

Написал собственный обработчик событий астериска и шлю Start-Stop пакеты на радиус. В биллинг все данные попадают корректно,- кто звонил, куда, время, длительность..

а вот направления и соответственно стоимость путается.

звоню на 8495.. - в моем биллинге это zoneid=1 стоимость 3рубля

при старт-пакете:
radius.log

Код: Выделить всё

?Debug &#58; Apr 14 15&#58;05&#58;33 RADIUS DBA&#58; TELTARIFF&#58; called number <84955101025> calling number <6772502> direction id <2> zone id <1>
тут зона верно выбирается и производится правильная запись INSERT INTO tel_sessions_log с указанием зоны=1


при cтоп-пакете
radius.log

Код: Выделить всё

 Info  &#58; Apr 14 15&#58;05&#58;36 UT&#58; tarification for slink 10505, tr_id 1, mult 2.000000, next 1271243135
 Info  &#58; Apr 14 15&#58;05&#58;36 UT&#58; cost info&#58;
 Info  &#58; Apr 14 15&#58;05&#58;36 UT&#58; type 0     deny 0  base_cost 1.000000      size        2   tr_id 1 mult 2.000000   added        0  sum 0.000000
?Debug &#58; Apr 14 15&#58;05&#58;36 RADIUS Tarif&#58; UT cost_info sum&#58;0.0667 setup_time <1271243133>
?Debug &#58; Apr 14 15&#58;05&#58;36 RADIUS DBA&#58; VoIP Discount&#58; TR ID 2&#58; 0.067 for 2 sec setup_time <1271243133>
debug.log

Код: Выделить всё

?Debug &#58; Apr 14 15&#58;05&#58;36 DBCtx&#58; <680568832> SQL query&#58; INSERT INTO tel_sessions_detail&#40;dhs_sess_id,disc_per_id,slink_id,recv_date,account_id,trange_id,durati
on,base_cost,sum_cost&#41; VALUES&#40;'283','6','10505','1271243136','3472','2','2','2','0.066667'&#41;
?Debug &#58; Apr 14 15&#58;05&#58;36 UTM5 DBA&#58; discount_from_account tel zoneid <2> h.base_cost <2.000000>
т.е. тут почему-то зона уже 2 и стоимость 2


привожу старт-стоп пакеты. из них видно 30-31 атрибуты

Acct-Start packet

Код: Выделить всё

<Vendor&#58; 0; Attr&#58; 4>&#91;4&#93;&#58; bc8f85c9
<Vendor&#58; 0; Attr&#58; 30>&#91;11&#93;&#58; 3834393535313031303235
<Vendor&#58; 0; Attr&#58; 31>&#91;7&#93;&#58; 36373732353032
<Vendor&#58; 0; Attr&#58; 40>&#91;4&#93;&#58; 00000001
<Vendor&#58; 0; Attr&#58; 44>&#91;17&#93;&#58; 5349502f363030302d3030303030303366
<Vendor&#58; 0; Attr&#58; 46>&#91;4&#93;&#58; 00000000
Acct-Stop packet

Код: Выделить всё

<Vendor&#58; 0; Attr&#58; 4>&#91;4&#93;&#58; bc8f85c9
<Vendor&#58; 0; Attr&#58; 30>&#91;11&#93;&#58; 3834393535313031303235
<Vendor&#58; 0; Attr&#58; 31>&#91;7&#93;&#58; 36373732353032
<Vendor&#58; 0; Attr&#58; 40>&#91;4&#93;&#58; 00000002
<Vendor&#58; 0; Attr&#58; 44>&#91;17&#93;&#58; 5349502f363030302d3030303030303366
<Vendor&#58; 0; Attr&#58; 46>&#91;4&#93;&#58; 00000002
<Vendor&#58; 0; Attr&#58; 49>&#91;4&#93;&#58; 00000001

AntonLemon
Сообщения: 55
Зарегистрирован: Вт авг 16, 2005 11:29

Сообщение AntonLemon »

Благодаря саппорту нетапа удалось найти проблему.

поскольку мы постепенно переходили на новые версии практически с самого начала UTM5, то в определенный момент не были внесены некоторые коррективы в базу биллинга.

Решение: удаляем все телефонные зоны и телефонные направления.
Добавляем начальное значение id направлений: INSERT INTO tel_directions (id,is_deleted) VALUES(1001000,1);

вот после этого новые направления начинают работать корректно.

MadMike
Сообщения: 230
Зарегистрирован: Чт май 05, 2005 07:02

Сообщение MadMike »

2AntonLemon

А не поделишься решением?
Очень интересует эта тема
altestmail at mail.ru

AntonLemon
Сообщения: 55
Зарегистрирован: Вт авг 16, 2005 11:29

Сообщение AntonLemon »

Поделиться не проблема. контакт скинул на мыло.

В общем решение таково:

Астериск не умеет нормально работать с радуисом, а значит необходимо самому получать события о совершаемых звонках и отправлять в нетап по радиусу.

Прочитав http://asterisk.ru/mobile/knowledgebase/asterisk-utm принялся реализовывать.

Скрипт авторизации, работающий через AGI - довольно прост и работает без изменнеий на любых версиях астериска, а вот перловый скрипт ast-rad-acc.pl работать не захотел. Оказалось, что разработчики астериска каждую новую подвесрию изменяют Asterisk Manager Events. События которые приходят от менеджера меняют свои названия, и переменные каждый месяц. события между версиями 1.4 - 1.6 - 1.8 вообще не имеют ничего общего.

Указанный по ссылке выше скрипт ast-rad-acc.pl был разработан как я понял для 1.14.9 и оказывается полностью неработоспособным с современными версиями.

По началу я пытался его переписать, но вылезали все новые и новые несовместимости.

Плюнув на все, написал собственный php-обработчик событий. Коннектится к менеджеру. Получает события, отсылает старт-стоп-апдейт пакеты в нетап. отслеживает связь с астериском.

Запускаем скрипт в "продакшен" На следующей неделе. Посмотрим как под нагрузкой будет жить. если от cdr-файла отличий в биллинге не будет - опубликую.

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Сообщение TiRider »

Ап!

LMik
Сообщения: 39
Зарегистрирован: Вт фев 14, 2006 19:55

Сообщение LMik »

Да, очень интересно чем всё закончилось.

Adwiz
Сообщения: 5
Зарегистрирован: Чт апр 29, 2010 12:38
Откуда: Мытищи
Контактная информация:

Re: Неверный выбор зоны телефонии ядром

Сообщение Adwiz »

Привет. А можно поделиться ast-rad-acc.pl для версии астера 1.8 ?

a.kolupaev
Сообщения: 11
Зарегистрирован: Вт сен 22, 2009 10:56

Сообщение a.kolupaev »

Я в свое время на asterisk-support этот вопрос решил с версией астера 1.6, те самые скрипты на perl

Vladimir V. Vedeneev
Сообщения: 15
Зарегистрирован: Ср июн 29, 2005 21:13
Откуда: Санкт-Петербург
Контактная информация:

ast-rad-acc.pl

Сообщение Vladimir V. Vedeneev »

А чем все-таки закончилась эпопея? Очень интересует решение для 1.8 )

Владимир
AntonLemon писал(а):Поделиться не проблема. контакт скинул на мыло.

В общем решение таково:

Астериск не умеет нормально работать с радуисом, а значит необходимо самому получать события о совершаемых звонках и отправлять в нетап по радиусу.

Прочитав http://asterisk.ru/mobile/knowledgebase/asterisk-utm принялся реализовывать.

Скрипт авторизации, работающий через AGI - довольно прост и работает без изменнеий на любых версиях астериска, а вот перловый скрипт ast-rad-acc.pl работать не захотел. Оказалось, что разработчики астериска каждую новую подвесрию изменяют Asterisk Manager Events. События которые приходят от менеджера меняют свои названия, и переменные каждый месяц. события между версиями 1.4 - 1.6 - 1.8 вообще не имеют ничего общего.

Указанный по ссылке выше скрипт ast-rad-acc.pl был разработан как я понял для 1.14.9 и оказывается полностью неработоспособным с современными версиями.

По началу я пытался его переписать, но вылезали все новые и новые несовместимости.

Плюнув на все, написал собственный php-обработчик событий. Коннектится к менеджеру. Получает события, отсылает старт-стоп-апдейт пакеты в нетап. отслеживает связь с астериском.

Запускаем скрипт в "продакшен" На следующей неделе. Посмотрим как под нагрузкой будет жить. если от cdr-файла отличий в биллинге не будет - опубликую.

Adwiz
Сообщения: 5
Зарегистрирован: Чт апр 29, 2010 12:38
Откуда: Мытищи
Контактная информация:

Связка Asterisk 1.8 + UTM5

Сообщение Adwiz »

Связка Asterisk 1.8 + UTM5 всё работает хорошо, на utm5-agi.py, но пользователи с отрицательным балансом продолжают звонить, хотя установлено
radius_auth_vap=1
Куда копать?

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Re: Связка Asterisk 1.8 + UTM5

Сообщение TiRider »

Adwiz писал(а):Связка Asterisk 1.8 + UTM5 всё работает хорошо, на utm5-agi.py, но пользователи с отрицательным балансом продолжают звонить, хотя установлено
radius_auth_vap=1
Куда копать?
Как сделали связку? Если можно конфиги :)

Adwiz
Сообщения: 5
Зарегистрирован: Чт апр 29, 2010 12:38
Откуда: Мытищи
Контактная информация:

Сообщение Adwiz »

Куда слать?

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Сообщение TiRider »

Adwiz писал(а):Куда слать?
triderk (dog) gmail.com

Ответить