IP-телефония II часть

advertisement
Session Initiation Protocol - SIP
•Протокол управления установлением соединений в
мультимедийных сессиях
•Выполняет функции протоколов H.323 (Q.931, RAS, H.245) – но
не все
•Использует текстовые сообщения в стиле протокола HTTP –
гибкость
•Сессия описывается в синтаксисе протокола SDP (Session
Description Protocol)
•Операции проще, чем у H.323
Архитектура SIP
Location Server –
определение
местоположения
Прокси-сервер SIP
Клиент SIP:
Прокси-сервер SIP
Режимы работы:
User Agent
Server Agent
Клиент SIP:
User Agent
1.
Proxy (прокси, рекурсивный) или
Redirect (переадресация, итеративный)
2. Statefull/stateless
Server Agent
Режим прокси
Прокси-сервер SIP
Location Server –
определение
местоположения
Прокси-сервер SIP
Голос в RTP
Клиент SIP:
Клиент SIP:
User Agent
User Agent
Server Agent
Server Agent
Режим переадресации
Прокси-сервер SIP
Клиент SIP:
User Agent
Server Agent
Голос в RTP
Location Server –
определение
местоположения
Прокси-сервер SIP
Клиент SIP:
User Agent
Server Agent
Адреса SIP
Формат - URI
name@domain
name@host
name@IP_addr
phone@gateway
Примеры:
Sip:A.Smith@ibm.com
Sip:admin@www.microsoft.com
Sip:admin@192.100.23.45
Sip:345-23-67@gate1.iptp.com
Сообщения протокола SIP
Структура сообщения
Стартовая строка (INVITE)
Заголовки
Пустая строка
Тело сообщения
Сообщения протокола SIP
INVITE – приглашение принять участие в сессии
ACK – прием ответа на запрос INVITE
CANCEL – отменяет обработку ранее переданных запросов
BYE – завершение соединения
REGISTER – регистрация местоположения пользователя
OPTION – информация о функциональных возможностях
терминала
Ответы SIP
Код
ответа
Название
Назначение
100
Trying
Запрос обрабатывается
180
Ringing
Местоположение определено, подается
звонок
181
Call Is being
Forwarded
Переадресация
182
Queued
Временно абонент недоступен, вызов
поставлен в очередь
200
OK
300
Multiple
Choices
Абонент доступен по нескольким
адресам
301
Moved
Permanently
Абонент постоянно сменил адрес
402
Payment
Required
Требуется предварительная оплата
услуги
Пример установления соединения в режиме
Proxy
F1 INVITE A -> Proxy 1
INVITE sip:UserB@there.com SIP/2.0
Via: SIP/2.0/UDP here.com:5060
From: BigGuy <sip:UserA@here.com>;tag=1234567
To: LittleGuy <sip:UserB@there.com>
Call-ID: 12345601@here.com
CSeq: 1 INVITE
Contact: <sip:UserA@100.101.102.103>
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 100.101.102.103
t=3034423619 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Параметры сообщения INVITE
INVITE <текущий адрес вызываемого>
Via: <первый промежуточный сервер>
Via: <второй промежуточный сервер>
From: <вызывающий>
To: L<вызываемый>
Call-ID: идентификатор сеанса1@имя раб. станции
CSeq: идентификатор сообщения INVITE
Content-Type: application/sdp
Content-Length: ...
v=0
o=UserA 2890844526 2890844526 IN IP4 client.here.com
s=Session SDP
c=IN IP4 100.101.102.103
m=audio 49170 RTP/AVP 0
Дополнительные услуги SIP
draft-ietf-sip-service-examples-02.txt, June 2001
call forwarding, including
the equivalent of 700-, 800- and 900- type calls;
call-forwarding no answer;
call-forwarding busy;
call-forwarding unconditional;
other address-translation services;
callee and calling ``number'' deliver
personal mobility
terminal-type negotiation and selection:
a caller can be given a choice how to reach the party,
e.g., via Internet telephony, mobile phone, an answering service, etc.;
terminal capability negotiation;
caller and callee authentication;
blind and supervised call transfer;
invitations to multicast conferences.
Cisco IP SIP Phone 7960
•Call forward – запрос переадресации у proxy-сервера,
с помощью приложения третьей стороны
•Call hold
•Call transfer
•Three-way calling— телефон, через который
установлено 3-х сторонее соединение, становится
мостом между остальными двумя
•Do not distur
•Multiple directory numbers— телефон может иметь до
6 номеров
•Call waiting—уведомлении о поступлении вызова во
времяф разговора
•Direct number dialing
Cisco SIP Proxy Server
Ability to function as a transaction stateful or stateless proxy server, stateful or stateless redirect
server, and registrar server
•Call forwarding
•MySQL subscriber database interface
•Address translation
•Registry database (static registry entries for contact points)
•E.164 to URL address translation (via location server protocols such as ENUM and GKTMP)
•Next-hop routing
•Static E.164 routes (dial plans)
•Static domain routes
•Authentication and authorization via Hypertext Transfer Protocol (HTTP) Digest and MySQL or via
CHAP-password and RADIUS
•Accounting via RADIUS
•Server farm support for sharing registry database information
•SIP over User Datagram Protocol (UDP) transport protocol support
•Inter operability with Cisco SIP gateways, SIP IP phones, and unified messaging
•IP security (IPSec) for SIP signaling messages
•Access and error logging
Media Gateway Control Protocol (MGCP)
и MEGACO/H.248
Media Gateway
Controller
• H.323 (H.225.0/H.245)
• SIP, SAP, RSVP, SDP
• delete connection
SS7/ISUP
• notify
• restart in progress
VoIP domain
MGCP
• create connection
PSTN domain
• modify connection
• delete connection
• notification request
• audit endpoint
• audit connection
RTP audio
Media Gateway
Circuit-switched
voice
Взаимодействие H.323 и MGCP
H.323
Gatekeeper
“Decomposed
Gateway”
Media
Gateway
Controller
“Decomposed
Gateway”
Call Setup,
Capability Exchange,
and Call Status
MGCP
Media
Gateway
Controller
MGCP
….
….
Media Gateways
Media Gateways
RTP Audio
Роль SIP в соответствии с
SIP Best Current Practice for Telephony Interworking
+--------+
+--------+
+--------+
|
|<--SIP--->| Proxy |<--SIP--->|
|
+---|
MGC |
+--------+
| MGC
|---+
|
|
|<------------SIP------------->|
|
|
|
+--------+
+--------+
|
SS7
| MGCP
MGCP |
SS7
Signal
|
|
Signal
Link
+------+
IP
+------+ Link
|
| MG |------------ Network ------------| MG |
|
|
+------+
+------+
|
|
|
\
/
|
|
|
|
Q.931 trunk
CAS trunk
|
|
|
SS7 trunk \
/ SS7 trunk |
|
|
\
/
|
|
|
+-----------------------------------------------+
|
+----|
PSTN
|---+
+-----------------------------------------------+
Модель шлюза и его операций
1. Ожидание вызова
Окончания T1 и T2 принимают участие в двустороннем аудио
вызове. Окончание T3 вызывает T1 и ждет.
Контекст - это ассоциация между несколькими окончаниями
2. Прием нового вызова
Окончание T1 приняло вызов от T3, переведя T2 в режим удержания
(on hold)
Шлюз умеет создавать, модифицировать и удалять контексты
Имена
Шлюз имеет доменное имя
- ca21.lattelekom.lv
Окончания имеют составные локальные
имена, продолжающие имя шлюза:
ca21.lattelekom.lv/module2/port3
Вызовы и контексты (соединения)
имеют локальные
идентификаторы
Digit Maps - отображения цифр
MGC может попросить шлюз собирать набираемые клиентом
цифры и передавать собранный набор
Когда остановиться?
|
0
|
Local operator
|
|
00
|
Long distance operator
|
|
xxxx
|
Local extension number
|
|
8xxxxxxx
|
Local number
|
|
#xxxxxxx
|
Shortcut to local number at|
|
other corporate sites
|
|
|
*xx
|
Star services
|
|
91xxxxxxxxxx
|
Long distance number
|
|
9011 + up to 15 digits|
International number
|
|________________________|_____________________________|
Решение:
(0T| 00T|[1-7]xxx|8xxxxxxx|#xxxxxxx|*xx|91xxxxxxxxxx|9011x.T)
События и сигналы
Вся работа шлюза может быть описана парами «событие - сигнал»
- снятие трубки - подача гудка (dial tone)
Пакет (package) - набор событий и сигналов,
поддерживаемых определенным типом окончания
Окончание может поддерживать несколько пакетов
Например:
пакеты DMTF, MF, Trunk, Line
В пакет входят события: (hu - снятие трубки, hf - нажатие
flash, 0 - цифра 0, и т.п.)
Пакет содержит описание входящих в него событий и
сигналов
Команды протокола MGCP
1. NotificationRequest - MGC просит MG ждать определенное событие
на определенном окончании, например, нажатие 9
2. Notification - MG уведомляет MGC о том, что событие произошло
3. CreateConnection - MGC просит MG создать соединение (контекст)
4. ModifyConnection
5. DeleteConnection
6. AuditConnection - запрос статуса соединения
7. AuditEndpoint - запрос статуса окончания
8. RestartInProgress - шлюз временно находится в
неработоспособном состоянии
Взаимодействие SIP и ISUP
Два сценария:
1. SIP-телефон взаимодействует с PSTN-телефоном
+-------------+ ISUP +-----+ SIP
+-------------+
| PSTN switch +-------+ MGC +-------+ SIP UAC/UAS |
+-------------+
+-----+
+-------------+
В Internet-draft
<draft-ietf-sip-isup-02.txt>
Category: Informational
June 2001
Expires: December 2001
приводятся процедуры преобразования сообщений ISUP в
сообщения SIP
Взаимодействие SIP и ISUP
(продолжение)
2. SIP используется как транзитный мост между PSTN
+------+
+-------------+
+-----+
+------------+
+------+
| PSTN +---+ Ingress MGC +---+ SIP +---+ Egress MGC +---+ PSTN |
+------+
+-------------+
+-----+
+------------+
+------+
В Internet-draft <draft-ietf-sip-isup-mime-10.txt> описываются
форматы расширения MIME для прозрачного переноса
сообщений ISUP между двумя контроллерами шлюзов
Для ускоренного надежного транзитного переноса сообщений ISUP может
применяться новый транспортный протокол «Stream Control
Transmission Protocol» (SCTP), RFC 2960, IETF;
October 2000
Обшая архитектура SS7 over IP определена в
Architectural Framework for Signaling Transport, RFC
2719, October 1999
Основные свойства SCTP
- Reliable Data Transfer
- Multiple streams to help avoid head-of-line blocking
- Ordered and unordered data delivery on a per-stream basis
- Bundling and fragmentation of user data
- TCP friendly Congestion and flow control
- Support continuous monitoring of reachability
- Graceful termination of association
- Support of multi-homing for added reliability
- Some protection against blind denial-of-service attacks
- Some protection against blind masquerade attacks
Взаимодействие с IN – новые
сервисы
Рабочая группа IETF SPIRITS:
Service in the PSTN/IN Requesting InTernet Service (spirits)
Специфицирует сервисы, которые инициируются в телефонной сети,
начинают реализовываться с помощью IN и требуют завершения в сети
IP-telephony.
Пример: Internet Call Waiting, ICW
Вводит архитектуру в IP сети, похожуб на архитектуру IN: SCF, SCP и
протокол SPIRITS (аналог INAP), который доставляет из PSTN в IP-сеть
запрос на выполнение сервиса
Отображение телефонных номеров
на имена DNS – предложения ENUM
Вводится специальная зона e164.arpa
Используются записи типа Naming Authority Pointer, NAPTR – RFC 2915
Пример записи
sip:Petrov@firma.ru – можно поговорить по протоколу sip
Записей для одного номера может быть несколько
В зоне e164.arpa вводится до 15 уровней делегированных зон,
например:
$ORIGIN 4.3.2.1.6.7.9.8.6.4.e164.arpa.
IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:info@tele2.se!"
IN NAPTR 102 10 "u"
"mailto+E2U""!^.*$!mailto:info@tele2.se!"
Сравнение H.323 и SIP
•
Сегодня свыше 90% мирового трафика VoIP переносится с
помощью протоколов H.323
•
Копрорация Microsoft заявила, что реализует SIP в
WindowsXP. Из-за сильного влияния продуктов Microsoft на
бизнес операторы и производители бужут поддерживать
SIP
•
SIP хорошо подходит для реализации дополнительных
услуг (Centrex-like) сетью оператора – виртуальные
частные тедефонные сети
•
Беспроводные мобильные сети: проект Third-Generation
Partnership Project (3GPP) определил SIP для управления
вызовами
Сравнение H.323 и SIP
•
Поддержка Cisco: IOS® Software release 12.2(2)XA
поддерживает SIP в шлюзах маршрутизаторов Cisco
2600, 3600, серверах доступа Cisco AS5300, AS5350, и
AS5400. SIP и H.323 могут работать одновременно,
обеспечивая трансляцию и взаимодействие
•
Протоколы H.323 ближе к протоколам телефонных
сетей – Q.931, SS7. Легче обеспечить трансляцию.
Более строгая работа – привратник диктует режим
работы и больше контролирует ситуацию
•
SIP использует при управлении вызовами команды в
текстовом формате ASCII, это облечает разработку и
отладку новых приложений.
•
Тесная связь с протоколами и стандартами Internet:
SDP, HTTP, MIME
Download