Re: CG/PL: запуск задачи на любой звонок

От: Vladimir A. Butenko <CGatePro_at_mx_ru>
Дата: Fri 10 Nov 2006 - 17:30:49 MSK

On Fri, 10 Nov 2006 15:05:30 +0300 (MSK)   "Dmitry Valdov" <CGatePro@mx.ru> wrote:

>> Я не понимаю, что такое "аутентифицировать по IP". Вы путаете автомобиль и 
>> оглоблю. Если Вы про Интернет - то "аутентифицировать" - это убедиться, 
>>что 
>> данный об"ект (сигнал, например) выдан данной личностю. Где личность - это

>
> Почему личностью? Есть еще организации.. И не нужны им никакие URI и
> авторизация. Номера им нужны. 1950-х годов, да. Но по IP.

Организация - такая же личность. Если организация - это домен, то хорошо - присвойте ей ответственный аккаунт - в том же домене или у себя, а в виде аккаунта acme.ru

>> user@domain. IP адреса тут - совсем из другой оперы. И никак для 
>>аутентикации 
>> слжить не могут. За исключением тех случаев, когда:
>> а) Вы говорите, что все соединения от 12.34.56.78 - это Вася@petya.com, и 
>>мы 
>> в этом совершенно уверены.

>
> Воот! Именно это мне и надо. А стандартные средства это сказать будут? без
>дописывания.

Естественно, нет. Можно сделать "дописывание" простым - типа ввести об"ект "список IP" -> имя, который можно админить прямо из WebAdmin, и по которому быстро можно будет замапить IP Address -> имя пользователя. Но мапить всё равно надо.
Ну, даже если это сделать встроенно - хоть это и коряво и телефония сполшная - сути не меняет. Можно сделать и сейчас, просто чуть подправить программку gatewaycaller. Точнее, сделать подпрограмму "аутнетификатор звонка". Она сейчас во всех программах есть в виде RemoteRedirector() || RemoteAuthentication() (то есть - кто зафорвардил, если никто - то кто начал звонок). Ну, вынести в подпрограмму и прифигчить к ней доп. строчку - если ни того, ни другого нет, то взять удаленный адрес, и пройтись по табличке. Вот эту последнюю операцию можно ускорить и окрасивить - но сделать её можно уже сейчас.

>> б) Вы говорите, что все соединения от 12.34.56.78 - это от trused party, и 
>> если оно говорит, что соединение от Вася@petya.com - то этому надо верить.

>
> Тоже понадобится в дальнейшем.

Если аутентицировали как юзера с привилегией canIMpersonate - то он может и такое.

>> Заметим попутно, что "соединиение от" (или сигнал от) Вася@petya.com - не 
>> означает, что Вася@petya.com будет в From: header. Совсем не означает. 
>>Потому 
>> что Вася может нам зафорвадить звонок от Даши. И аутнетикация - это либо 
>> Autneticate хедер, либо P-Asserted-Identity (в случае (б)) сверху.

>
> Понятно. С From я не правильно думал. From тут не причем, да..

Более того, To - тоже не причем. И Request URI - тоже.

>> Мне не понятно, что, собственно, требуется. Просто RTP всех звонки из 
>> какой-то сети проксировать (а почему, кстати - чтобы использовать сеть у 
>> котой есть Qos)?

>
> 1) проксировать все RTP/Signaling с определенной сети. Как и входящих, так
>и исходящих звонков.

Раз там сидят такие тупые (без возможности аутентикации), то их звонки должны идти на тел.номер@customer1.dvv.ru - это-то уж Вы от них можете добиться, даже если там одни телефонисты. DNS для всех этих доменов, как понятно, показывает на Ваш CGatePro, хотя судя по Вашим словам, там такие дрова, что им и DNS не нужен - по IP будут работать. Далее все звонки на *.dvv.ru - рутите так: *.dvv.ru = *@oldcustomers
<*@oldcustomers> = oldcustomers{*,media}#pbx

Тогда оно получит и номер, и домен кустомера. Тогда IP кустомера можно хранить не в общей табличке, а в сеттинге этого аккаунта: взяли аккаунт, взяли из него PSTNHomeIPs - и проверили, если REMOTE адрес из этого PSTNHomeIPs. Если да - то разрешили и сделали impersonate, если нет - отослали на фиг с кодом 403.

Это если не курочить gatewaycaller. А проще - вставить именно в него.

> 2) выставлять счета тому юзеру, который там сидит. Аутентифицироваться он
>не хочет.

Ну вот так и будете выставлять.

> Надо это для выделенных сетей. Есть клиент. Делаем ему IP VPN. Закрытый.

>там

> у него много офисов. Свой IP PBX. Он обеспечивает внутреннюю связь.
> Клиент хочет иметь выход в город и межгород, принимать входящие звонки.

>Сеть закрытая.. 1 или несколько внешних IP я им туда заверну (прозрачный 

> НАТ 1-в-1 или route leaking в MPLS).. На него надо отправить сотню
>городских номеров и принимать исх. звонки. Кстати, еще задача.

Входные звонки - проще. Просто вводите его номера а Telnum - и всё. Оно само его найдет. А в сеттингах аккаунта - прописываете куда оно всё должно идти (на какой адрес). Оно вам еще может и насчитать, сколько входящих звонков было, и какой длительности и откуда.

>Ограничить
>кол-во одновременных звонков с определенного IP (ок, пусть account'а).

Это тоже делается. Но пока - несколько через камчатку. В 5.2 будет проще Хинт - это всё - Event Package "dialog". В нем - все текущие диалоги этого клиента - входящие, исходящие. Соответственно, оно обновляется при приходе звонка и при его неудаче-удаче, и (опциаонально) - при завершении. Он полностью появистся в 5.2. Соответственно, им управляется и перехват звонков (можно будет спросить - а какие звонки сейчас звонят Васе? И - перенаправь мне вот этот). Есть уже телефоны, которые это поддерживают, ну и из CG/PL ими можно будет легко управлять. В 5.1 кое-что есть, но в зачаточном состоянии.   

> А еще, например, проксировать все нужно, когда нам надо отправить по
>выделенному каналу звонок куда-либо далеко.

Зачем проксировать-то? Если клиент может говорить с удаленным gateway - то зачем RTP пропускать через сервер? А если не может - сервер сам автоматом MediaProxy простроит.

>>> В автоматике. Курочить gatewayincoming, если надо кому-то добавить десяток
>>> номеров или отключить межгород - извращение.
>>
>> Что значит "отключить межгород"? Если я звоню на dv@dv.ru - это у меня 
>> межгород или нет?

>
> Нет. Межгород - это +1(333)222-22-22, если у меня локальный (для сервера)
>код не +1(333).

Да? А если написано - либо в телнумах, либо - еще лучше, в глобальной .e164.arpa - что +1(333)222-22-22 - это dv@dv.ru - и я могу и должен с ним общаться нормально, а не через все эти PSTN? То есть "межгород" - это понятие исключительно PSTN-овое. И начинает играть рояль только тогда, когда звонок заручен в PSTN. Что обычно означает - в gatewaycaller приложение. Которое уже может с ним делать что угодно. Обычно - у вас просто прописано для каждого (используя умолчания, естественно), какие гейтвеи он использует. Например, для звонков в Москву -такой-то, а в Тимбукту - такой-то. И общий рутер - рутит в эти "направления" - типа:

<+7495(10d)@telnum> = gatewaycaller{+7495*,moscow}#pbx <+44(7-12d)@telnum> = gatewaycaller{+7495*,uk}#pbx

И если я туда звоню, то оно (gatewaycaller) лезет в мои (того, кто звонит) сеттинги, и вытаскивает PSTNGateway. Если он - строка - то это тот гейтвей, на который слать все мои звонки. А если словарик {moscow=provider1.com;uk=london.co.uk;} - то оно ищет в нем соответствующий "направлению" элемент. Если его нет - всё, кранты, обломились и отвергли.

>> Для этого, естественно, юзеры должны быть ЮЗЕРАМИ. на CGatePro. А у Вас, 
>> похоже, юзеров нет - у вас есть сетки, а не юзеры.

>
> Пока есть. И будут. Про юзеров вопросов нет.
>
> Я в данном случае совсем про другую задачу, которая сейчас работает на
> h.323..

H.323 - две жестяные банки, соединенные не вервкой, а IP-сетью. От этого оно Internet-телефонией никак не стало.

>> Это, конечно, тоже решаемо - делаете файлик где стоит соответствие сеть -> 
>> user. И вместо того, чтобы требовать настоящей аутнтикации, в своей 
>> программке gatewaycaller берете адрес звонящего, и по этой таблице - 
>> превращаете его в имя пользователя. Далее - по тексту.

>
> Мдя..

и что? Вы же именно этого и хотели.Только вы бы хотели, чтобы этим было проще управлять - так оно можно. Но пока - можно и так: у меня, например, нет уверенности, что Вы всё это будете с таким подходом внедрять менее 2-х лет, и параллельно нет уверенности, что через 2 года вся эта мишура кому-то будет нужна. Вот сделаете - скажете, смотрите, как всё классно - только редактировать списки совсем неудобно - тогда мы, конечно, попробуем пойти навстречу. А так это пока - разговоры.   

>> Но тогда - см. выше. Аутентицируете 
>> пользователя - и смотрите, что у него стоит в GetwayFrom. Точнее, 
>> gatewaycaller И так это уже делает.

>
> То, что выше написано - это из того, что телефония строится заново на IP,
>а PSTN к ней придаток. Рано. Очень рано. Совсем нет. Оно СНАРУЖИ в результате может и выглядеть как старая сеть. Так, что не отличить. А внутри уже - настоящая. И когда вся эта афера с "браньем денег за расстояние на который переслался бит" рухнет - у вас будет работающая система, а не IP-копия резко поненужневшей телефонии 50-х годов.

> Сейчас надо исходить из того, что
> PSTN - телефония, а SIP - придаток. Удобный, новый. Но пока не
>распространенный.

Видите ли. Сколько в России телефонов? 110млн мобильных и 80млн земных? Ну, мобильные - отдельная история, а земные - сокращаются довольно быстро. Вопрос не в том, сколь быстро будет распространяться IP-телефония, а сколь быстро хотя бы 128bit/sec каналы придут к 20% населения. Вот в США они пришли - и тут уже телефонисты из последних сил сдерживают всех, чтобы не началось повальлное VoIP. Всякие Comcast давно бы уже задавили - но у них, пардон, софт не работает. 1 млн юзеров - предел, при этом разбитый на 20-50 серверов.

В Японии - тоже самое. Каналы есть, момент настал, софта нету. В Европе - чуть-чуть поспокойнее. Где-то на полгода.

> Когда 99.9% звонков совершаются на PSTN (причем не дешевый - все надо
> биллить, итд), это так.

Ну и хорошо - кто мешает. Только сначала строили H.323 сеть - которая была та же веревка, только через IP. Потом стали строить SIP - только опять же в виде H.323 - но с другими присказками. Ну, построите через полгода. А через год оно будет никому не нужно. Ну, через два. Не лучше ли сразу строить так, чтобы на этом выжить во времена "после PSTN" - то есть то, на чем можно предоставлять услуги?

> И если клиент уехал за море, он взял с собой не
> лаптоп на пляж, а мобилу.

Которая по WiFi будет говорить SIP. Пока - нет. Пока это только у Нокия, и то плохо работает. А вот ответьте на вопрос - сколько телефонов в Европе и Японии уже сейчас работают по IP? Только там тоже "снаружи ничего не видно".   

>>> Пока не встречал.. PRI сейчас уходят направо и налево. Пачками. Ессно,
>>> SS7 клиенту никогда не дадут, это понятно.
>>
>> А. То есть утверждается, что при доступе на PRI я не могу поставить себе 
>> любой номер?

>
> Можете. Но станция подменит на другой, если ее об этом попросить на данном
> конкретном порту.

Какая станция? У AT&T на кампусе? Так у нас три офиса, и нам надо, чтобы были такие-то и такие-то номера. Которые меняются каждую неделю. Естественно, это достает оператора, и они разрешают звонить с любым номером.После чего звоним на подводную лодку и голосом Рамсфельда говорим "отметить мою отставку залпом по Капитолию".

Детский сад это всё. Просто в телефоне денег нет, и за хаченье телефонной сети можно сесть, в отличие от хачанье Вашего, скажем, Веб сервера. А через международку - да, не похачишь особенно (говорят). Вот и всё. Как только появятся там деньги - всё это будет хакнуто на раз.   

>> Мы вот тут друг другу звонили, поставив код Эквадора...

>
> Все зависит от настроек. В Alcatel S12 это стандартная функция. точнее,
> два режима. Или мы пропускаем оттуда все номера как есть, или станция
> пропустит только те номера, диапазон которых указан. Если будет другой
> номер, оно заменит на какой-либо, заранее определенный. Все проверено и
> работает..

Угу. Еще раз - это всё работает на ЗАКРЫТОЙ сети. Где хотя бы бэкбон - квалифицированный (и не скажет - да пусть передают что хотят), и где клиентов - с гулькин нос (и каждый несет $1000 в месяц хотя бы). Как только сеть станет открытой - всё, кранты телефонным "веревочкам" и "защитам".   

>> Впрочем, 
>> Вам виднее - мне просто показали, что сломать можно - как именно, я не 
>> выяснял.

>
> Это называется не "сломать"..

Хорошо, это называется сделать сеть открытой. Заметим, что PSTN телефония - по определению совершенно незащищенная сеть, на которой защита только на её закрытости. Любое открытие (типа вот такого гейтвея с отсутствием ограничения исходящего номера) - и всё.

>> Ничем. То есть - см. выше. Но зачем, если можно делать нормально, а не 
>> по-телефонному?

>
> Рано. Нельзя все за час выкинуть и построить заново. Дожно быть что-то
> промежуточное. Возможно, даже, не один десяток лет.

А что Вы, собственно, хотите "не выкинуть"? PSTN gateway - да, их не надо выкидывать - никто не предлагает. Интернет, которым оно всё соединино - тоже вроде никто не предлагает. А вот строить сеть - Вам все равно приходится. И можно это делать либо сразу хорошо, либо сразу неправильно.   

>> А Вы и так хотите не "готового" решения, а кастом.

>
> Нее, я пока ничего не хочу, кроме того, что сказал.. Выше - это было
> размышление о том, как будет. Да и не custom нужен. А 1950-й год, но
>поверх IP, да..

Тогда - зачем Вам вообще IP Телефония? Есть куча прилад, которые делают "PSTN
поверх IP" - всякие "софтсвичи" и прочие "устройства". Там эти все заморочки, безусловно, сделаны сразу и полностью. Ну, нету - нету у нас оглобель. Можно приспособить - да. Но под капот засовывать "на заводе" - не будем. Потому что тем, для кого мы всё это делаем - это второстепенно, если нужно вообще.

> Пока я о менее глобальном..
> Нужен Auth по IP

Сделайте. Хотите, сделаем для Вас. Нет проблем - только заказывайте.

> плюс proxy RTP с возможностью всем этим управлять автоматически.

Оно и так проксирует и управляет.

> Желательно без лишней писанины. В принципе, оно все работает. Но на H.323. > Вот и думаю, сейчас убрать на SIP или дождаться, когда софтсвитч будет.
Я думаю, что это Вам решать.

> не номер телефона, а URI, понятно, что будет стоять рядом CGP с аккаунтами

>на нем.. Задачи, которые я расписал, нужны именно для того, чтоб отдать 
>номерную емкость (не URI) кому-то по IP. И выпускать от кого-то звонки в 
>PSTN. Все.

А. А мы тут тогда при чем?   

> С Юзерами с "номерами" vasya@company.com вопросов (крупных) к CGP
> нет. Они там и будут жить. Скоро. Еще CDR нормальный приделать на звонки

>таких

> юзеров именно на PSTN, тогда вообще было бы все хорошо.. Но вместо этого
> предлагается допилить напильником стандартные скрипты.. Когда CDR на PSTN
> нужен будет в 99% случаев. Гораздо больше, чем CDR, который есть сейчас.
>От которого толк, скорее, ознакомительный. Ну да ладно..

А что конкретно Вы хотите, чтобы писалось в PSTN CDR? Там сейчас пишется время, от кого-куда, тарифный план и продолжительность звонка. Что-то еще нужно?   

>>>>> На самом деле, задача для большого-пребольшого софтсвитча, куда оно в 
>>>>> обозримом будущем и уйдет, но сейчас пока софтсвитча нету.. :(
>>>> 
>>>> "Большой-большой софтсвитч" - это нечто, что при помощи B2BUA еле-еле 
>>>> держит 1000 параллельних звонков?
>>> 
>>> "ну, это не серьезно" (C). Хотя, если в квадрате, то нормально :-) :-)
>>
>> А? Кто в квардрате? Тысяча? Вы действительно утверждаете, что у кого-то 
>>есть 
>> софтсвитч, поддерживающий миллион параллельных звонков? Заметим, что наши 
>> опубликованные тесты "на 10 миллионов сабскруберов" - это совсем не 
>> количество параллельних звонков. И хоть есть и тесты на 50млн - даже там, 
>> насколько я знаю, параллельно много меньше миллиона - и без проксирования 
>> данных. А у нас, всё-таки, отрыв от ближайших конкурентов в порядок, если 
>>не 
>> в два..
>>
>> Так расскажите нам про софтсвитч на миллион параллельных звонков - очень 
>> интересно!

>
> Хм. Может не миллион, а 100 тыс. Точно я не помню эту презентацию Нортела.

Не смешите.

> Помню, что хватало за глаза.. Но никак не "еле-еле держит 1000".
> А в чем, кстати, проблема? Мало ресурсов - ставим рядом еще стойку с
>десятком SUN-ов (или что там у них, точно не помню). А Вы попробуйте сначала. Особенно этим всем поуправлять... :-) Когда звоночки раскиданы на каждый из этих серверов индивидуально, и лоад балансинг как бы "ну а зачем он Вам нужен"?

Вова, побывавший в Нортеловской группе лоад-балансинга (бывший Алтеон) во время их тестировния CGatePro SIP Farm и с интересом послушавший, как с этим делом обстоит в самом Нортеле... Уж скорее Циска в Бангалоре что-то сделает - через 5 лет.. Кстати, группу ту в тот момент отпочковывали. Но я не помню, выжила ли она вообще.

Сановскую стойку, говорите? "Мощный Софтсвитч", значит? "хххе-эээ" (с) Сухов.

> --
> Dmitry Valdov
> CCIE #15379 (R&S and SP)

Sincerely,
Vladimir Получено Fri Nov 10 14:29:50 2006

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:15:17 MSK