> Нахожусь в размышлениях, какой sip proxy поставить и пока что взгляд
Биллить надо на сервере доступа или на станции. От CGatePro в поле From приходит гарантированно авторизованный user@domain. Этого достаточно для любого стандартного биллинга. Сервер доступа может доверять полю From и IP адресу CGatePro.
За одним исключением. Если клиент набрал не номер@domain, а номер@ip[:port], то Signal уйдет мимо любых правил Router'а. Авторизованному клиенту разрешен Signal Relay куда угодно, и запретить это практически невозможно, да и нельзя запрещать, по большому счету. Таким образом клиент может рассылать INVITE'ы куда попало, только уже не от своего имени, а от IP адреса CGatePro.
Когда Router говорит, что через Signal на номер@domain сервер доступа "А" принимает звонки только по России, а сервер "B" -- по Европе, клиент может всё это переиграть по-своему и бесконтрольно звонить на Кубу через номер@ip какой-нибудь ростовской станции (от вашего имени).
Разработчики CGatePro считают, что лицензиаты не должны заниматься продажей минут, поэтому правила формирования маршрутов Signal Relay имеют тот же синтаксис, что и для Mail Relay. Хотя известно, что серверы входящей почты редко берут деньги за local delivery, а серверы доступа SIP-PSTN, напротив, редко не берут. Короче, стоит позаботиться о том, чтобы все серверы доступа, которые доверяют IP CGatePro, всегда самостоятельно проверяли поле From.
> в логах об осуществленных звонках в CDR есть только invite и bye. OK 200 > и ACK там нет. Соответственно непонятно, говорил человек или нет, и если > говорил, то сколько.
В CDR есть только 200-INVITE и 200-BYE. То есть как раз "200 OK". 200-INVITE вполне достаточно для определения начала разговора, потому что станция прислала серверу доступа CONNECT. Другое дело, если ACK не пришел, надо подождать-подождать, да и завершить разговор аварийно. Потому что отсутствие ACK предполагает как минимум одно из двух: -- UAC не получил "200 OK" + SDP, не узнал media ip:port и молчит; -- не сумев послать ACK, не сможет послать BYE и завесит звонок.
> Т.е. хочется, чтобы проксировалась сигнализация, а rtp ходило напрямую. > Если записи о соединениях в логах нет, потому что сигнализация не > проксируется, то это больше похоже на redirect сервер, а не на sip proxy. > > Собсно, кто как обсчитывает звонки клиентов?
В Tario/SIPNET все потенциально денежные операции обсчитываются третьими приложениями вне зоны ответственности CGatePro. Парсер Settings/CDRs используется для быстрого выуживания проблемных звонков без 200-BYE, с десятью 200-BYE, с 4xx-BYE, без 200-INVITE (но с 200-BYE), с 5xx-INVITE и т.д. для последующего разбора полетов по большим логам.
External CDR Helper используется для опциональной записи бесплатных звонков между клиентами, и в данное время неактивен. Дело еще в том, что CDR учитывает сессии Windows Messenger IM, которые по воле MS начинаются/заканчиваются INVITE/BYE, отчего "голосовой" CDR может выглядеть прикольно.
-- Герман Мызовский, Tario Communications.Получено Thu Feb 02 17:55:35 2006
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:14:40 MSK