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

accounting problem
http://forum.bitel.ru/viewtopic.php?f=6&t=479
Страница 1 из 1

Автор:  Sergey Murzin [ 24 окт 2007, 11:44 ]
Заголовок сообщения:  accounting problem

Добрый день!
Мы используем для Voip нестандартное оборудование (SVI MGC - http://www.squire-technologies.co.uk/pr ... i-mgc.html), которое генерирует cisco-совместимые radius-запросы. В логе радиус-сервера запросы видны (см. ниже), однако трафик не виден ни в мониторе модуля ip-телефонии, ни в отчете по договору. Сравнение эккаунтинг-запросов с настоящей cisco и с указанного MGC показывает что cisco-запросы содержат много избыточной информации. Однако, в эккаунтинг-запросах от MGC отсутствуют User-name, Calling-Station-Id, а также отличное от Cisco значение атрибута Service-Type (6 на MGC, 1 на Cisco). Подскажите пожалуйста насколько критично отсутствие указанных атрибутов и достаточно ли данных в эккаунтинг-запросах для того чтобы трафик корректно обсчитывался (BGBilling version - 4.1)?

radius.log :

INFO 15.10.2007 21:23:43 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
NAS-IP-Address=x.x.x.x
Service-Type=6
Acct-Status-Type=1
Acct-Session-Id=63.218.44.198/284314543f1cb211814500308487de39
Called-Station-Id=375296000213
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
cisco-avpair=session-protocol=h323
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=375296000213
cisco-avpair=xpgk-dst-number-out=375296000213
h323-setup-time=21:23:21.654 NPT Mon Oct 15 2007
h323-call-origin=answer
h323-call-type=VOIP

INFO 15.10.2007 21:23:43 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

INFO 15.10.2007 21:23:54 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
NAS-IP-Address=x.x.x.x
Service-Type=6
Acct-Status-Type=2
Acct-Session-Time=4
Acct-Session-Id=63.218.44.198/284314543f1cb211814500308487de39
Called-Station-Id=375296000213
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
h323-disconnect-cause=10
h323-connect-time=21:23:29.415 NPT Mon Oct 15 2007
h323-disconnect-time=21:23:33.099 NPT Mon Oct 15 2007
cisco-avpair=session-protocol=h323
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=375296000213
cisco-avpair=xpgk-dst-number-out=375296000213
h323-setup-time=21:23:21.654 NPT Mon Oct 15 2007
h323-call-origin=answer
h323-call-type=VOIP

INFO 15.10.2007 21:23:54 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

p.s. трафик с настоящей Cisco обсчитывается корректно. Режим тарификации - по вызываемому номеру, режим поиска - по h323-remote-addressу.

Автор:  Администратор [ 24 окт 2007, 15:42 ]
Заголовок сообщения: 

Что идет через данное оборудование? Терминация? На основание каких данных из стоп пакета можно идентифицировать оператора?

Автор:  Sergey Murzin [ 24 окт 2007, 17:00 ]
Заголовок сообщения: 

Терминация/оригинация. Обычный шлюз TDM/IP. Идентификация по ip-адресу из h323-remote-address=y.y.y.y

Автор:  Администратор [ 24 окт 2007, 17:13 ]
Заголовок сообщения: 

А можете показать при оригинации какой аккаунтинг пакет идет?

Автор:  Sergey Murzin [ 24 окт 2007, 17:51 ]
Заголовок сообщения: 

В первом письме как раз эти пакеты и показаны.
p.s. под оригинацией мы понимаем трафик TDM-->IP, не так ли?

Автор:  Администратор [ 26 окт 2007, 15:57 ]
Заголовок сообщения: 

Да.. А терминация тогда как выглядит?

Автор:  Sergey Murzin [ 26 окт 2007, 17:36 ]
Заголовок сообщения: 

К сожалению в данный момент не могу предоставить пример эккаунтига на терминацию. Однако есть свежий эккаунтинг на оригинацию с измененым h323-call-origin (теперь стал Originate) и появившимися Calling-Station-Id и User-Name.

INFO 24.10.2007 20:22:29 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=9802229452
NAS-IP-Address=x.x.x.x
Service-Type=6
Acct-Status-Type=1
Acct-Session-Id=63.218.44.198/f46f2a433f1cb211956a00308487de39
Calling-Station-Id=9802229452
Called-Station-Id=375152722222
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
cisco-avpair=session-protocol=h323
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=375152722222
cisco-avpair=xpgk-dst-number-out=375152722222
h323-setup-time=20:22:06.385 NPT Wed Oct 24 2007
h323-call-origin=Originate
h323-call-type=VOIP


INFO 24.10.2007 20:23:33 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=9802229452
NAS-IP-Address=x.x.x.x
Service-Type=6
Acct-Status-Type=2
Acct-Session-Time=44
Acct-Session-Id=63.218.44.198/f46f2a433f1cb211956a00308487de39
Calling-Station-Id=9802229452
Called-Station-Id=375152722222
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
h323-disconnect-cause=10
h323-connect-time=20:22:26.467 NPT Wed Oct 24 2007
h323-disconnect-time=20:23:10.327 NPT Wed Oct 24 2007
cisco-avpair=session-protocol=h323
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=375152722222
cisco-avpair=xpgk-dst-number-out=375152722222
h323-setup-time=20:22:06.385 NPT Wed Oct 24 2007
h323-call-origin=Originate
h323-call-type=VOIP

Автор:  Администратор [ 06 ноя 2007, 10:13 ]
Заголовок сообщения: 

http://bgbilling.ru/v4.3/doc/ch07s04.html
Создаете еще один режим поиска:
findmode.3.title=Поиск по h323-remote-address=ALIAS
findmode.3.value= h323-remote-address=ALIAS

Указываете в конфигурациии NAS а (если через него ничего больше не идет):
Код:
find.order=3


Также в конфигурации NASа:
Код:
acct.in=voip/originate
acct.out=voip/answer


Далее создаете новый тип логина: оператор на циске, указываете у него режимы поиска "Поиск по h323-remote-address=ALIAS". Ребут радиуса, должно работать.

Автор:  Sergey Murzin [ 11 июл 2008, 13:54 ]
Заголовок сообщения: 

В accounting запросах от SVI MGC отсутствует атрибут h323-conf-id. В документации на версию 4.4 (http://www.bgbilling.ru/v4.4/doc/ch08s02.html) описано что этот атрибут используется bgbillingом. Пожалуйста уточните использовался ли этот атрибут в версии 4.1 (для accountinga)?

Автор:  Администратор [ 11 июл 2008, 14:15 ]
Заголовок сообщения: 

Для чисто аккаунтинга он не нужен.

Автор:  Sergey Murzin [ 11 июл 2008, 15:54 ]
Заголовок сообщения: 

В мониторе модуля ip-телефонии нет никаких записей. Посмотрите пожалуйста логи радиус-сервера.

connection.log

DEBUG 11.07.2008 10:43:20 [ Airtel; ; 718 ] VoiceIpSessionRealtime checkRest time => 10:43:12; phone => 77272505011; serviceID => 1; callType => 2; maxTime => 3600
DEBUG 11.07.2008 10:43:20 [ Airtel; ; 718 ] accepted => false relevance => -1 REQ: sid => 1 phone => 77272505011 time => 11.07.2008 10:43:12 call_type => 2 zdf => NULL RESP: HIST:
DEBUG 11.07.2008 10:43:20 [ Airtel; ; 718 ] errorCode => 11
DEBUG 11.07.2008 10:43:20 [ Airtel; ; 718 ] VoiceIpSession calculate
DEBUG 11.07.2008 10:43:20 [ Airtel; ; 718 ] errorCode => 2

processor.log

DEBUG 11.07.2008 10:43:20 Process accounting, flag=2
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=9779802229452
NAS-IP-Address=x.x.x.x
Service-Type=1
Acct-Status-Type=2
Acct-Session-Time=8
Acct-Session-Id=0009
Calling-Station-Id=9779802229452
Called-Station-Id=77272505011
h323-gw-id=x.x.x.x
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
h323-disconnect-cause=10
h323-connect-time=05:58:37.750 BST Fri Jul 11 2008
h323-disconnect-time=05:58:45.182 BST Fri Jul 11 2008
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=77272505011
cisco-avpair=xpgk-dst-number-out=35977272505011
h323-setup-time=05:58:25.249 BST Fri Jul 11 2008
h323-call-origin=answer
h323-call-type=VOIP

DEBUG 11.07.2008 10:43:20 Saved connection not found
DEBUG 11.07.2008 10:43:20 Found login type 1
DEBUG 11.07.2008 10:43:20 Login found.

radius.log

INFO 11.07.2008 10:43:00 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=9779802229452
NAS-IP-Address=x.x.x.x
Service-Type=1
Acct-Status-Type=1
Acct-Session-Id=0009
Calling-Station-Id=9779802229452
Called-Station-Id=77272505011
h323-gw-id=x.x.x.x
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=77272505011
cisco-avpair=xpgk-dst-number-out=35977272505011
h323-setup-time=05:58:25.249 BST Fri Jul 11 2008
h323-call-origin=answer
h323-call-type=VOIP

INFO 11.07.2008 10:43:00 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

INFO 11.07.2008 10:43:20 ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
User-Name=9779802229452
NAS-IP-Address=x.x.x.x
Service-Type=1
Acct-Status-Type=2
Acct-Session-Time=8
Acct-Session-Id=0009
Calling-Station-Id=9779802229452
Called-Station-Id=77272505011
h323-gw-id=x.x.x.x
<VendorCode[1]><AttrCode[1]>=undef
h323-remote-address=y.y.y.y
h323-disconnect-cause=10
h323-connect-time=05:58:37.750 BST Fri Jul 11 2008
h323-disconnect-time=05:58:45.182 BST Fri Jul 11 2008
cisco-avpair=subscriber=Unknown
cisco-avpair=connect-progress=Call Up
cisco-avpair=xpgk-dst-number-in=77272505011
cisco-avpair=xpgk-dst-number-out=35977272505011
h323-setup-time=05:58:25.249 BST Fri Jul 11 2008
h323-call-origin=answer
h323-call-type=VOIP

INFO 11.07.2008 10:43:20 RESPONSE:
Type=ACCOUNTING_RESPONSE
Attributes:

radius.out
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'h323_id' cannot be null
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1160)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:685)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:233)
at bitel.billing.server.processor.voiceip.VoiceIpSessionRealtime.createSession(VoiceIpSessionRealtime.java:54)
at bitel.billing.server.processor.voiceip.VoiceIpNASConnection.stopConnection(VoiceIpNASConnection.java:98)
at bitel.billing.server.processor.voiceip.VoiceIpProcessor.accountingProcess(VoiceIpProcessor.java:163)
at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:146)
at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Автор:  Администратор [ 11 июл 2008, 16:07 ]
Заголовок сообщения: 

Мда, нелогичная завязка, но есть. Вы в скрипте предобработки запроса добавляйте его с любым значением. h323-conf-id т.е.

Автор:  Sergey Murzin [ 11 июл 2008, 16:56 ]
Заголовок сообщения: 

Спасибо, теперь все работает. Добавил скрипт предобработки:
import bitel.billing.server.radius.*;
request.setVendorStringAttribute(24, "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD" );

Автор:  Sergey Murzin [ 11 июл 2008, 18:38 ]
Заголовок сообщения: 

И еще один вопрос. Насколько ресурсоемким является выполнение скриптов предобработки? Если есть возможность модифицировать Radius-клиент и отправлять h323-conf-id то лучше ей воспользоваться?

Автор:  Администратор [ 11 июл 2008, 18:40 ]
Заголовок сообщения: 

Нересурсоемко. Ну посмотрите top. Я не думаю, что наберутся такие объемы звонков, чтобы это стало проблемой.

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