SIPNET – IP-телефония, телекоммуникации

Как осуществляются звонки

В телефонии звонить можно при помощи таких устройств:

  • специальный SIP-телефон;
  • обычный аналоговый телефон с SIP-шлюзом;
  • ПК или ноутбук с установленной специальной программой;
  • планшет или смартфон с установленной специальной программой.

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

Только на нем написано, что это устройство, которое использует Session Initiation Protocol.

Рис. 3. SIP-телефон Yealink SIP-T57V

Наиболее простой вариант использования рассматриваемой технологии состоит в том, чтобы скачать на компьютер соответствующее программное обеспечение и воспользоваться наушниками с гарнитурой.

Поэтому есть смысл рассмотреть несколько очень популярных и удобных программ для использования такой телефонии.

SIP- запросы

Запросы:
В первоначальной версии протокола SIP (RFC 3261) было определено шесть типов запросов. С помощью запросов клиент сообщает о текущем местоположении, приглашает пользователей принять участие в сеансах связи, модифицирует уже установленные сеансы, завершает их и т. д. Тип запроса указывается в стартовой строке.

  • INVITE — Приглашает пользователя к сеансу связи. Обычно содержит Протокол SDP -описание сеанса. Запрос INVITE, который отправлен для уже установленного сеанса связи, называется методом re-INVITE. re-INVITE позволяет менять адреса или порты сеансов, может добавлять поток медиаданных, удалять поток медиаданных, и т.д.
  • АСК — Подтверждает приём ответа на запрос INVITE.
  • BYE — Завершает сеанс связи. Может быть передан любой из сторон, участвующих в сеансе.
  • CANCEL — Отменяет обработку ранее переданных запросов, но не влияет на запросы, которые уже закончили обрабатываться.
  • REGISTER — Переносит адресную информацию для регистрации пользователя на сервере определения местоположения.
  • OPTIONS — Запрашивает информацию о функциональных возможностях терминала. Передача информации о возможностях вызывающего и вызываемого SIP телефонов.

Но в процессе развития, в протокол было добавлено еще несколько типов запросов, которые дополнили его функциональность:

  • PRACK — временное подтверждение (RFC 3262)
  • SUBSCRIBE — подписка на получение уведомлений о событии (RFC 3265)
  • NOTIFY — уведомление подписчика о событии (RFC 3265)
  • PUBLISH — публикация события на сервере (RFC 3903)
  • INFO — передача информации, которая не изменяет состояние сессии (RFC 2976)
  • REFER — запрос получателя о передаче запроса SIP (RFC 3515)
  • MESSAGE — передача мгновенных сообщений средствами SIP (RFC 3428)
  • UPDATE — модификация состояния сессии без изменения состояния диалога (RFC 3311)

Адресация SIP

Адресация SIP логическая, того же типа, что URL в Методы и структура протокола HTTP. Для организации взаимодействия с существующими приложениями IP-сетей и для обеспечения мобильности пользователей протокол SIP использует адрес, подобный адресу электронной почты. В качестве адресов рабочих станций используются специальные универсальные указатели ресурсов – так называемые SIP URL (Universal Resource Locators).

SIP- адреса бывают четырех типов:

  • имя@домен;
  • имя@хост;
  • имя@IР-адрес;
  • №телефона@шлюз

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

Во второй части адреса указывается имя домена, рабочей станции или шлюза. Для определения IP- адреса устройства необходимо обратиться к службе доменных имен – Что такое DNS. Если же во второй части SIP- адреса размещается IP- адрес, то с рабочей станцией можно связаться напрямую.

В начале SIP- адреса ставится слово “sip:”, указывающее, что это именно SIP- адрес. Примеры SIP- адресов:

sip: [email protected]
sip: [email protected]
sip: [email protected]

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

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

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

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

Сервер OfficeSIP Server

Бесплатное приложение для организации офисной телефонной связи. Подходит для малых и средних офисов, не нуждающихся в дополнительных функциях. Для больших предприятий с подразделениями и филиалами по всему миру этот SIP-server не подойдёт. А вот соединить бухгалтерию, директора, отдел кадров, несколько кабинетов с выходом на межгород и международную связь – всегда пожалуйста.

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

Установка Asterisk

К сожалению, четких указаний насчет аппаратных средств дать невозможно – слишком много тонкостей и нюансов, поэтому за примерными конфигурациями компьютеров отсылаю на страницу сайта voip.rus.net «Производительность Asterisk-систем». Если твоя цель – знакомство с Asterisk, можно использовать один из дистрибутивов, в которых уже имеется настроенный и полностью готовый к работе сервер: AsteriskNow, Trixbox, VoIPonCD.

Asterisk присутствует в репозитариях пакетов большинства дистрибутивов. Так, в Ubuntu команда sudo apt-cache search Asterisk выдает приличный список пакетов, после установки которых сразу же можно приступать к настройке. Но установка из репозитария имеет один минус – как правило, в нем версия Asterisk прилично отстает от текущей, которую можно скачать с официального сайта. Поэтому рассмотрим универсальный способ установки на примере того же Ubuntu, хотя все сказанное (за редким исключением) относится и к остальным дистрибутивам.

Устанавливаем пакеты, необходимые для компиляции:

Кроме того, настоятельно рекомендуется установить библиотеку libpri, даже если не нужна поддержка Primary Rate ISDN (первичный тип цифровой сети с интеграцией услуг). Это можно сделать либо через репозитарий: sudo apt-get install libpri1.2, либо используя исходные тексты:

Компиляция библиотеки стандартна, поэтому не будем на этом останавливаться.

Теперь скачиваем с сайта исходные тексты Asterisk и конфигурируем:

По окончании работы скрипта в консоли мы увидим эмблему проекта и некоторую информацию о настройках.

Примечание: если производится установка версии 1.2, то для поддержки формата mp3 перед командой make следует ввести «make mpg123», версия 1.4 уже никак не реагирует на эту команду.

После компиляции, помимо всего прочего, будут установлены следующие исполняемые файлы:

  1. /usr/sbin/Asterisk – демон сервера Asterisk, который и обеспечивает всю работу;
  2. /usr/sbin/safe_Asterisk – скрипт для запуска, перезапуска и проверки работы сервера Asterisk;
  3. /usr/sbin/astgenkey – скрипт для создания закрытого и публичного RSA ключей в формате PEM, которые необходимы для работы Asterisk.

Чтобы установить шаблоны конфигурационных файлов и документацию, набираем:

Примеры конфигурационных файлов будут скопированы в /etc/Asterisk. Если в этом каталоге уже находятся файлы конфигурации, они будут переименованы с префиксом «.old». Для сборки документации потребуется пакет doxygen, если его нет, устанавливаем:

Аналогично ставим и пакет с расширениями Asterisk-addons (этот шаг не обязательный, его можно смело пропустить). Многие модули, входящие в состав этого набора, являются экспериментальными. Их стоит устанавливать, только если требуется запись информации в БД, поддержка mp3-файлов и протокола ooh323c (Objective Systems Open H.323 for C):

Установка Asterisk закончена. Сначала рекомендуется запустить сервер в отладочном режиме и просмотреть вывод на наличие ошибок:

Если получаем сообщение «Asterisk Ready» и приглашение консоли управления, значит все в порядке. Выходим:

Теперь можно переходить к дальнейшей настройке.

Добавить комментарий