Asterisk+Radius+LanBilling.
Есть ли у кого-либо опыт реализации Asterisk+Radius+LanBilling.
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
varlog,
получается вы используете radiusclient-ng вместо "клиента от порта one + PerlRadius модуль"?
В упомянутом решении от ланбиллинга нет упоминания о radiusclient-ng клиенте. Поясните плз.
|
Сообщений: 37
|
Re: Asterisk+Radius+LanBilling.
Нет radiusclient-ng у меня используется для связки pppoe сервера и lanbilling. Эт случайно до кучи добавил. Извиняюсь за внесение путаницы.
А что конкретно не получается? Опишите по подробнее.
|
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
Спасибо за ответ.
Ну во первых, я не применил патчи, которые идут с клиентом от portaone, потому что использую * 1.6 и предположил что возможно эти исправления уже включили в 1.6. Может быть стоит подправить патчи под 1.6.
А не получается следующее, при инициализации звонка, VOIP агенту ланбиллинга приходит ряд атрибутов которые перечислены в том самом дополнительно словаре. Но не все атрибуты заполнены:
8.01.2010 18:00:19 VERBOSE [ProcessAuthRequests] =============== Output attributes dump: ===============
28.01.2010 18:00:19 VERBOSE [ProcessAuthRequests] VSA 'h323-return-code', vendor Cisco, value: "8"
28.01.2010 18:00:19 VERBOSE [ProcessAuthRequests] Access NOT granted USER=, Phone=, h323-credit-time=0
28.01.2010 18:00:19 VERBOSE [ProcessAuthRequests] <=<=<=<=<=<=<=< Authentication answer sent successfully <=<=<=<=<=<=<=<
28.01.2010 18:00:27 VERBOSE [PreProcessPacket] >=>=>=>=>=>=>=> Packet received from 10.0.2.3, size: 175 >=>=>=>=>=>=>=>
28.01.2010 18:00:27 VERBOSE [PreProcessPacket] Header->Code: 1, Header->Identifier: 253, Header->Length: 175
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'NAS-IP-Address', value: "10.0.2.3"
28.01.2010 18:00:27 VERBOSE [ParseBody] VSA 'NAS-Port-Name', vendor Cisco, value: "SIP/110-00000003"
28.01.2010 18:00:27 VERBOSE [ParseBody] Unknown VSA 1, vendor Cisco, value: "call-id=1264683530.3"
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Calling-Station-Id', value: "110"
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Called-Station-Id', value: ""
28.01.2010 18:00:27 VERBOSE [ParseBody] VSA 'h323-conf-id', vendor Cisco, value: "04805F01 82157E21 991E7457 83D57846"
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'User-Name', value: ""
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
subattr 3 => "INVITE"
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Attributes', value: Sublist:
28.01.2010 18:00:27 VERBOSE [ParseBody] Attribute 'Digest-Response', value: ""
28.01.2010 18:00:27 WARNING [ParseBody] Wrong Digest-Response length.
28.01.2010 18:00:27 INFO [AuthenticateByANI] ANI User: 2402 (phone=110)
28.01.2010 18:00:27 WARNING [GetTimeOut] Called-Station-Id should not be empty. Can't get timeout.
И видимо из-за недостатка атрибутов связка не работает.
На всякий случай. Используется версия ланбиллинга 1.9.
Буду признателен за подсказку.
|
Сообщений: 37
|
Re: Asterisk+Radius+LanBilling.
А словари http://www.lanbilling.ru/doc/ast-radius/raddb.tar.gz есть в /etc/raddb?
|
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
Есть. По крайней мере. я их распаковал в /etc/raddb. Нужно ли было, где то их дополнительно подцеплять не знаю.
|
Сообщений: 37
|
Re: Asterisk+Radius+LanBilling.
Я бы вам посоветовал всётаки попробовать сначала на пропатченой 1.4 ветке всё это дело соорудить, т.к. на ней 100% всё работает и все атрибуты передаются корректно. Насчёт того что эти исправления могли бы войти в 1.6 сильно сомневаюсь.
|
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
Выявил вот какую проблему:
Параметр "SIP_Authorization=" во время выполнения даилплана остается пустым. Т.е. схема
Set(SIP_Authorization=${SIP_HEADER(Proxy-Authenticate)})
Не срабатывает. Причем другие заголовки проходят. А этот нет.
Попробовал использовать метод Account
получил следующий результат, но не знаю то ли это что мне нужно:
09.02.2010 01:24:14 VERBOSE [PreProcessPacket:455] >=>=>=>=>=>=>=> Packet received from 10.0.4.101, size: 164 >=>=>=>=>=>=>=>
09.02.2010 01:24:14 VERBOSE [PreProcessPacket:468] Header->Code: 1, Header->Identifier: 27, Header->Length: 164
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Attribute 'NAS-IP-Address', value: "10.0.4.101"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] VSA 'NAS-Port-Name', vendor Cisco, value: "SIP/110-00000001"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Unknown VSA 1, vendor Cisco, value: "call-id=1265660542.1"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Attribute 'Calling-Station-Id', value: "110"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Attribute 'Called-Station-Id', value: ""
09.02.2010 01:24:14 VERBOSE [ParseBody:492] VSA 'h323-conf-id', vendor Cisco, value: "3273779E 2F9B0064 A233F602 F160888D"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Attribute 'User-Name', value: "110"
09.02.2010 01:24:14 VERBOSE [ParseBody:492] Attribute 'Password', value: "0a04b1e341b586ce3bcddf4cabb75ab3"
09.02.2010 01:24:14 VERBOSE [ParseBody:512] User-Password = "Vх╔:k ≥UMqГ└nс┌"
09.02.2010 01:24:14 VERBOSE [ProcessAuthRequests:290] =============== Output attributes dump: ===============
09.02.2010 01:24:14 VERBOSE [ProcessAuthRequests:316] VSA 'h323-return-code', vendor Cisco, value: "8"
09.02.2010 01:24:14 VERBOSE [ProcessAuthRequests:329] Access NOT granted USER=110, Phone=, h323-credit-time=0
09.02.2010 01:24:14 VERBOSE [ProcessAuthRequests:342] <=<=<=<=<=<=<=< Authentication answer sent successfully <=<=<=<=<=<=<=<
Varlog, не могли бы вы указать какие именно версии астериска и доп. пакетов у вас работают стабильно. Я совсем уже запутался. Что актуально, а что - нет.
Решил пробовать с версией 1.4. Но вот незадача последняя стабильная версия 1.4.29. Нужно ли применять какие либо патчи к астериску?
|
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
Укажите пожалуйста, какие патчи к астеру применялись? Если возможно, со сылками или ресурсом, где можно поискать.
Нашел вот этот перечень:
- SIPGetHeaders for chan_sip (derived from chan_sip2 )
- Outbound SIP cnannel DNID bug fix
- Outbound Zap cnannel DNID bug fix
- Manager API DNID bug fix
- Dial application patch Dial(SIP/number:secret:authid@host)
- chan_sip externalauth=yes
- Inbounnd ast_set_callerid chan_zap bug fix
- SIP remote ip for manager API
Но абсолютно непонтяно, где это искать и надо ли.
|
Сообщений: 37
|
Re: Asterisk+Radius+LanBilling.
Патчи http://unofficial.portaone.com/~kapitan/asterisk-radius-aaa.tar.gz для 1.4.11, так что придётся немного подправить для 1.4.29, ссылка с описанием http://www.voip-info.org/tiki-index.php?page=PortaOne+Radius+auth. Повторюсь что у меня стоит asterisk 1.4.21.2. С остальными версиями не успел протестировать т.к. у нас ещё и модули и патч от attractel для t38gateway'а стоят, а эта контора свернула этот проект и возможности перейти скажем на 1.4.29 нету, соответственно и смысла проверять нет. Ждёмс 1.8
|
Откуда: adasd 12
Сообщений: 9
|
Re: Asterisk+Radius+LanBilling.
Уважаемый, Varlog.
Сделал все как было сказано.
Все кажется заработало без особых препятствий.
Но...
не передается один атрибут(из лога lbircd):
10.02.2010 20:57:11 VERBOSE [ParseBody:492] Attribute 'Called-Station-Id', value: ""
....
10.02.2010 20:53:20 WARNING [GetTimeOut:650] Called-Station-Id should not be empty. Can't get timeout.
....
Access NOT granted USER=199, Phone=, h323-credit-time=0
Почему может не передаваться параметр?
Поэтому не авторизован пользователь что нет номера Б в атрибутах?
extension.conf
exten => _X.,1,SIPGetHeader(SIP_Authorization=Proxy-Authorization)
exten => _X.,2,AGI(agi-rad-auth.agi|Mode=SIP)
exten => _X.,3,Goto(default,${EXTEN},1)
exten => _X.,4,Hangup()
[199](main)
callerid="Izoaa" <199>
username=199
secret=199
nat=no
canreinvite=no
externalauth=yes
лог АСТЕРИСКА:
-- Executing [332332@main:1] SIPGetHeader("SIP/199-00000009", "SIP_Authorization=Proxy-Authorization") in new stack
-- Executing [332332@main:2] AGI("SIP/199-00000009", "agi-rad-auth.agi|Mode=SIP") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/agi-rad-auth.agi
-- agi-rad-auth.agi|Mode=SIP: AGI Environment Dump:
-- agi-rad-auth.agi|Mode=SIP: -- accountcode =
-- agi-rad-auth.agi|Mode=SIP: -- callerid = 199
-- agi-rad-auth.agi|Mode=SIP: -- calleridname = Izoaa
-- agi-rad-auth.agi|Mode=SIP: -- callingani2 = 0
-- agi-rad-auth.agi|Mode=SIP: -- callingpres = 0
-- agi-rad-auth.agi|Mode=SIP: -- callingtns = 0
-- agi-rad-auth.agi|Mode=SIP: -- callington = 0
-- agi-rad-auth.agi|Mode=SIP: -- channel = SIP/199-00000009
-- agi-rad-auth.agi|Mode=SIP: -- context = main
-- agi-rad-auth.agi|Mode=SIP: -- dnid = 332332
-- agi-rad-auth.agi|Mode=SIP: -- enhanced = 0.0
-- agi-rad-auth.agi|Mode=SIP: -- extension = 332332
-- agi-rad-auth.agi|Mode=SIP: -- language = en
-- agi-rad-auth.agi|Mode=SIP: -- priority = 2
-- agi-rad-auth.agi|Mode=SIP: -- rdnis = unknown
-- agi-rad-auth.agi|Mode=SIP: -- request = agi-rad-auth.agi
-- agi-rad-auth.agi|Mode=SIP: -- type = SIP
-- agi-rad-auth.agi|Mode=SIP: -- uniqueid = 1265817604.9
-- agi-rad-auth.agi|Mode=SIP: No responce from RADIUS server
== Spawn extension (main, 332332, 2) exited non-zero on 'SIP/199-00000009'
лог lbircd:
10.02.2010 21:02:00 VERBOSE [PreProcessPacket:455] >=>=>=>=>=>=>=> Packet received from 10.0.4.101, size: 253 >=>=>=>=>=>=>=>
10.02.2010 21:02:00 VERBOSE [PreProcessPacket:468] Header->Code: 1, Header->Identifier: 170, Header->Length: 253
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'NAS-IP-Address', value: "10.0.4.101"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] VSA 'NAS-Port-Name', vendor Cisco, value: "SIP/199-00000009"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Unknown VSA 1, vendor Cisco, value: "call-id=1265817604.9"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Calling-Station-Id', value: "199"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Called-Station-Id', value: ""
10.02.2010 21:02:00 VERBOSE [ParseBody:492] VSA 'h323-conf-id', vendor Cisco, value: "C6C05D2F 9D7A669A E1A200BC 689D8832"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'User-Name', value: "199"
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Attributes', value: Sublist:
10.02.2010 21:02:00 VERBOSE [ParseBody:492] Attribute 'Digest-Response', value: "7785d5abdd5edf2282c40f367df22edd"
10.02.2010 21:02:00 VERBOSE [ProcessAuthRequests:290] =============== Output attributes dump: ===============
10.02.2010 21:02:00 VERBOSE [ProcessAuthRequests:316] VSA 'h323-return-code', vendor Cisco, value: "8"
10.02.2010 21:02:00 VERBOSE [ProcessAuthRequests:329] Access NOT granted USER=199, Phone=, h323-credit-time=0
10.02.2010 21:02:00 VERBOSE [ProcessAuthRequests:342] <=<=<=<=<=<=<=< Authentication answer sent successfully <=<=<=<=<=<=<=<
|
|