Содержание
- 1 3CXPhone
- 2 Сколько стоит IP-телефония
- 3 Развитие SIP-телефонии открыло доступ бизнесу к аналитике звонков
- 4 Обзор Sip клиентов для пользователей iPhone
- 5 Встроенный SIP-клиент Android
- 6 API и библиотеки SIP
- 7 Описание связки SIP/SDP/RTP-протоколов
- 8 Алгоритмы установления соединения
- 9 SIP-протокол – что это такое
- 10 Транспортный уровень (англ. Transport Layer)
3CXPhone
Данный SIP клиент для iOS входит в число наиболее популярных, поскольку обладает уникальными пользовательскими настройками. Так. С помощью 3CXPhone можно создать собственную закрытую SIP-сеть, которой будут пользоваться ваши сотрудники или друзья. Также имеется возможность пользоваться стандартной в приложении сетью.
Кроме прочего, приложение позволяет:
- настраивать аудиокодеки;
- выбирать порты и протоколы соединения;
- записывать звонки.
Еще одним преимуществом приложения является возможность добавления нескольких SIP-аккаунтов, что очень удобно? Если вы имеете отдельные аккаунты для общения по работе и с близкими людьми.
Среди недостатков – английский интерфейс, а также трудность настройки для обычного пользователя.
Сколько стоит IP-телефония
Мы уже знаем, что такое VOIP-телефония – это интересная возможность совершения вызовов через интернет, с экономией собственных денежных средств. Традиционный городской телефон не может похвастаться приемлемой тарификацией звонков, в то время как VOIP-телефония открывает широкие возможности для общения со всем миром.
Одним из достоинств IP-телефонии являются бесплатные вызовы внутри сети. То есть, два абонента, зарегистрированные у одного провайдера, могут общаться совершенно бесплатно, задействуя для этого программные или аппаратные VOIP-телефоны. Порадуют абонентов и недорогие вызовы по всему миру.
Как работает традиционная телефония? Чем дальше находится вызываемый абонент, тем дороже минута связи. В сети интернет отсутствует географическая привязка, следовательно, передача трафика в любых направлениях осуществляется без ограничений и без дополнительной оплаты за то или иное направление. Здесь же выполняется и передача голосового трафика. Поэтому и тарифы на связь получаются более низкими.
Тарификация вызовов
Тарифы на IP-телефонию иногда поражают своими низкими ценами по тем или иным направлениям. Например, звонки в Казахстан и в Соединенные Штаты чаще всего стоят дешевле, чем звонки по России – это касается вызовов на мобильные и стационарные номера. При этом абонентская плата за услуги в большинстве случаев отсутствует – тут нет оплаты за линию, так как абоненты уже платят за доступ в интернет.
Тарификация в VOIP-сетях такова:
- Внутри сети провайдера – совершенно бесплатно;
- Все входящие вызовы – бесплатно (в большинстве случаев);
- Звонки на стационарные и мобильные телефоны – в зависимости от направления, от 40 коп/мин.
Также, предусмотрена возможность принятия вызовов на прямые номера, приобретаемые и оплачиваемые отдельно (по желанию) – за них взимается ежемесячная абонентская плата. Принадлежность прямых номеров тем или иным городам выбирается абонентами самостоятельно. Например, ничто не мешает купить прямой номер в Москве, Санкт-Петербурге, Краснодаре или в других странах.
Для принятия звонков без прямых номеров предусмотрены виртуальные номера с дополнительными цифрами. Дозвон на них осуществляется так – сначала абонент звонит на специальный номер провайдера (они есть во многих городах), а после установления вызова набирает дополнительный номер SIP-абонента. Например, +7-495-1234567, после гудка 123456. Входящий звонок для вызываемого абонента будет бесплатным (в большинстве случаев).
Развитие SIP-телефонии открыло доступ бизнесу к аналитике звонков
SIP — это технология приема звонков через интернет, которая является базисом виртуальной АТС. Она обрабатывает телефонные обращения при использовании минимума затрат ресурсов. Вам нужно купить маломощный компьютер, иметь стабильное подключение к интернету и хорошие наушники. Благодаря инновации малый и средний бизнес сможет:
- оптимизировать внутренние и внешние бизнес-процессы;
- объединять подразделения в разных городах или странах;
- включить внештатных сотрудников в общее информационное и технологическое пространство компании.
Инструменты виртуальной АТС (IVR, объединение в группы, сложная переадресация вызовов, единый номерной план и т.д.) позволяют мониторить уровень занятости каждого сотрудника из ключевых подразделений: отдела продаж, отдела поддержки клиентов, технической поддержки, call-центра. Сегментация и переадресация клиентов в соответствии с необходимым им отделом позволяет определить эффективность бизнес-процессов и избавиться от «слабых» мест.
Также обстоят дела и с логическим продолжением SIP-телефонии — call tracking, который позволяет компаниям отказаться от большого числа региональных номеров и разных операторов в пользу динамической подмены для каждого посетителя сайта. Благодаря этой технологии менеджеры смогут получать информацию о том сколько звонков привел тот или иной канал, реклама в интернете или билборд на улице.
К примеру, для бизнеса, продающего керамическую плитку, внедрение call tracking может позволить выиграть 5-10 лишних заказов, которые были пропущены по недосмотру или техническим причинам. Стоит отметить, что средний чек тех, кто обращается по телефону значительно больше тех, кто предпочитает пользоваться онлайн-формами.
По законодательству городской номер необходимо использовать только в том городе, которому он принадлежит. Также существует возможность использовать номер, который в отличии от городского можно включать в любой точке страны пребывания. С его помощью можно организовывать внутреннюю корпоративную телефонию. Из недостатков — звонки на городские номера дороже примерно на 25%.
Любой бизнес, совершающий продажи по телефону, — это потенциальный клиент для поставщиков технологий SIP и call tracking. Главным ограничителем роста рынка являются, в первую очередь, психологические моменты готовности к внедрению новых технологий и последующая оптимизация бизнес-процессов.
Обзор Sip клиентов для пользователей iPhone
1. Zoiper
Zoiper-это один из самых популярных софтфонов IP-телефонии для пользователей iPhone. Данная программа помогает осуществлять недорогие звонки и отлично подходит для бизнеса.
Софтфон Zoiper — это идеальной вариант для обработки контактов и хорошо интегрируется с электронными почтами, такими как Outlook, Thunderbird и Lotus Организатор. Его удобный мульти-интерфейс позволяет просматривать журналы вызовов и легко менять статусы. Перейдя на вкладку Контакты, вы можете вручную добавлять контакты из другого источника, или найти контакты, которые уже есть в телефоне.
Недостатки Zoiper
- новые версии приложения могут виснуть на стадии запуска.
- могут возникать системные ошибки.
2. Media5-fone SIP
Media5-fone – это бесплатный SIP клиент, который позволяет совершать и принимать звонки с беспроводных сетей, включая Wi-Fi Интернет, 3G и 4G, и LTE. Осуществляя звонки с этого приложения, вы получаете отличное качество голоса, которое можно настраивать в зависимости от скорости интернета.
Media5-fone включает в себя широкий спектр полезных функций, таких как ожидание вызова, переключение, переадресация вызова, 3-х сторонняя конференция и переключение между несколькими учетными записями SIP
Однако, важно отметить, что некоторые из этих функций доступны только при обновлении до платной версии
Одна особенность, которая отличает Media5-fone от своих конкурентов — это режим многозадачности. Это позволяет другим приложениям работать на телефоне, в то время как приложение Media5-fone работает в фоновом режиме.
Недостатки Media5-fone
могут быть ограничения для некоторых операторов мобильной связи, которые ограничивают VoIP-связь.
3. 3CX
Еще один отличный вариант для звонков через IP телефонию – это приложение 3CX, которое было признано одним из лучших за его простой и лаконичный дизайн, как это показано на фото выше. 3CX доступен для мобильных платформ, включая iOS и Android, а также настольных платформ, таких как Windows и Mac ОС.
Если вы ищете больше, чем просто софтфон, то это именно то, что вам нужно. 3CX может быть использован в качестве офисной АТС. Он очень легко устанавливается. В 3CX есть также множество стандартных VoIP — функций, такие как запись разговоров, слепой перевод и переадресации вызова.
Недостатки 3CX
могут возникать сбои в работе приложения
Если вы ищете sip клиента для iPhone для личного пользования или для удовлетворения потребностей вашего бизнеса, то вы всегда сможете найти различные бесплатные программные телефоны VoIP-телефонии, которые легко скачать в App Store.
Мы надеемся, что этот обзор стал полезным для вас и вы с лёгкостью найдёте удобный и простой в использовании софтфон для осуществления дешёвых звонков через VoIP.
Встроенный SIP-клиент Android
Уже встроено в телефон, поэтому работает «из коробки» и доступно в настройках устройства. Это действенный и простой способ использовать SIP-телефонию, которую к тому же легко настроить.
Доступ к настройкам, может отличаться, в зависимости от производителя. Стандартная функция SIP-телефонии не доступна на некоторых андроид устройствах.
Настройки стандартного SIP клиента на андроид
На устройствах Xiaomi и Redmi: Настройки -> Системные приложения -> Телефон -> Расширенные настройки -> SIP аккаунты -> Использование SIP телефонии -> И тут, необходимо добавить SIP аккаунт.
Для большинства других устройств: Настройки -> Телефон -> Учетные записи.
Все, что вам нужно сделать, это ввести свой логин, пароль и адрес сервера. Все довольно просто, никаких лишних препятствий. Вы можете перейти к дополнительным настройкам и при необходимости ввести адрес прокси и номер порта.
Чтобы иметь возможность принимать звонки, необходимо проверить параметр «Принимать входящие звонки», в противном случае вы сможете совершать только исходящие звонки.
Как только вы сохраните настройки, ваш телефон будет зарегистрирован на сервере провайдера телефонии.
Отныне вы сможете совершать звонки через Интернет наряду со стандартными звонками через SIM-карту. Для того, чтобы определить разницу между вызовами GSM и VoIP, за исключением крошечного знака, отображаемого в верхнем правом углу, необходимо определить использование SIP телефонии:
- Для всех вызовов. Все звонки будут совершаться только через интернет. Если вам нужно позвонить через мобильную сеть, перейдите в настройки и включите другой тип исходящих вызовов.
- Только для SIP вызовов. В этом случае для каждого контакта требуется отдельное поле с указанием номера телефона для интернет-вызовов.
- Выбирать при осуществлении вызова: Сотовая связь или VoIP. Самый надоедливый, но «гибкий» способ. Это может быть полезно при определенных обстоятельствах.
Самым оптимальным вариантом при использовании платного SIP провайдера, является настройка ограничения — только для SIP вызовов. Во-первых, не на столько многие абоненты используют SIP. Во-вторых, сохранение SIP идентификатора абонента является такой же обыденностью как и сохранение 11-ти значного номера телефона.
При пользовании бесплатными SIP провайдерами оптимальным решением будет разграничительный выбор — разрешить для всех вызовов.
При использовании бесплатных SIP-провайдеров, иногда телефоны теряют регистрацию на сервере, без каких-либо уведомлений. Другими словами, вы думаете, что находитесь в сети, но на самом деле ваш телефон находится в автономном режиме и не может принимать входящие звонки. Более того, тесты показали небольшое снижение громкости во время разговора по сравнению с мобильной связью и платными провайдерами.
В то же время, качество интернет-связи было более чем достойным с использованием Zadarma. В целом, процесс очень прост, так как он был разработан для пользователей с базовыми навыками VoIP, чтобы они могли просто использовать SIP.
API и библиотеки SIP
Список не является исчерпывающим, но по мнению автора статьи в нём представлено лучшее, с чем он сталкивался. Разумными критериями, используемыми для отбора хорошего SIP API, являются реализация поддержки строго типизированных полей заголовков, реализация SIP транзакций, инкапсуляция большинства внутренностей SIP.
Разумный критерий, используемый для хорошего SIP API, является ли он обеспечивает поддержку для строго типизи Таблица 4. Рекомендуемые SIP стеки.
Язык | Ссылка | Описание |
Java | NIST’s SIP Library | Справочный API от National Institute of Standards and Technology. |
C#, VB и т.д. | Konnetic’s SIP .NET Library | Хорошо документированные низкоуровневые SIP и SDP стеки. |
C#, VB и т.д. | Microsoft’s Unified Comms Server | Высокоуровневые SIP, SDP и RTP стеки. |
C++ | PJSIP SIP Stack | Лёгкий, но полностью реализованный и легко портируемый SIP стек. |
Описание связки SIP/SDP/RTP-протоколов
SIP (Session Initiation Protocol) — протокол установления сессии (не только телефонной) — это текстовый протокол поверх UDP. Также есть возможность использовать SIP поверх TCP, но это редкие случаи.
SDP (Session Description Protocol) — протокол согласования типа передаваемых данных (для звука и видео это кодеки и их форматы, для факсов — скорость передачи и коррекция ошибок) и адреса их назначения (IP и порт). Это также текстовый протокол. Параметры SDP передаются в теле SIP-пакетов.
RTP (Real-time Transport Protocol) — протокол передачи аудио/видеоданных. Это бинарный протокол поверх UDP.
Общая структура SIP-пакетов:
- Start-Line: поле, указывающее SIP-метод (команду) при запросе или результат выполнения SIP-метода при ответе.
- Headers: дополнительная информация к Start-Line, оформленная в виде строк, содержащих пары АТТРИБУТ: ЗНАЧЕНИЕ.
- Body: бинарные или текстовые данные. Обычно используется для передачи SDP-параметров или сообщений.
Вот пример двух SIP-пакетов для одной частой процедуры — установления вызова:
Слева изображено содержимое пакета SIP INVITE, справа — ответ на него — SIP 200 OK.
Основные поля выделены рамками:
- Method/Request-URI содержит SIP-метод и URI. В примере происходит установление сессии — метод INVITE, вызов абонента [email protected].
- Status-Code — код ответа на предыдущую SIP-команду. В данном примере команда выполнилась успешно — код 200, т.е. абонент 555 поднял трубку.
- Via — адрес, на котором абонент 777 ждет ответа. Для сообщения 200 OK это поле копируется из INVITE-сообщения.
- From/To — отображаемые имя и адрес отправителя и получателя сообщения. Для сообщения 200 OK это поле копируется из INVITE-сообщения.
- Cseq содержит порядковый номер команды и название метода, к которому относится данное сообщение. Для сообщения 200 OK это поле копируется из INVITE-сообщения.
- Content-Type — тип данных, которые передаются в блоке Body, в данном случае — SDP-данные.
- Connection Information — IP-адрес, на который второму абоненту необходимо отправлять пакеты RTP (или UDPTL пакеты в случае передачи факса по T.38).
- Media Description — порт, на который второй абонент должен передавать указанные данные. В данном случае это звук (audio RTP/AVP) и список поддерживаемых типов данных — PCMU, PCMA, GSM-кодеки и DTMF-сигналы.
SDP-сообщение состоит из строк, содержащих пары ПОЛЕ=ЗНАЧЕНИЕ. Из основных полей можно отметить:
- o — Origin, имя организатора сессии и идентификатор сессии.
- с — Connection Information, поле описано ранее.
- m — Media Description, поле описано ранее.
- a — медиа-атрибуты, уточняют формат передаваемых данных. Например, указывают направление звука — прием или передача (sendrecv), для кодеков указывают частоту дискретизации и номер привязки (rtpmap).
RTP-пакеты содержат аудио/видеоданные, закодированные в определенном формате. Данный формат указывается в поле PT (payload type). Таблица соответствия значения данного поля конкретному формату приведена в ]]>https://en.wikipedia.org/wiki/RTP_audio_video_profile]]>.
Также в RTP-пакетах указывается уникальный SSRC-идентификатор (определяет источник RTP-потока) и метка времени (timestamp, используется для равномерного проигрывания звука или видео).
Пример взаимодействия двух SIP-абонентов через SIP-сервер (Asterisk):
Как только запускается SIP-телефон, первым делом он регистрируется на удаленном сервере (SIP Registar), отправляет ему сообщение SIP REGISTER.
При вызове абонента отправляется сообщение SIP INVITE, в теле которого вложено SDP-сообщение, в котором указываются параметры передачи звука/видео (какие кодеки поддерживаются, на какой IP и порт отправлять звук и др.).
Когда удаленный абонент поднимает трубку, нам приходит сообщение SIP 200 OK также с параметрами SDP, только удаленного абонента. Используя отправленные и полученные SDP-параметры можно устанавливать RTP-сессию передачи звука/видео или T.38-сессию передачи факсов.
Если полученные параметры SDP нас не устроили, или промежуточный SIP-сервер решил не пропускать через себя RTP-трафик, то выполняется процедура повторного согласования SDP, так называемый REINVITE. Кстати, именно из-за этой процедуры у бесплатных SIP-прокси-серверов есть один недостаток — если оба абонента находятся в одной локальной сети, а прокси-сервер находится за NAT’ом, то после перенаправления RTP-трафика ни один из абонентов не будет слышать другого.
После окончания разговора, абонент положивший трубку, отправляет сообщение SIP BYE.
Алгоритмы установления соединения
Протокол SIP является управляющим протоколом для установления, модификации и разрыва соединения, ориентированного на передачу потоковых данных. Параметры передачи медиа-потоков описываются в протоколе SIP посредством SDP (протокол описания сессии). Потоковые медиа-данные могут передаваться различными средствами, среди которых наиболее популярны транспортные протоколы RTP и RTCP.
Пример сценария установления соединения с участием сервера B2BUA
В примере ниже медиа-трафик проксируется через сервер. Сигнальные сообщения для участков Алиса — B2BUA и B2BUA — Борис являются полностью независимыми и выполняются в рамках разных сессий (изменятся как минимум адреса назначения и отправка, а также Call ID сессий). Терминал Алисы не знает реального местоположения терминала Бориса и наоборот. Так может выглядеть взаимодействие через некоторые софтсвичи или пограничные контроллеры сессий(SBC).
SIP-протокол – что это такое
SIP-протокол представляет собой протокол инициирования сеанса связи, активно используемый в IP-телефонии. Он отличается гибкостью и возможностью масштабирования. Он обеспечивает создание, модификацию и завершение сеансов между двумя и более участниками. По своей структуре он похож на протокол HTTP, так как пересылаемые в его рамках сообщения состоят из заголовков и тел. Этими сообщениями обмениваются серверы, прокси-серверы и абонентские терминалы, используемые в телефонии.
Использование SIP-протокола в IP-телефонии обеспечивает:
- Полную мобильность пользователей – они могут находиться в любой точке мира.
- Возможность масштабирования сети – используя соответствующие технические мощности, можно значительно увеличить количество абонентов без дополнительных сложностей и расходов.
- Расширяемость – с помощью SIP-протокола организуются сеансы передачи мультимедийной информации. Также он позволяет передавать файлы, проводить видеоконференции и видеосеансы между двумя пользователями, обеспечивает взаимодействие с бизнес-софтом.
Также он взаимодействует с другими протоколами, используемыми в системах связи.
История разработки
Данный протокол появился на свет в середине 90-х годов, причём в 2000 году он был принят в качестве основного сигнального протокола в мобильной связи. Ещё через два года появляется его вторая версия (SIP 2.0). С той поры он активно используется в IP-телефонии. Тем самым он почти полностью похоронил устаревший протокол H.323, используемый для организации телефонии и сеансов видеосвязи. Долгое время тот был безусловным лидером, но впоследствии его заменил SIP. Что касается H.323, то он используется и сегодня, но вытесняется всё больше и больше.
Аббревиатура SIP расшифровывается как Session Initiation Protocol. Он обеспечивает инициализацию и установление сеансов связи, отличаясь от H.323 своей гибкостью. Но если в H.323 была заложена экономия трафика, то для SIP это не характерно – существующие сегодня каналы связи характеризуются высокой производительностью, что позволяет не экономить трафик. SIP получился более перспективным, он активно используется в IP-телефонии, на его основе работают офисные облачные АТС.
Описание и операции
Основу протокола составляют шесть типов запросов. Первый – INVITE, он является инициирующим, вызывая другой терминал. В описании запроса содержится список сервисов, необходимых для данного сеанса связи. Установка связи подтверждается запросом ACK, в то время как для завершения текущего сеанса используется запрос BYE. Неактуальные в данный момент запросы отменяются запросом Cancel.
Что касается Register, то он определяет местоположение вызываемого терминала. А запрос OPTIONS является предшествующим запросам INVITE и ACK. Он запрашивает функциональные возможности терминала вызываемого пользователя.
SIP-протокол, наряду с абонентскими терминалами, подразумевает использование промежуточных серверов:
- Прокси-сервера – обеспечивает приём и обработку вышеуказанных запросов.
- Сервера местоположений – обеспечивает мобильность пользователей IP-телефонии.
- Сервера переадресации – хранит записи о прокси-серверах и абонентских терминалах.
Все эти устройства взаимодействуют с помощью запросов, приведённых выше. На каждый запрос высылается тот или иной ответ:
- 1xx – класс информационных ответов, не являющихся завершающими;
- 2xx – ответы об успешном завершении того или иного запроса;
- 3xx – абонент изменил местоположение;
- 4хх – категория сообщений о каких-либо ошибках;
- 5хх – категория серверных ошибок;
- 6хх – ответы, связанные с невозможностью вызова абонента.
Иными словами, каждый сеанс установления связи – это обмен запросами с отправкой ответов. Причём SIP-протокол работает поверх транспортных протоколов (чаще всего это TCP и UDP с портами 5060 и 5061).
Для чего используется
Данный протокол активно используется в IP-телефонии, в том числе для работы виртуальных АТС. Пользователи могут вызывать друг друга, обмениваться файлами и мультимедийной информацией, привлекать к установленному сеансу других участников, управлять переводом звонков. Также он используется при проведении сеансов видеосвязи и видеоконференций. Нельзя не отметить и его применение в онлайн-играх, где нужно соединить двух и более игроков. Благодаря гибкости он нашёл своё место в бизнес-процессах, обеспечивая взаимодействие телефонии и бизнес-приложений.
Транспортный уровень (англ. Transport Layer)
Транспортный уровень обеспечивает:
- сквозное соединение;
- сегментацию данных приложений из верхнего уровня;
- надежность данных.
Транспортный уровень в качестве основных использует следующие протоколы:
- UDP (англ. User Datagram Protocol);
- TCP (англ. Transmission Control Protocol);
- RTP (англ. Real-time Transport Protocol).
В работе IP-телефонии непосредственно используются протоколы RTP и UDP, которые в основном отличаются от TCP тем, что не обеспечивают надежности при доставке данных. Для IP-телефонии такая особенность является более приемлемой, чем использование TCP с его контролем за доставкой, потому как телефонная связь очень зависит от задержек при передаче данных, но потеря пакетов для нее не критична.
Протокол UDP
UDP создан на основании сетевого протокола IP, а его функции сводятся к предоставлению транспортных услуг прикладным процессам. Главным отличием между протоколами UDP и TCP является обеспечение первым негарантированной доставки (при отправке и после получения данных никаких подтвержденийUDP не запрашивает). При отправке данных через протокол UDP установка логического соединения между источником и приемником не обязательна.
Протокол RTP
Хоть RTP и принято считать транспортным протоколом, работает он, как правило, поверх UDP. Возможностями RTP реализовывается работа с временными метками, распознавание типа проходящего трафика, нумерация последовательности пакетов и контроль их передачи.
Основная цель работы протокола RTP сводится к присваиванию всем исходящим пакетам временных меток, которые впоследствии обрабатываются приемной стороной. Благодаря этому появляется возможность принимать информацию в том порядке, в котором она была отправлена, снижается влияние неравномерности временных интервалов прохождения пакетов в сети, восстанавливается синхронизация между видео и аудио данными.