11.05.2007

Краткое описание схемы включения.

В схеме были использованы стандартные способы подключения конечного потребителя к Интернет.

Клиент 1 использовал подключение по ADSL , ему выдавался не маршрутизируемый (корпоративный) IP адрес. Так как устройству SIP необходим реальный (маршрутизируемый) адрес было решено использовать VPN канал к провайдеру услуг ( см. "О мобильности SIP”) , средняя задержка пакетов между точкой A и B 20-30мс . С одной из площадок ISP построен радиоканал в удаленный город ( около 25 км) на оборудовании RouterBoard + Mikrotik с использованием специальных беспроводных опций, средняя задержка пакетов между точками B и С 5-6мс , далее стоит 802.11b совместимая базовая станция, на которую подключено около 10 абонентов (в принципе это не совсем правильно , в будущем будет использоваться Mikrotik с опциями приоритизации Wireless трафика ).

Клиент 2 –небольшой корпоративный клиент с каналом 256К. Средняя задержка пакетов из точка А к точке D составила около 35-60 мс. Клиент 1 и 2 это фирма которая имеет центральный офис в Киеве и склад в удаленном городе, мы предоставили им канал на тестовое использование.

Тестирование, проходило достаточно долго. За время тестирования оборудования, потребитель успел привыкнуть к качеству канала связи, и к качеству передаваемого голоса.

С их слова качество голоса было отличным , высокая скорость набора номера (1-2 сек), минимальные отличия от обычной телефонии (через АТС). За все время тестирования только один раз было выпадание звука в слове при разговоре.

Вот так выглядит, само рабочее место удаленного абонента на складе.

Протокол SIP

Протокол SIP родился в недрах IETF (Internet Engineering Task Force) - организации, занимающейся утверждением стандартов интернета и вообще стандартов, имеющих отношение к протоколам TCP/IP. Здесь за основу были взяты протоколы, применяемые в самых популярных на сегодняшний день IP-сервисах, такие, как HTTP (Web) и SMTP (электронная почта). Идейно SIP основан на том же подходе, что HTTP: запрос -- ответ (request -- reply). Все сообщения SIP текстовые, и их можно читать глазами, а коды возврата -- такие же, как в HTTP, поэтому некоторые из них покажутся хорошо знакомыми не только сетевым администраторам, но и многим "продвинутым" пользователям интернета (404 - абонент не найден, 200 - OK).

Существенно, что SIP, хотя и может использоваться в IP-телефонии, не является протоколом для передачи голосовых данных - он вообще не привязан к передаче данных какого-то определенного вида. Название SIP расшифровывается как Session Initiation Protocol - протокол инициирования сеанса. Это означает, что SIP обеспечивает инициирование, контроль и ликвидацию сеансов обмена информацией, а в качестве самой передаваемой информации может выступать что угодно: и речь (как в случае IP-телефонии), и музыка, и видео, и, например, текст (протокол позволяет организовывать сеансы коллективной работы над документами, какие поддерживаются в MS Exchange или Lotus Notes).

Тип данных определяется отдельным протоколом SDP (Session Description Protocol - протокол описания сеанса), который работает в паре с SIP и обладает замечательной способностью менять параметры сеанса по ходу обмена данными. Простейший пример: два собеседника разговаривают по IP-телефону, и один хочет показать другому фотографию - SDP позволит сделать это в рамках того же SIP-сеанса. Более того, в принципе ничто не мешает перейти по ходу дела на другой терминал (например, если разговор происходит по мобильному телефону, вы можете перейти на компьютер или на телефон с дисплеем и там просмотреть фотографию).Коммуникации реального времени.

Очевидно, SIP существенно лучше, чем H.323, согласуется с пониманием IP-телефонии как массового глобального IP-сервиса, а ее несомненно следует рассматривать именно так. И поскольку SIP способен обслуживать не только телефонию, но и вообще любые коммуникации в реальном времени поверх протокола IP, ему, по-видимому, предстоит стать основой также для ряда других IP-сервисов, которые пока не существуют, но появятся в будущем.

Фактически ситуация сейчас очень похожа на возникшую шесть лет назад, когда огромное множество людей вдруг бросилось осваивать Web и заодно открыло для себя электронную почту, чаты и т. д., а рынок ответил на увеличение спроса бурным ростом. Правда, Всемирная Паутина никому особенно не мешала, так что реакция на нее была адекватной, а вокруг IP-телефонии поднялся шум, явно несоразмерный с ее достижениями (это вполне естественно, учитывая, что она -- прямой конкурент гигантской телефонной индустрии и ее развитие затрагивает интересы огромного количества людей и фирм). Но в целом сходство очень велико, и можно предполагать, что за IP-телефонией, как за Web, последует новая волна IP-сервисов. Общей чертой этих сервисов будет осуществление IP-коммуникаций в реальном времени.

Клиент и серверы SIP

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

Для того чтобы стало возможным общение в простейшем варианте, достаточно двух клиентов. Обмен звонками между ними схематично показан на рисунке:

первый пользователь снимает трубку и набирает номер, SIP-клиент генерирует сигнал INVITE (приглашение), у второго пользователя звонит телефон, его SIP-клиент выдает сообщение 180 (Ringing, звонок), затем пользователь берет трубку, SIP-клиент выдает сообщение 200 (OK), первый SIP-клиент посылает второму сигнал ACK (подтверждение) -- и далее начинается передача голосового потока по протоколу RTP (Real-time Transport Protocol). Когда разговор окончен и один из пользователей вешает трубку, SIP-клиент посылает сигнал BYE. Вот и все.

Но такая схема абсолютно неэффективна, когда клиентов в сети не два, а два миллиарда. SIP-сетям с большим числом пользователей необходима инфраструктура, и ее создают различные серверы SIP. Сервер регистрации (registrar) занимается учетом и авторизацией пользователей, сервер локализации (allocation) ищет их и определяет их местонахождение, сервер переадресации (redirect) переводит звонки абонентам туда, где они фактически находятся в данный момент, -- если меня, например, нет в Москве, потому что я уехал в Америку, сервер переведет звонок на мой американский номер.

Наиболее сложные функции ложатся на прокси-сервер (SIP Proxy), обеспечивающий взаимодействие внутренней (например, учрежденческой) IP-телефонной сети с внешним миром, -- именно он определяет все политики, правила общения и т. д. Существуют и другие серверы SIP (например, сервер конференций), но они менее важны.

На рисунке показано, как может работать SIP в сети предприятия.

Пользователь Алиса приходит на свое рабочее место в компании Example, включает в корпоративную сеть ноутбук и активизирует имеющийся на нем программный телефон, который автоматически регистрируется на сервере регистрации. Тот, в свою очередь, запрашивает информацию о пользователе в корпоративной базе данных и сообщает о том, как с ним контактировать, серверу локализации. (Оба сервера могут интегрироваться с различными базами данных, службами каталогов типа LDAP или MS Active Directory и т. д.) Теперь, когда кто-нибудь позвонит Алисе, прокси-сервер, запросив сервер локализации, установит связь с ее рабочим местом.

Адреса и телефоны

Адресация SIP логическая, того же типа, что URL в HTTP. И самое естественное -- использовать в качестве адреса SIP адрес электронной почты. Именно такие адреса показаны на рисунке: почтовый адрес Алисы -- alice@example.ru, и ей можно звонить на адрес sip:alice@example.ru. Адрес допускает разнообразные параметры: можно, например, указать обычный городской телефонный номер, добавочный телефон, параметры модемного соединения и т. д.

Следует отметить, что SIP поддерживает функции messaging и presence. Первая обеспечивает обмен в реальном времени короткими сообщениями (как ICQ на ПК или SMS в сетях GSM), вторая позволяет определять состояние абонента, т. е. на месте ли он, не занят ли и т. д. (в ICQ тоже есть такая возможность). Благодаря этим двум функциям SIP позволяет реагировать на события, а также рассылать сообщения "по событию".

Тем самым с помощью SIP вы можете сколь угодно тонко управлять доступом других абонентов к своему номеру, - например, настроить свое SIP-окружение так, чтобы ваша мама всегда имела возможность до вас дозвониться, а для других родственников и знакомых существовали ограничения. При этом мама будет всегда звонить по одному и тому же номеру, а откликаться будут, в зависимости от того, где вы находитесь, мобильный телефон, персональный компьютер, ноутбук или, скажем, PDA. Если же коллега по работе позвонит вам среди ночи, он не дозвонится, но вы будете знать, что он звонил.

IP-интеграция

Итак, SIP-адреса используют адреса e-mail, для всех операций со звонками используются URL, а сообщения SIP являются мультимедийными и, более того, объектными. Кроме того, SIP поддерживает специальный довольно мощный язык CPL (Call Processing Language -- язык обработки звонков) на основе XML, предназначенный для написания телефонных скриптов, позволяющий указать, кто кому когда и зачем звонит, что делать, если трубку не берут или берут не там, и т. д. В силу всего этого в рамках SIP легко строить самые разнообразные сервисы.

Подобные сервисы могут создавать три группы людей: производители SIP-оборудования, сервис-провайдеры и сами конечные пользователи. Язык CPL несложен, так что, видимо, многие будут способны реализовать вполне изощренную схему работы автоответчика: скажем, если позвонивший набирает цифру 1, он переключается на домашний телефон абонента, если 2 -- на сотовый, если 3 -- на телефон его родителей и т. д. А почему бы не написать скрипт, который, когда раздастся звонок, показывал бы вам лицо (фотографию) звонящего? Телефон ресторана мог бы, скажем, сразу выдавать на дисплей сегодняшнее меню, -- короче говоря, возможности здесь ограничены только фантазией пользователя.

Поскольку все современные ERP-, CRM- и т. п. системы работают по протоколу IP, SIP без особых проблем интегрируется с ними (в отличие от H.323, которому его телефонная природа мешает взаимодействовать с большинством приложений).

О мобильности SIP

Достоинством SIP часто называют мобильность, причем этот термин имеет несколько смыслов. Во-первых, под мобильностью можно подразумевать независимость от производителя оборудования: действительно, решения от разных производителей практически всегда оказываются совместимы друг с другом (с H.323 положение, увы, намного хуже).

Второе понимание -- это мобильность самого абонента: благодаря системе серверов локализации и переадресации вам всегда можно звонить на один и тот же номер (адрес), а SIP самостоятельно разыщет вас там, где вы находитесь. Кроме того, звонки на один и тот же адрес можно принимать разными клиентами -- теми, которые у вас в данный момент под рукой или которыми вы больше любите пользоваться.

И наконец, используемые вами сервисы тоже сохраняются независимо от того, где вы находитесь и каким клиентом пользуетесь, -- конечно, в пределах разумного (понятно, что если телефон не имеет экрана, на нем не удастся показать изображение).

Протокол будущего

Наиболее важные особенности SIP -- это, во-первых, изначальная мультимедийность (впрочем, H.323 -- тоже мультимедийный протокол, хотя и, если можно так выразиться, в меньшей степени), во-вторых, клиент-серверный характер, благодаря которому функциональность SIP определяется количеством и качеством серверов, имеющихся в сети, и, наконец, в-третьих, событийность, т. е. возможность реагировать на события. IP-телефония в ее нынешнем состоянии, возможно, и не нуждается в протоколе с такими свойствами, но путь развития уводит ее от чисто телефонных задач к более широким. Именно на это ее "нетелефонное" будущее и нацелен SIP, который тоже не является чисто телефонным, а представляет собой протокол для любых IP-коммуникаций реального времени.

Заключение

Компания ИМК планирует в ближайшее время развернуть полноценное тестирование технологии SIP , в частности будет установлен SIP Server, несколько FXO линий (киевские номера), выделенный VPN сервер, будут созданы адресные книги с короткими номерами и выходом в город, билинговая система.

Мы планируем использовать специальные опции на БС с Mikrotik , которые позволяют приоритезировать VoIP&SIP трафик непосредственно на радиоинтерфейсе. Также планируется создание услуги "мобильный офис”, т.е. взяв с собой устройство размером с пачку сигарет можно в любой точке мира развернуть полноценный офис.