LXF102:Интернет-телефоны

Материал из Linuxformat.

Версия от 06:15, 29 мая 2009; Crazy Rebel (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Выбираем VoIP-клиент

Яркая реклама операторов мобильной и стационарной связи спешит сообщить, что «цены стали еще ниже» – но Андрей Боровский не спешит снимать наушники и отключать микрофон от своего ПК с Linux. А зачем?
Как работают IP-телефоны

Все протоколы IP-телефонии разделяют некоторые общие принципы. Центральный сервер выполняет, прежде всего, функции коммутатора. Когда пользователь IP-телефонии подключается к сети, он регистрируется на таком сервере-коммутаторе. При этом указывается текущий IP-адрес пользователя и другие данные, необходимые для установления связи с ним. Если пользователь VoIP-сети хочет установить соединение с другим пользователем, его клиентская программа обращается к базе данных сервера и выясняет, находится ли запрашиваемый абонент на линии. Далее сервер инициализирует соединение между двумя абонентами. В процессе соединения сервер выполняет некоторые контролирующие функции, сама же передача данных между абонентами выполняется напрямую. Помимо коммутации соединений, серверы-коммутаторы выполняют ряд других функций: например, рассылают заинтересованным абонентам сообщения о присутствии абонента на линии.

Поскольку соединение между двумя IP-телефонами включает две разные фазы – коммутацию и передачу данных, протоколы, используемые в IP-телефонии, делятся на две категории: коммутирующие протоколы и протоколы передачи данных.

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

Одним из способов решения проблемы автоматической настройки клиента, работающего в сети, использующей NAT, является протокол STUN (Simple Traversal of UDP through NATs). Обычно клиент IP-телефонии является одновременно и клиентом протокола STUN. При подключении к серверу SIP (который по совместительству является сервером STUN) телефонный клиент посылает серверу специальный запрос. Поскольку сервер находится по другую сторону экрана NAT, он «видит», как NAT преобразует адрес и порт клиента. Эту информацию сервер отправляет клиенту, который настраивается на работу в сети с учетом полученных данных.

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

Но возможности IP-телефонии не ограничиваются передачей голоса и видео на большие расстояния по невысокой цене. IP-телефон может использоваться для передачи практически любого контента. Фактически, IP-телефония сочетает в себе демократизм пиринговых сетей и возможность адресной доставки. Компьютер с IP-телефоном можно превратить в электронное СМИ, почти такое же, как и web-сервер. Думаю, вы уже поняли, что я хочу сказать: если вы еще не завели себе IP-телефон, сделайте это прямо сейчас (тем более, что это не трудно).

Приятно отметить, что в сфере IP-телефонии пользователи Linux не ущемлены по сравнению с пользователями других систем. Все службы, которыми могут пользоваться приверженцы Windows и Mac OS, доступны и в Linux. Хотите подключаться к проприетарным системам, таким как Skype или Windows Live? Это просто. Вам требуется высокий уровень безопасности? Нет проблем. О подключении к сетям, построенным на основе открытых протоколов, я уж и не говорю.

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

Что вам, как продвинутому пользователю, нужно знать о VoIP-протоколах? При выборе поставщика услуг IP-телефонии следует, прежде всего, учитывать используемый поставщиком коммутирующий протокол (подробнее о протоколах см. врезку). На сегодняшний день, одним из самых популярных коммутирующих протоколов является Session Initiation Protocol, или SIP. Помимо SIP, широкое распространение получил протокол под названием H.323. Хотя H.323, как и SIP, может использоваться глобально, он чаще применяется в локальных сетях; кроме того, разработчики открытого ПО оказывают большую поддержку именно SIP (хотя и H.323 вниманием не обходят). Такие службы, как Skype, используют собственные закрытые протоколы. На сегодняшний день сопряжение между разными протоколами отсутствует. Это значит, например, что с IP-телефона, настроенного на работу с SIP, нельзя позвонить на Skype-телефон (точнее говоря, нельзя позвонить напрямую: если оба IP-телефона имеют выход на обычные телефонные линии, можно осуществить звонок с помощью традиционных телефонных сетей, но это, мягко говоря, неудобно).

Чтобы подключиться к одной из сетей IP-телефонии, вам нужно создать учетную запись на сервере, поддерживающем соответствующий протокол. Тут между системами Skype и SIP существует одно важное отличие. Подключение к Skype выполняется одним-единственным регистратором, тогда как серверов SIP существует много (например,http://freeworlddialup.com, http://iptel.org, http://ekiga.org, http://sipphone.com, http://wengophone.com). Зарегистрировавшись на одном из серверов SIP, вы получите «телефонный номер» вида your_name@service.com и сможете звонить абоненту, зарегистрированному на любом другом публичном сервере SIP. Повторюсь: регистрация на сервере SIP, позволяющая звонить другим абонентам, бесплатна.

Из всего сказанного можно сделать вывод, что между разными серверами SIP нет никакого различия (кроме разве что стабильности работы). На самом деле это не так. Кроме соединения «компьютер–компьютер», поставщики IP-телефонии предоставляют ряд дополнительных услуг, самая важная из которых – возможность звонить на обычные телефоны (помимо этого, провайдеры предоставляют такие возможности, как отправка SMS, регистрация для вашей учетной записи «настоящего» телефонного номера, позволяющего принимать входящие звонки с обычных телефонов, и т.д.). Если вы планируете звонить со своего компьютера на настоящие телефоны, вам нужно выбрать сервис, предоставляющий такую услугу (например, http://sipphone.com или http://Ekiga.org). В то время как звонки «компьютер–компьютер» во всех службах SIP бесплатны (мне, по крайней мере, не удалось найти такую, где за звонок с IP на IP берут деньги), за звонки на обычные телефоны необходимо платить.

Как уже отмечалось, весьма популярная телефонная сеть Skype стоит среди других сетей особняком. На вопрос о том, что выбрать, SIP или Skype, я бы ответил – и то, и другое. Спектр дополнительных коммерческих услуг, предоставляемых провайдерами SIP и Skype, в общем один и тот же, а фактическая стоимость этих услуг для вас зависит от многих обстоятельств.

После создания учетной записи на сервере IP-телефонии вам следует выбрать программу-клиент. Если вы пользуетесь Skype, выбирать особо не из чего – компания предоставляет единственную программу. В случае SIP дело обстоит иначе. Хотя многие сервисы SIP предлагают вам свой собственный клиент IP-телефонии, вы не обязаны использовать эту программу (вы даже можете использовать программу, предоставляемую одним провайдером SIP, для работы с другими провайдерами). Таким образом, при работе в сетях SIP вы получаете две степени свободы выбора – выбор поставщика услуг и выбор ПО. Далее мы рассмотрим несколько популярных Linux-клиентов IP-телефонии.

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

  • Купить электронную версию
  • Подписаться на бумажную версию