You are on page 1of 11

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ

ФАКУЛТЕТ ПО ТЕЛЕКОМУНИКАЦИИ

КУРСОВ ПРОЕКТ
ПО
КОМУНИКАЦИОННИ МРЕЖИ И
ТЕРМИНАЛИ

ТЕМА: „Изграждане на SIP повикване с два прокси-сървъра”

Студент:
IV курс, фак.№ 111215150

СОФИЯ Ръководител:
д-р. И. Атанасов
ЗАДАНИЕ
за курсов проект по дисциплина 

КОМУНИКАЦИОННИ МРЕЖИ И ТЕРМИНАЛИ

на Теодор Василев, ф. н-р 111215150


Тема
Изграждане на SIP повикване с два прокси-сървъра

Описание
Да се опишат функционалностите на отделните възли, участвуващи в SIP сигнализацията
по указаната тема.
Протоколната SIP сигнализация да се опише чрез необходимия брой диаграми за обмен на
съобщения и всяко съобщение по съответния сигнализационен сценарий да се
детайлизира текстуално, като се опише значението на заявката/отговора и принадлежните
му заглавни части.

Литература
1. M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation
Protocol RFC 2543," IETF, 1990.
2. A. B. Johnston, "SIP: Understanding the Session Initiation Protocol", Third Edition, 2009.

Предаване
Срок - 15-та седмица; каб. 1349
1. Увод

С бурното развитие на телекомуникациите като икономически и


технически отрасъл беше наложено въвеждането на все по нови и нови
услуги осигурявани от мобилните мрежи, с цел да се задоволят
изискванията на съвременния динамичен пазар.

Разбира се мобилната телефония винаги остава най-популярната


телекомуникационна услуга. Поради големите възможности на
съвременните мрежи не би било пълноценно една мрежа от последно
поколение да бъде използвана само за този вид услуга, имайки предвид, че
всяка една допълнителна услуга предлагана от даден оператор го прави по
конкурентно способен и високотехнологичен.

С въвеждането на мобилните мрежи от четвърто поколение каквито са LTE


(Long Term Evolution) и LTE-A (Long Term Evolution Advanced), които
въпреки че не успяха да покрият изискванията на ITU-R за комуникации от
четвърта генерация, тъй като са по-бавни от изискванията за 4G, те дават
над двойно подобрение на скоростта спрямо по-старите 3G стандарти.
Затова днес възприемаме LTE и LTE-A като първите итерации на
четвъртата генерация мрежи.

В следствие на това се започва и реализирането на услуги които да


разширят стандартното използване на услугите на мобилната мрежа като
по този начин използват по пълноценно капацитета й.

В съвременният високотехнологичен начин на живот, все повече нови


услуги започват да стават достъпни за динамичният човек, чрез мобилните
устройства. Все по-широко става използването на различни интернет
услуги в ежедневието. Реализирането на тези услуги е възможно да се
осъществи чрез IP Multimedia Sybsystem (IMS). Изграждането на аудио и
видео връзки в IMS става на базата на Session Intiation Protocol (SIP).
Това е протокол за сигнализация използван за изграждане и прекратяване
на мултимедийни сесии.

В краят на 2000 година, SIP беше приет като 3GPP протокол за


сигнализация и постоянен елемент от архитектурата на IMS за IP базирани
мултимедийни услуги в мобилните мрежи.

IMS e стандарт на Next Generation Networking (NGN) за мобилните


оператори, които искат да предоставят мобилни и фиксирани услуги. IMS
използва Voice-over-IP (VoIP) изпълнено на базата на 3GPP. По този начин
IMS дава на мрежовите оператори и доставчиците на услуги способност за
контрол и зареждане за всяка услуга. В добавка на това потребителите
имат възможност да им се изпълняват всички услуги, когато са в роуминг,
така добре както когато са в собствената си мрежа. За постигането на тези
неща IMS използва стандартния IP протокол. Така мултимедийната сесия
се осъществява между два IMS потребителя, между IMS потребител, който
обаче е съвместим с IP протокола и потребител на Internet и между два
потребителя на Internet чиято връзка е изградена на базата на самия
протокол. Още повече, че интерфейсите за услуги също са базирани на IP
протокола.

В курсовия проект се разглежда изграждането на аудио връзки в IP


Multimedia Subsystem (IMS) базирани на SIP протокол за сигнализация,
реализирано с два SIP прокси сървъра, запомнящ състоянията на сесиите и
поддържащ SIP съобщения за изграждане на гласови повиквания между
клиент(и) и сървъра.

2. Разглеждани сценарии

Session Initiation Protocol (SIP) сe намира в приложния слой сигнални


протоколи за създаване, промяна и приключване на сесии с един или
повече участника. Тези сесии изграждат телефонни разговори през
Интернет, включително и мултимедийна конференция. SIP се използва
главно при изпращане и получаване на гласови или видео повиквания в
пакетно базирана мрежа. Той може да се използва и за други приложения
където започването на сесия е задължително. Водещата цел на SIP е да се
грижи за сигнализацията в IP базираните комуникации и също така да
поддържа функции на високо ниво при телефонните разговори и тяхното
бъдещо развивитие в Public Switched Telephone Network(PSTN).

SIP протоколът е проектиран да даде възможност за изграждане на


мрежови системи, имащи Proxy Servers или User Agents. Също така ще
стане възможно в бъдеще да се извършват обичайни операции: избиране на
номер, известяване когато телефона звъни, чуване на сигнал за свободно
или заето. Изпълнението и технологията на SIP по света са различни, но
при потребителите качеството на телефонията вече е подобно на това в
PSTN.

SIP дава възможност бъдещите телефонните мрежи да имат много


повече предимства от тези, които са базирани на Сигнализация №7
(Signalling System 7 - SS7), като двата протокола много се различават един
от друг. SS7 e тясно насочен протокол, предназначен за много сложна
централизирана архитектура и не много сложни крайни точки. За разлика
от SS7, SIP изисква IP базирана опорна мрежа с равномерно разпределени
мрежови точки. Според някои източници бъдещето на SIP e в крайните
комуникационни точки, както и предстоящoто противопоставяне с
традиционната сигнализация SS7.

SIP не работи самостоятелно, а заедно с няколко други протоколи,


които се използват в комуникациите между потребителите. SIP действа
като транспорт за Session Description Protocol (SDP), който описва
параметрите на (мулти)медийната сесия, която ще трябва да се изгради
между крайните точки. Мултимедийните сесии са прости потоци от пакети
на Real-time Transport Protocol (RTP). RTP e протокол за транспорт в
реално време на актуалните гласови или видео повиквания между
абонатите.

Ще покажа различни примери за приложението на SIP протокола.

Първия пример представлява MSC диаграма на съобщенията обменяни


между викащ и викан абонат. Всяка стрелка на фигура 1.1 представя SIP
съобщение и показва посоката на предаване. Дебелите линии показват
медийния поток. Медийния поток в случая представлява RTP пакети,
които пренасят кодирана реч. Фиг. 1.1 показва SIP съобщения, направени
между два апарата поддържащи SIP. Тези апарати могат да бъдат
хардуерни SIP телефони или мобилни телефони с VoIP възможности. Като
и двата апарата са свързани в IP мрежа като Internet например и се знаят IP
адресите на всеки от тях.

За да се осъществи разговор, Client 1 започва обмена на съобщения


като изпраща на SIP, Invite (поканващо) съобщение до Client 2. Invite
съобщението съдържа подробности на типа сесия или на това кой подава
заявка за разговор. Това може да бъде обикновен говор(аудио),
мултимедийна сесия, от сорта на видео конференция или пък обикновена
игра играеща се в реално време.

Invite съобщението съдържа следните полета:


INVITE sip:client2@radio.org SIP/2.0
Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b
Max-Forwards: 70
To: Client 2 <sip:client2@radio.org>
From: Client 1 <sip:client1@high-voltage.org>;tag=76341
Call-ID: 123456789@lab.high-voltage.org
CSeq: 1 INVITE
Subject: About The Test...
Contact: <sip:client1@lab.high-voltage.org>
Content-Type: application/sdp
Content-Length: 158

v=0
o=Client1 2890844526 2890844526 IN IP4 lab.high-voltage.org
s=Phone Call
c=IN IP4 100.101.102.103
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Полетата съдържащи се в Invite съобщението се наричат заглавни
полета на повикването. Те имат вида: Header: Value CRLF. Invite е пример
на SIP съобщение за заявка.

Следващото съобщение на фиг. 1.1 е 180 Ringing (позвъняване),


съобщение изпратено в отговор на Invite. Съобщението показва дали Client
2 е получил Invite и дали се стартира сигнализация, която може да бъде
прозвъняване на телефон, мигащо съобщение на екрана, или пък някакъв
друг метод на сигнализация, за да се привлече вниманието на Client 2.

Ringing e пример на SIP съобщение за отговор. Отговорите са


номерирани и класифицирани с първата цифра на номера. 180 отговорите
са отговори от тип информационен клас, които започват с първа цифра 1.

Информационните отговори се използват, за да предават не толкова важна


и критична информация за развитието на повикването.

Отговарящият кодов номер в SIP сам определя начинът по който отговора


е разтълкуван от сървъра или потребителя.

180 Ringing отговора има следната структура:


SIP/2.0 180 Ringing
Via: SIP/2.0/UDP lab.high-voltage.org:5060;branch=z9hG4bKfw19b
;received=100.101.102.103
To: Client 2 <sip:client2@radio.org>;tag=a53e42
From: Client 1 <sip:client1@high-voltage.org>>;tag=76341
Call-ID: 123456789@lab.high-voltage.org
CSeq: 1 INVITE
Contact: <sip:client2@tower.radio.org>
Content-Length: 0

Съобщението се създава чрез копиране на много от заглавните полета от


Invite съобщението, което включва Via, To, From, Call-ID и след това се
добавя началото на отговора съдържащ SIP номер, кода на отговора и
причината за тяхното появяване. Този начин на изграждане опростява
създаването на съобщения за отговор.
Заглавното поле Via съдържа оригинални branch (разклоняващи)
параметри, но също има и допълнителен received (получаващ) параметър.
Този параметър съдържа буквалния IP адрес от къде е получено
запитването (100.101.102.103), който обикновенно е същият адрес, който
URI във Via получава чрез DNS (lab.high-voltage.org).

Важно е да се отбележи, че заглавните полета To и From не са


обърнати като последователност в съобщението за отговор, както някой би
предположил.

Отговорите съдържат също заглавното поле Contact, което съдържа адреса


на който Client 2 може да бъде намерен направо, след като веднъж сесията
бъде осъществена.

След като Client 2 реши да приеме обаждането се изпраща отговор


200 OK. Този отговор показва, че вида на медийната сесия, която
обаждащия е предложил е достъпна.

Последната стъпка в последователността за потвърждение на медийна


сесия е чрез заявка за потвърждение - ACK. Потвърждението означава, че
Client 1 е получил успешно отговора на Client 2. След което се
осъществява и самата медийна сесия, която използва друг протокол,
обикновенно RTP.

След краят на сесията, тя се прекратява, чрез изпращане на BYE от едната


страна и потвърждение чрез отговор 200 OK от другата страна.

SIP използва e-mail като имена за адресация. Адресната схема е част


от семейството на Internet адресациите познати като URI-та. SIP URI-тата
може също да съдържа телефонни номера, транспортни параметри и др.
Най-важното е че SIP URI е име, което се свежда до IP адрес използвайки
SIP прокси сървър и кой DNS по време на обаждането.
Фигура 1.2 е показан пример на най-разпространеното SIP обаждане
със такъв вид SIP сървър наречен „прокси сървър”. В този пример
обаждащия се User 1 се обажда на User 2 през SIP прокси сървър. SIP
прокси не изгражда и не разпада връзки, но стои в средата при размяната
на SIP съобщения, като получава съобщенията и ги препраща. В примера
ще имаме два SIP прокси сървър, но те може да са и повече, както и той да
бъде един.

Понеже User 1 не знае точно от къде User 2 се е включил и също така не


знае кое устройство използва, той използва SIP прокси сървъра да
определи пътят за SIP съобщенията.

При този случай User 1 изпраща Invite съобщение до прокси сървъра,


който пък от своя страна изпраща това Invite съобщение до User 2. След
това User 2 изпраща съобщението 180 Ringing до прокси сървъра, който
пък от своя го препраща на User 1. User 2 изпраща след това съобщението
200 OK като отново се препраща до User 1 чрез прокси сървъра. ACK
съобщението отново изминава пътят User 1– прокси сървър – User 2.
Осъществява се медиината сесия без участието на прокси сървъра и след
нея User 2 изпраща съобщението BYE. User 1 връща съобщение 200 OK
директно на User 2. Така се осъществява процеса на обменяне на
съобщения. SIP проксито работи по начин подобен на проксито в HTTP и
на други Internet протоколи.

SIP прокси сървъра обикновенно има достъп до някаква база данни или
услуга, с която да си помогне в осъщесвяване на заявката. Самото прокси
не е нужно да разбира самата SIP заявка, за да може да я препрати към
друг сървър или крайна точка. Също така не трябва да променя
последователността на заглавните полета или да преобразува или изтрива
заглавни полета.
Самият прокси сървър може бъде stateful или stateless. Ако той е stateless,
след като дадено съобщение се обработи успешно, то за него не се запазва
никаква информация. Този тип сървъри, никога не препредават
съобщенията. Докато stateful прокси сървъра запазва информация на
заявките и отговорите от миналото и използва тази информация при
осъществяването на бъдещи заявки и отговори. Например, такъв тип
сървър стартира таймер при препращане на заявка. Ако не се получи
отговор на заявката, до изтичане на времето на таймера, то проксито ще
препредаде заявката, освобождавайки по този начин потребителят от тази
задача. Също така този сървър може да изиска потвърждаване за
достоверност на клиента.

3. Диаграми
Фиг.1.2 SIP схема с два proxy сървъра

4. Заключение

SIP е протокол за сигнализация (Signaling Protocol), който се използва


предимно за контрол и управление на разговори в реално време в IP
мрежи, като например IP базирана телефония и незабавни съобщения. SIP,
подобно на HTTP, е протокол от типа клиент-сървър. Според слоевете на
модела OSI SIP се определя като принадлежащ към приложния слой (7).
Стандартът обяснява как да се използва SIP по TCP, UDP и TLS (UDP се
използва най-често). Порт 5060 е определен за SIP от IANA.

SIP клиентите използват TCP или UDP обикновено на порт номер 5060 за
свързване със SIP сървъри и други точки на свързване използващи този
протокол. Протоколът може да бъде използван от всякакъв вид
приложения, нуждаещи се от създаване и поддържане на сесия.

You might also like