forum.bitel.ru
http://forum.bitel.ru/

Как повторить звонки ?
http://forum.bitel.ru/viewtopic.php?f=6&t=5752
Страница 1 из 1

Автор:  iros [ 01 авг 2011, 13:03 ]
Заголовок сообщения:  Как повторить звонки ?

Так вышло, что радиус сервер не работал какое то время. и звонки не учитывались. Но остались логи с кипера.
Можно ли на основе этих логов как то повторить пропущенные звонки в радиус ?

Автор:  iros [ 02 авг 2011, 14:02 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Для эмуляции звонков планирую использовать клиент от freeradius
Допустимо ли отсылать атрибуты типа:
Цитата:
h323-connect-time=10:48:57.004 MSK Tue Aug 02 2011
h323-disconnect-time=10:50:02.988 MSK Tue Aug 02 2011

с датами из предыдущего месяца ?
Как будут расчитываться такие звонки ?

Автор:  iros [ 05 авг 2011, 19:17 ]
Заголовок сообщения:  Re: Как повторить звонки ?

С помощью radclient удается отправить в радиус необходимые пакеты. Звонки учитываются.
Но текущей датой. А мне надо за прошлый месяц.
Если поменяю системную дату на машине с BGRadiusVoip ? Звонки будут учитываться как надо ?
На какие грабли можно наступить ?
Какая логика может нарушиться ?


Разработчики ответьте !!!!

Автор:  Amir [ 09 авг 2011, 14:39 ]
Заголовок сообщения:  Re: Как повторить звонки ?

А логи только в радиус формате?
Если нет, можно было загрузить в базу и переобсчитать.

Автор:  Phricker [ 09 авг 2011, 14:49 ]
Заголовок сообщения:  Re: Как повторить звонки ?

У меня было предложение загрузить подобные логи в тестовую базу, в ней update'ом поменять даты на предыдущий месяц, и потом экспорт/импорт/пересчитать.
Почему то посчитал его глупым и не стал выносить на рассмотрение :) Но вдруг поможет

Автор:  Amir [ 09 авг 2011, 15:06 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Смотрим сейчас возможность добавления поддержки h323-connect-time.
А access пакеты тоже идут?

Автор:  iros [ 09 авг 2011, 15:12 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Amir писал(а):
А логи только в радиус формате?
Если нет, можно было загрузить в базу и переобсчитать.


Логи с гейткипера.
Текстовый файл типа:
Шлюз источник;Шлюз назначения;caller_number;called_number;код завершения;дата;длительность звонка;и т.д

Скрипт для посылки таких строчек в радиус - готов и испытан. Все делает как надо.
Но текущей датой естественно. А нужно, что б звонки попали в предыдущий месяц.
Вот я и подумал просто - обмануть BGRadiusVoip. Сказать, что сейчас июль.... ?

никаких access пакетов нет. посылаю тупо acct stop. Этого достаточно для обсчета звонка.

Автор:  Amir [ 09 авг 2011, 15:51 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Версия 5.1?

Автор:  iros [ 09 авг 2011, 16:21 ]
Заголовок сообщения:  Re: Как повторить звонки ?

4.6

# ./radius.sh status
version 4.6 build 171 from 16.03.2010 15:36:59

Автор:  Amir [ 09 авг 2011, 16:44 ]
Заголовок сообщения:  Re: Как повторить звонки ?

http://bgbilling.ru/patch/2011-08/voiceip.jar

Попробуйте в конфиге наса прописать
Код:
radius.stop.useConnectTime=1
, остановить радиус, заменить voiceip.jar и запустить заново.
Только сделайте сначала бэкап старой библиотеки.
Для одиночных стоп пакетов должен начать брать начало сессии из H323-connect-time. В насе должен быть прописан vendor Cisco (или чей в данном случае атрибут H323_connect_time).
Попробуйте по одной сессии.

Автор:  iros [ 09 авг 2011, 18:08 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Спасибо.
Обязательно отпишусь по результатам.

Автор:  iros [ 10 авг 2011, 00:51 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Формат даты и времени в атрибуте h323-connect-time ?
вариант типа:
10:48:57.004 MSK Tue Aug 02 2011
не совсем "машинный". Он больше "человеческий".
Есть возможность передавать дату/время в нормальном формате ?
например unix_time или "DD/MM/YY HH:MM:SS"


Попробовал для примера такой пакет:

Цитата:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=Cisco2851
NAS-IP-Address=*****
NAS-Port=3271749146
Acct-Input-Octets=3032272
Acct-Output-Octets=3030800
Acct-Status-Type=2
Acct-Session-Time=351
Calling-Station-Id=****
Acct-Session-Id=11213071815000062E4L1
Called-Station-Id=84950000000
Acct-Authentic=2
h323-remote-address=172.16.2.90
h323-disconnect-cause=10
h323-connect-time=11:11:11.111 MSK Sun Jul 31 2011
h323-disconnect-time=11:22:22.222 MSK Mon Aug 01 2011
h323-conf-id=3917A10C BB4511E0 B947FA8D B7FC04E3
h323-setup-time=11:11:11.111 MSK Mon Aug 01 2011
h323-call-origin=answer
h323-call-type=VoIP

Звонок записался и на текущую дату. Несмотря на "Jul 31 201"...
radius.stop.useConnectTime=1 в конфиг наса прописал.

Автор:  Amir [ 10 авг 2011, 12:35 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Формат времени в 11:11:11.111 MSK Sun Jul 31 2011. Т.е. парсится нормально.
У наса вендор указан на cisco?

Автор:  iros [ 10 авг 2011, 13:50 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Цитата:
# grep h323-conn /usr/share/freeradius/dictionary.cisco
ATTRIBUTE h323-connect-time 28 string


Использую radclient от freeradius. Он ругается когда атрибут незнакомый. А тут вроде все чисто:

Цитата:
Sending Accounting-Request of id 109 to **** port 1813
User-Name = "Cisco2851"
NAS-IP-Address = 172.16.0.205
NAS-Port = 3271749146
Acct-Input-Octets = 3032272
Acct-Output-Octets = 3030800
Acct-Status-Type = Stop
Acct-Session-Time = 351
Acct-Session-Id = "11213071815000062E4L1"
Calling-Station-Id = "*****"
Acct-Authentic = Local
Called-Station-Id = "84950000000"
h323-remote-address = "172.16.2.90"
h323-disconnect-cause = "10"
h323-call-origin = "answer"
h323-call-type = "VoIP"
h323-conf-id = "3917A10C BB4511E0 B947FA8D B7FC04E3"
h323-connect-time = "11:11:11.111 MSK Sun Jul 31 2011"
h323-disconnect-time = "11:22:22.222 MSK Mon Aug 01 2011"
h323-setup-time = "11:11:11.111 MSK Mon Aug 01 2011"
rad_recv: Accounting-Response packet from host **** port 1813, id=109, length=20


Конфиг наса:
Цитата:
service=1
auth.in=voip/originate
auth.out=voip/answer

radius.stop.useConnectTime=1


Звонок записывается текущей датой/время. :-(

Автор:  Amir [ 10 авг 2011, 14:02 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Нет, я про Вендор, который в Редакторе Nasов указывается.

Автор:  iros [ 10 авг 2011, 14:05 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Да. Вендор указан Cisco.

Автор:  Amir [ 10 авг 2011, 15:53 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Попробуйте еще раз, выложил новый билд:
http://bgbilling.ru/patch/2011-08/voiceip.jar
И выложите потом логи, там должен быть более подробный лог по поводу connect-time.

Автор:  iros [ 10 авг 2011, 18:03 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Без изменений.

Цитата:
08-10/15:58:03 INFO [pool-2-thread-3] radius - ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=Cisco2851
NAS-IP-Address=172.16.0.205
NAS-Port=3271749146
Acct-Input-Octets=3032272
Acct-Output-Octets=3030800
Acct-Status-Type=2
Acct-Session-Time=351
Calling-Station-Id=*****
Acct-Session-Id=11213071815000062E4L1
Called-Station-Id=84950000000
Acct-Authentic=2
h323-remote-address=172.16.2.90
h323-disconnect-cause=10
h323-connect-time=11:11:11.111 MSK Sun Jul 31 2011
h323-disconnect-time=11:22:22.222 MSK Mon Aug 01 2011
h323-conf-id=3917A10C BB4511E0 B947FA8D B7FC04E3
h323-setup-time=11:11:11.111 MSK Mon Aug 01 2011
h323-call-origin=answer
h323-call-type=VoIP

08-10/15:58:03 INFO [pool-2-thread-3] VoiceIpProcessor - radius.stop.useConnectTime=1
08-10/15:58:03 INFO [pool-2-thread-3] VoiceIpProcessor - H323-connect-time=null
08-10/15:58:03 INFO [pool-2-thread-3] VoiceIpProcessor - connectTime=
08-10/15:58:05 INFO [pool-2-thread-3] radius - RESPONSE:
Type=ACCOUNTING_RESPONSE
Process time stop: 1852
Attributes:


Подумал, что дело возможно в сравнении строк "H323-connect-time" и "h323-connect-time".
Изменил в dictionary.xml "h" на "H" - не помогло:

Цитата:
08-10/15:56:46 INFO [pool-2-thread-21] radius - ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=Cisco2851
NAS-IP-Address=172.16.0.205
NAS-Port=3271749146
Acct-Input-Octets=3032272
Acct-Output-Octets=3030800
Acct-Status-Type=2
Acct-Session-Time=351
Calling-Station-Id=33300
Acct-Session-Id=11213071815000062E4L1
Called-Station-Id=84950000000
Acct-Authentic=2
h323-remote-address=172.16.2.90
h323-disconnect-cause=10
H323-connect-time=11:11:11.111 MSK Sun Jul 31 2011
h323-disconnect-time=11:22:22.222 MSK Mon Aug 01 2011
h323-conf-id=3917A10C BB4511E0 B947FA8D B7FC04E3
h323-setup-time=11:11:11.111 MSK Mon Aug 01 2011
h323-call-origin=answer
h323-call-type=VoIP

08-10/15:56:46 INFO [pool-2-thread-21] VoiceIpProcessor - radius.stop.useConnectTime=1
08-10/15:56:46 INFO [pool-2-thread-21] VoiceIpProcessor - H323-connect-time=null
08-10/15:56:46 INFO [pool-2-thread-21] VoiceIpProcessor - connectTime=
08-10/15:56:47 INFO [pool-2-thread-21] radius - RESPONSE:
Type=ACCOUNTING_RESPONSE
Process time stop: 443
Attributes:

Автор:  Amir [ 11 авг 2011, 22:03 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Попробуйте снова с этой же ссылки - теперь должно быть нормально.

Автор:  iros [ 12 авг 2011, 11:58 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Ага, теперь работает !
Только вот непонятно почему в радиус пакете connect-time=11:11:11.111, а в отладке и в базу попало
connectTime=12:11:11.111 ?
Звонки в будущее ? :D

Цитата:
08-12/09:51:40 INFO [pool-2-thread-11] radius - ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=Cisco2851
NAS-IP-Address=172.16.0.205
NAS-Port=3271749146
Acct-Input-Octets=3032272
Acct-Output-Octets=3030800
Acct-Status-Type=2
Acct-Session-Time=351
Calling-Station-Id=*****
Acct-Session-Id=11213071815000062E4L1
Called-Station-Id=84950000000
Acct-Authentic=2
h323-remote-address=172.16.2.90
h323-disconnect-cause=10
h323-connect-time=11:11:11.111 MSK Sun Jul 31 2011
h323-disconnect-time=11:22:22.222 MSK Mon Aug 01 2011
h323-conf-id=3917A10C BB4511E0 B947FA8D B7FC04E3
h323-setup-time=11:11:11.111 MSK Mon Aug 01 2011
h323-call-origin=answer
h323-call-type=VoIP

08-12/09:51:40 INFO [pool-2-thread-11] VoiceIpProcessor - connectTime=31.07.2011 12:11:11.111
08-12/09:51:40 INFO [pool-2-thread-11] radius - RESPONSE:
Type=ACCOUNTING_RESPONSE
Process time stop: 97
Attributes:

Автор:  Amir [ 12 авг 2011, 15:06 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Нет, просто в отладке в вашем часовом поясе показывает.

Автор:  iros [ 12 авг 2011, 16:47 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Хмммм. Там написано MSK. И я в Москве.
На сервере неверно время ?

Автор:  Amir [ 12 авг 2011, 17:15 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Может быть из-за летнего времени где не так? Летнее вроде обозначалось раньше MSD или MSK+1, а теперь даже и не уверен как должно быть :)

Автор:  iros [ 15 авг 2011, 14:50 ]
Заголовок сообщения:  Re: Как повторить звонки ?

Ага. на сервере MSD .
Спасибо за помощь.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/