Pull to refresh

Протокол SIP убийца Скайпа?

Development of communication systems
На Хабре многие агитируют за открытый Jabber, вместо закрытого ICQ. Но в тоже время никто не агитирует за софтфоны на базе открытого протокола SIP, вместо всяких закрытых Skype’ов. А ведь суть дело здесь одна и та же логика. Начнем?

Сначала про то что такое SIP а уже потом почему убийца. Протокол SIP расшифровывается как Session Initiation Protocol и служит он для установления соединений (сессий) между двумя компьютерами. Рассмотрим более узкую задачу, например соединение между двумя софтфонами. SIP протокол в таком случае требуется для того чтобы определить местоположение клиентов (софтфонов), согласовать параметры передачи звука (кодеки, битрейт), запустить передачу и окончить её. Есть еще целый ряд параллельных задач, но их пока для простоты опускаем.

И так SIP это протокол. Для его работы нужно написать некую программу, которая будет понимать язык на котором этот протокол говорит. С одной стороны это сервер, со стороны клиента это — клиент софтфон. Благо таких программ написано уже множество, и выдумывать ничего не надо. На каком языке говорит протокол SIP? На очень простом. Например для того чтобы позвонить софт фон посылает SIP серверу такое сообщение:
INVITE sip:alice@ berkenson.com
Сервер отчает кодами:
180 – Ringing
200 – OK

Как видим для идентификации пользователей используется SIP URI вида:
sip:alice@ berkenson.com
где справа от собаки стоит адрес SIP сервера, а слева имя пользователя на нем зарегистрированного. Вместо буквенного адреса можно указать IP:
sip:alice@83.134.98.2
То есть по аналогии с Jabber вы можете поднять свой сип сервер сами и все держать под контролем, либо зарегистрироваться на любом из общедоступных SIP серверов (sipnet.ru к примеру).

Что происходит, когда вы хотите позвонить другу?
1. Вы должны быть зарегистрированы на каком-нибудь сип сервере. Допустим sip.ru (несуществующий, найдите бесплатные Sip сервера в Google), и ваш логин bob. Ваш адрес sip:bob@sip.ru

2. Когда вы запускаете свой софтфон, вы вводите регистрационные данные и связываетесь с вашим сип сервером. SIP сервер теперь знает ваше местоположение (IPшник).

3. Вы звоните sip:alice@ berkenson.com. Сначала этот адрес отправляется на ваш SIP сервер sip.ru.

4.Ваш сип сервер используя DNS послылает запрос на SIP сервер Alice — berkenson.com.

5. SIP сервер berkenson.com выясняет есть ли такой пользователь, онлайн ли он сейчас, и его местоположение (IPшник).

6. SIP сервера выясняют какими клиентами пользуются Alice и Bob, и согласуют параметры передачи голоса (кодеки).
7. Софтфоны Alice и Bob знают IPшники и параметры кодеков друг друга начинают передачу данных по протоколу RTP (над IP). SIP сервера в этом процессе не участвуют.

8. Когда кто-нибудь кладет трубку, информация через SIP сервера доходит до другого софтфона и там слышаться короткие гудки.

Все прозрачно и понятно.

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

Почему убийца Skype – потому что SIP это очень серьезный, не смотря на простоту, протокол, за которым стоит вся телеком индустрия. Покупая прямой VoIP московский номер вы с вероятностью 90% покупаете номер который работает на SIP протоколе и вы сможете звонить по нему через свой софтфон. Есть ли такая возможность у Skype?

Мой прогноз – сначала скайп понемногу начнут вытеснять с корпоративных компьютеров, так как многие сейчас переходят на IP АТС работающие на SIP’e, а потом потянутся и просты пользователи.

Написано в предверии запуска octopusline.ru
Tags:SIPskype
Hubs: Development of communication systems
Total votes 39: ↑38 and ↓1 +37
Views14.5K

Popular right now