Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Разработка / Написание Radius клиента в Asterisk

Написание Radius клиента в Asterisk

1 2>
Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Написание Radius клиента в Asterisk

Нужно подружить Астерискс биллингами уже имеющимися...
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2004-11-25 04:03

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Написание Radius клиента в Asterisk

Предлагаю сделать это. Берусь за написание радиус клиента на AGI. Нужно решить пару технических и концепутальных вопросов.
Пример записи:

Wed Nov 3 17:41:57 2004
Acct-Status-Type = Start
NAS-IP-Address = 200.110.w.x
NAS-Identifier = "GKProxy01"
NAS-Port-Type = Virtual
Service-Type = Login-User
Acct-Session-Id = "03030069"
User-Name = "IP-PBX"
Framed-IP-Address = 200.110.w.x
Calling-Station-Id = "1001"
Called-Station-Id = "1411#13054224049"
h323-gw-id = "h323-gw-id=GKProxy01"
h323-conf-id = "h323-conf-id=760B063D 572CD911 94BB0004 762F169A"
h323-call-origin = "h323-call-origin=proxy"
h323-call-type = "h323-call-type=VoIP"
h323-setup-time = "h323-setup-time=17:41:57.000 PET Wed Nov 03 2004"
h323-remote-address = "h323-remote-address=65.211.y.z"
Acct-Delay-Time = 0
Client-IP-Address = 200.110.w.x
Acct-Unique-Session-Id = "c1746abd83fdf370"
Timestamp = 1099521717

Wed Nov 3 17:42:04 2004
Acct-Status-Type = Stop
NAS-IP-Address = 200.110.w.x
NAS-Identifier = "GKProxy01"
NAS-Port-Type = Virtual
Service-Type = Login-User
Acct-Session-Id = "03030069"
User-Name = "IP-PBX"
Framed-IP-Address = 200.110.w.x
Acct-Session-Time = 4
Calling-Station-Id = "1001"
Called-Station-Id = "1411#13054224049"
h323-gw-id = "h323-gw-id=GKProxy01"
h323-conf-id = "h323-conf-id=760B063D 572CD911 94BB0004 762F169A"
h323-call-origin = "h323-call-origin=proxy"
h323-call-type = "h323-call-type=VoIP"
h323-setup-time = "h323-setup-time=17:41:57.000 PET Wed Nov 03 2004"
h323-connect-time = "h323-connect-time=17:42:00.000 PET Wed Nov 03 2004"
h323-disconnect-time = "h323-disconnect-time=17:42:04.000 PET Wed Nov 03 2004"
h323-disconnect-cause = "h323-disconnect-cause=10"
h323-remote-address = "h323-remote-address=65.211.y.z"
Acct-Delay-Time = 0
Client-IP-Address = 200.110.w.x
Acct-Unique-Session-Id = "c1746abd83fdf370"
Timestamp = 1099521724


Вопросы:


h323-blah-blah радиус атрибуты... А для SIP радиус используется? Я работал только с H323 гейтвеями и не знаю. Как быть если звонок идет от SIP на H323?
Какие типы записей использовать? В зависимости от типа канала?
1) ZAP->H323: incoming leg = answer telephony, outgoing leg = originate voip
2) h323->h323: answer voip, originate voip
и так далее, надо расписатьвсе в деталях.
Как из Asterisk'a брать IP адреса шлюзов и юзеров? Например, тот же IPSoft биллинг использует IP адрес для привязки шлюза к партнеру и тарифам.


Вот дамп AGI сессии:

ENV LINE: agi_request: callshop.py
ENV LINE: agi_channel: IAX2/max@max/1
ENV LINE: agi_language: en
ENV LINE: agi_type: IAX2
ENV LINE: agi_uniqueid: 1101343891.0
ENV LINE: agi_callerid: 926464727164
ENV LINE: agi_dnid: 177
ENV LINE: agi_rdnis: unknown
ENV LINE: agi_context: max
ENV LINE: agi_extension: 177
ENV LINE: agi_priority: 2
ENV LINE: agi_enhanced: 0.0
ENV LINE: agi_accountcode:
ENV LINE:


Единственную проблему, которую я пока вижу, это где брать IP адрес? Варианты получения IP:


В H323 канале и так вместо username будет стоять IP. Пример: H323/1.1.1.1-abcd
В sip.conf/iax.conf прописать accountcode/callerid тому же значению, как и host (т.е. ip адрес)
лезть в консоль и делать show users/show peers/show registrations - там есть ip адреса.
Другие ?


Кто какие биллинги знает, расскажите как там авторизациецией и экаунтингом. По каким полям/критериям? На кого цепляются тарифные планы? Можно ли зводить пользователей с динамических IP? В общем, help pls.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2004-11-25 04:06

Сообщений: 13

Re: Написание Radius клиента в Asterisk

"h323-blah-blah радиус атрибуты... А для SIP радиус используется? Я работал только с H323 гейтвеями и не знаю. Как быть если звонок идет от SIP на H323?"

Радиус сервер используется, как известно, для ААА клиента.
Насколько я понимаю, для каждого типа клиента (sip, iax, h323) поднимается свой RADIUS-сервер (с разными портами). Т.к. звонки проходят через *, то он и будет источником биллинга. Радиус-серверу пофигу какие данные складывать в БД, главное, чтобы у него был соответствующий словарь и к нему приходил пакет в формате радиуса.
Т.е. задача сводиться к написанию приложения * (отдельного для каждого протокола), которое будет вызываться при входящем звонке и посылать на соответствующий порт пакет в радиус-формате. Радиус соответственно выбирает (по вендору, который указан в пакете) нужный словарь и работает с БД (или просто с конфигурационными файлами). После чего, возвращает пакет в таком же формате.
2004-11-25 14:09

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Написание Radius клиента в Asterisk

Получается, нужно плясать от биллинга?
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2004-11-25 15:16

Сообщений: 13

Re: Написание Radius клиента в Asterisk

В общем да, нужно плясать от биллинга. Смотреть, какие атрибуты необходимы и уже потом писать функции для *.
2004-11-25 15:24

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Написание Radius клиента в Asterisk

Спасибо Толян за общие советы, но хотелось бы видеть что-то конкретное. Типа дампов радиус сессии при авторизации SIP клиента по имени и паролю :)
И еще. Какая нам разница по какому протоколу работает клиент? Можно и IAX и SIP загонять в h323-attributes и скармливать биллингу. Разве нет?
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2004-11-25 15:42

Сообщений: 13

Re: Написание Radius клиента в Asterisk

Почему бы нет ;)
Можно сделать и так, ничто не мешает.
Главное - пакет должен быть в формате RADIUS упакован.
Но также нужно принимать пакеты от радиуса.
В общем нужно писать функции для астериска.
2004-11-25 15:56

Сообщений: 1

Re: Написание Radius клиента в Asterisk

Есть такая мысль.
Может это можно как то сделать совместимым с gnugk.
В нем есть уже биллинг без интерфейса.
Это из его описания:

GnuGk Sample Billing Platform
======================

This is a system that can be used to provide AAA
(Authentication, Authorization and Accounting) services
to Voice over IP networks managed by the GNU Gatekeeper.

It consists of three major components:
GnuGk (2.0 or 2.2) H.323 gatekeeper (http://www.gnugk.org)
FreeRADIUS RADIUS server (http://www.freeradius.org) (optional)
PostgreSQL database server (http://www.postgresql.org)

All these application are open source and have been proven
to be stable, mature products.

What you may expect from this system:
1. Endpoint authentication based on a h323id/password pair.
2. Automatic assignment of specified E.164/H.323 ID to endpoints.
4. Restricting aliases an endpoint is allowed to register with.
5. Restricting IP address an endpoint can register/call from.
6. Call authorization:
- call duration limit based on available account balance
- allow only fixed set of destination numbers (tariff table)
- flat tariffs
7. Call accounting:
- storing call info to the SQL database when the call is started,
disconnected and in progress (incremental accounting updates)
- automatic account balance update after call state is updated
or the call is disconnected
- support for both originating and terminating account

What you will not find here:
1. User interface (this package contains only SQL schema and configuration
files for FreeRADIUS and GnuGk).
2. A detailed manual.

Вот и состыкуются два продукта еще и по биллингу:-))
Останется только морду приделать.
Тоже есть небольшие наработки.
Правда пока еще не смотрел его родную препайд аппликуху.
2004-11-25 22:12

Сообщений: 63

Re: Написание Radius клиента в Asterisk

http://www.trabas.com/opensource/index.html

Trabas VoIP Billing is browser-based Open Source Software for VoIP Operator to handle
billing process from Service and Tariff Definition to Report Producing.
2004-11-28 12:28

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Написание Radius клиента в Asterisk

Смотрел давно - это рекламный понт про open source.
за два года было 2 версии - 0.0.1 и 0.0.2a.
Trabas - трубачи :)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2004-11-28 13:13

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru