On Sat, 04 Feb 2006 10:02:07 +0300
"German Myzovsky" <CGatePro@mx.ru> wrote:
>> "Много внимания" - это сделать так, чтобы те, кто всё еще торгуют >> минутками - могли это делать. И они это делать могут - только используя >> CGatePro ПОЛНОСТЬЮ - не как SIP Proxy, а как SIP Application Server - >> через CG/PL Applications. >> >> Как - было уже описано.
Посему выход - делать все общение с PSTN через gatewaycaller (или какой другой applicaiton), и там все аккуратненько билить и разрешать-запрещать.
Заметьте, Герман, что это совершенно всё равно, что стоит с другой стороны gatewaycaller - тупой Сискин gateway или Ваш прекрасный прокси с гейтвеями по всему миру. Потому что тут решается не только проблема тупости и нестандартности протокола на гейтвее, а проблема аутентикации и прочего - что доступно только тому серверу, на котором все эти аккаунты есть, и который может разные диалоги дернуть на предмет "а ну-ка, докажи мне, что это правда ты" - в тот момент, когда надо, а не когда уже захотелось.
Вот Вам пример из прошлого письма. Из PSTN позвонили Васе. Звонок НЕ аутетифицирован. Можно, конечно, сказать, что если мы позвонили на account vasya (взяв его registration), то с той стороны ответивший - точно Вася, но это не всегда правда (Васины сеттинги могут все звонки автоматом по понедельникам перенаправлять на Петю, потому что у Васи по понедельника похмелье). И теперь Вася (или кто там с той сторны) хочет этот PSTN звонок перефорвардить на Катю. А Катя, так уж вышла, доступна вербально исключительно через мобильник, то есть - трансферить надо на PSTN, а это (пока) - деньги. Которые с Васи надо взять. Но сначала надо убедиться, что это - Вася.
Вася прислал внутри диалога с PSTN REFER на Катю. Диалог не аутетицирован (это не Вася звонил, это ему позвонили). Поэтому надо Васю дернуть "обзовись, что это ты". Но возвращать 401 на REFER - совсем некузяво, многие клиенты такой романтики не поймут. Зато вот какой момент - прежде чем выдавать REFER любой хороший клиент сначала текущий разговор поставит на Hold. А это - reINVITE. Который мы спокойненько можем отрубить с 401, заставив Васю доказать, что это он. И потом со спокойной совестью мы принимаем REFER и выдаем INVITE туда, куда сказали (на Катю). При этом в From: этого INVITE - имя-номер того, кто Васе позвонил, а в authenticated поле - Вася@наш.домен.
Далее, после обработки регистраций Кати, оказывается, что у ней все заредирекчено на +79105551212 - и оно зарутилось на PSTN. А весь PSTN - routed в gatewaycaller application. Который радостно проверил, аутентицирован ли звонок (нет - отсылает, 401 - "назовись, кто ты на самом деле"). У нас все хорошо, в INVITE (во внутреннем представлении, ни в SIP пакете - тут никаких SIP нету пока, после приема Васиного REFER) - в INVITE есть аутентикация - Вася@наш.домен.
gatewaycaller радостно лезет в этот аккаунт, вынимая всё, что ему надо из Васиных потрохов - например, имя gateway-я, через который должны идти звонки от Васи (в Вашем случае, Герман, - какие-то сеттинги "тарифного плана" - которые потом можно в виде хедеров передать в INVITE на Ваш "VoIP proxy" - для рассылки на нужные гейтвеи), и так далее. Тут и биллинг, и шмилинг, и что угодно. И наконец - оно создает вторую ногу и ею звонит туда, куда сказали.
А вот если пытаться этот биллинг делать наружи, в гейтвеях, то оно, конечно, получится, но не очень. Точнее, оно получится, но через тот же gatewaycalling - который будет просто в виде спец. хедера вставлять в запрос authenticated name - а gateway будет ему тогда свято верить (можно, если gateway берет запросы только от CGatePro и только со специальным хедером-паролем), и сам делать биллинг. Но для этого гейтвей должен иметь базу пользователей с планами, и прочими штуками - а для этого можно использовать сам CGatePro. А чтобы не лазить к нему через CLI - делать этот биллинг прямо в gatewaycaller программе.
Вот в таком вот аксепте...
> --
>
> Герман Мызовский,
> Tario Communications.
Sincerely,
Vladimir
Получено Sat Feb 04 07:41:51 2006
Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:18:03 MSK