Tải bản đầy đủ

Tim hiểu giao thức SIP

Nhóm 3: Giao thức khởi tạo phiên SIP

Mục lục
THUẬT NGỮ VIẾT TẮT .................................................................................... 4
DANH SÁCH CÁC HÌNH VẼ ............................................................................. 7
LỜI NÓI ĐẦU ...................................................................................................... 9
CHƢƠNG I: GIỚI THIỆU CHUNG .................................................................. 10
I.

Khái niệm giao thức SIP ......................................................................... 10

II.

Sự phát triển của SIP .............................................................................. 11

III.

Đặc điểm của SIP ................................................................................ 11

IV.


Chức năng của SIP .............................................................................. 13

CHƢƠNG II: CÁC THÀNH PHẦN CỦA SIP .................................................. 15
I.

User Agents (UA) ................................................................................... 15

II.

Registrar.................................................................................................. 16

III.

Location Server ................................................................................... 17

IV.

Proxy Server ........................................................................................ 18

V.

Redirect Server ....................................................................................... 20

CHƢƠNG III: BẢN TIN SIP (SIP MESSENGER) ........................................... 22
Phân loại bản tin ..................................................................................... 22

I.
1.

SIP Requests ........................................................................................ 22

2.

SIP Responses ..................................................................................... 22

3.

Địa chỉ SIP (SIP Address) ................................................................... 23
Cấu trúc bản tin....................................................................................... 24


II.
III.

Star line ................................................................................................ 25

1.

Trong SIP requests .............................................................................. 25

2.

Trong SIP response.............................................................................. 26

IV.

Header field ......................................................................................... 26

1.

From..................................................................................................... 27

2.

To ......................................................................................................... 28
1


Nhóm 3: Giao thức khởi tạo phiên SIP
3.

Call-ID ................................................................................................. 28

4.

Via ....................................................................................................... 29

5.

Contact ................................................................................................. 30

6.

Cseq ..................................................................................................... 30

7.

Max-Forwards ..................................................................................... 31
Message Body (thân bản tin) .................................................................. 31

V.
VI.

Các loại bản tin yêu cầu....................................................................... 34

1.

REGISTER .......................................................................................... 34

2.

INVITE ................................................................................................ 35

3.

ACK ..................................................................................................... 36

4.

CANCEL ............................................................................................. 37

5.

BYE ..................................................................................................... 38

6.

OPTIONS ............................................................................................ 38

VII.

Tổng hợp các mã đáp ứng thƣờng dùng .............................................. 39

CHƢƠNG IV: CÁCH THỨC HOẠT ĐỘNG CỦA SIP .................................... 44
Mô hình hoạt động tổng quan của SIP ................................................... 44

I.
1.

Giao dịch SIP (SIP Transaction) ......................................................... 44

2.

Định tuyến SIP .................................................................................... 45
Quá trình định vị tới máy chủ ................................................................. 46

II.
III.

Xác định vị trí ngƣời dùng .................................................................. 48

IV.

Thiết lập và giải phóng một phiên hoạt động SIP (cuộc gọi SIP)....... 49

1.

Phiên gọi SIP đơn giản giữa 2 điện thoại ............................................ 50

2.

Phiên gọi có sự tham gia của Proxy .................................................... 51

3.

Cuộc gọi có sự tham gia của Redirect Server ..................................... 52

4.

Thay đổi một phiên hiện tại ................................................................. 53

CHƢƠNG V: MÔ PHỎNG ................................................................................ 54
I.

Mô hình ................................................................................................... 54
2


Nhóm 3: Giao thức khởi tạo phiên SIP
Cài đặt và cấu hình ................................................................................. 54

II.
1.

Cấu hình 2 PC ...................................................................................... 54

2.

Cài đặt SIP Server ............................................................................... 54

3.

Cấu hình SIP Server ............................................................................ 55

4.

Cài đặt và cấu hình SoftPhone X-Lite ................................................. 57

5.

Quá trình thiết lập cuộc gọi ................................................................. 58

6.

Cuộc gọi đang diễn ra .......................................................................... 59

7.

Các gọi tin bắt đƣợc trong quá trình thiết lập cuộc gọi ....................... 60

TÀI LIỆU THAM KHẢO ................................................................................... 61

3


Nhóm 3: Giao thức khởi tạo phiên SIP
THUẬT NGỮ VIẾT TẮT
Từ viết
tắt
3GPP

Nghĩa Tiếng Việt

Tiếng Anh

Tổ chức chuẩn hóa các công
Third Generation Partnership Project nghệ mạng thông tin di động
tế bào

AH

Authentication Header

Tiêu đề nhận dạng

AS

Application Server

Máy chủ ứng dụng

CMS

Cryptographic Message Syntax

Cú pháp bản tin mã hóa

DES

Data Encrytion Standard

Một chuẩn mã hóa dữ liệu

HMAC

Hash Message Authentication Code

Mã nhận thực bản tin băm

ICMP

Internet Control Message Protocol

Giao thức điều khiển bản tin
Internet

IETF

Internet Engineering Task Force

Tổ chức đặc trách về kỹ thuật
Internet

IMCP

Internet Control Message Protocol

Giao thức bản tin điều khiển
Internet

IP Multimedia Subsystem

Một kiến trúc gồm nhiều
chức năng

Internet Protocol

Giao thức mạng

IPsec

IP sercurity protocol

Giao thức an ninh mạng

ISO

International Standard Organization

Tổ chức chuẩn quốc tế

IP Device Control

Điều khiển thiết bị IP

ISC

International Softswich Consortium

Tổ chức chuyển mạch mềm
quốc tế

ISDN

lntegrated Service Digital Network

Mạng số liên kết đa dịch vụ

IMS
IP

IPDC

Nhà cung cấp dịch vụ
ISP

Internet Service Proveder

LAN

Local Area Network

Mạng cục bộ

MAP

Mobile Application Part

Phần ứng dụng di động

MDCP

Internet

Media Device Control Protocol
4

Giao thức điều khiển thiết bị
phƣơng tiện


Nhóm 3: Giao thức khởi tạo phiên SIP
MG
MGC

Media Gateway

Cổng phƣơng tiện
Bộ điều khiển cổng phƣơng

Media Gateway Controler

tiện
Chức năng MGC

MGC-F

MGC- Function

MGCP

Media Gateway Control Protocol

MPEG

Moving Picture Experts Group

NGN

Next Generation Network

PSTN

Public Switched Telephone Network

QoS
RTCP

Giao thức điều khiển cổng
lƣu lƣợng
Định dạng âm thanh (audio),
phim ảnh (video)
Mạng thế hệ sau
Mạng điện thoại chuyển
mạch công cộng

Quality of Service

Chất lƣợng dịch vụ

Real Time Transport Control

Giao thức điều khiển truyền

Protocol

tải thời gian thực
Giao thức truyền tải thời gian

RTP

Real Time Transport Protocol

SCTP

Stream Control Transport Protocol

SDP

Session Discription Protocol

Giao thức mô tả phiên

SG

Signalling Gateway

Cổng báo hiệu

SIP

Session lntiation Protocol

Giao thức khởi đầu phiên

Session lntiation Protocol for

Phần mở rộng giao thức SLP

Telephony

dành cho thoại

Simple Network Management

Giao thức quản lý mạng đơn

Protocol

giản

SIP-T

SNMP

5

thực
Giao thức truyền tải điều
khiển dòng


Nhóm 3: Giao thức khởi tạo phiên SIP
STP

Signal Transfer Point

Điểm truyền tải báo hiệu

SUA

SCCP User Adatatton

Thích ứng ngƣời dùng SCCP

TCP

Transmission Control Protocol

TGW

Trunk GateWay

UAC

User Agent Client

UAS

User Agent Server

UDP

User Datagram Protocol

URL

Uniform Resoure Identier

URL

Uniform Resoure Locator

VOIP

Voice over IP

Thoại qua mạng IP

WAN

Wide Area Network

Mạng diện rộng

XML

Extensible Markup Language

Giao thức điều khiển truyền
tải
Cổng trung gian
Máy trạm tác nhân ngƣời
dùng
Máy chủ tác nhân ngƣời
dùng
Giao thức gói tin ngƣời dùng
Nhận dạng tài nguyên đồng
nhất
Bộ định vị tài nguyên đồng
nhất

6

Ngôn ngữ đánh dấu có thể
mở rộng


Nhóm 3: Giao thức khởi tạo phiên SIP
DANH SÁCH CÁC HÌNH VẼ
Hình 1.2 Vị trí của SIP trong mô hình OSI ..................................................... 11
Hình 2.1 Các thành phần của SIP.................................................................... 15
Hình 2.1 cấu trúc User Agent .......................................................................... 16
Hình 2.2 Registrar Server ................................................................................ 17
Hình 2.3 Quá trình để đăng kí thông tin trong 1 Location Server .................. 18
Hình 2.4 Quá trình yêu cầu đi qua ProxyServer ............................................. 20
Hình 2.5 Redirect Server ................................................................................. 21
Hình 3.1.2 SIP Response ................................................................................. 23
Hình 3.2 Khuôn dạng bản tin SIP ................................................................... 24
Hình 3.4.3 Dialog và cuộc hội thoại ............................................................... 29
Hình 3.6.1 REGISTER .................................................................................... 34
Hình 3.6.2 INVITE.......................................................................................... 36
Hình 3.6.3 ACK .............................................................................................. 37
Hình 3.6.4 CANCEL ....................................................................................... 37
Hình 3.6.5 BYE ............................................................................................... 38
Hình 3.6.5 OPTIONS ...................................................................................... 38
Hình 4.1 Hoạt động của SIP ............................................................................ 44
Hình 4.1.3 Quá trình định tuyến của bản tin SIP ............................................ 46
Hình 4.2.1 UA gửi trực tiếp yêu cầu cho ProxyServer đã biết ....................... 46
Hình 4.2.2 UA gửi yêu cầu khi chƣa biết ProxyServer .................................. 48
Hình 4.4.1 Phiên gọi SIP đơn giản giữa 2 điện thoại...................................... 50
Hình 4.4.2 Phiên gọi có sự tham gia của ProxyServer ................................... 51
Hình 4.4.3 Cuộc gọi có sự tham gia của Redirect Server ............................... 52
Hình 5.1 Mô hình ............................................................................................ 54
Hình 5.2.3.1 Đăng nhập vào Server ................................................................ 55
Hình 5.2.3.2 Cấu hình địa chỉ của Server ....................................................... 55
7


Nhóm 3: Giao thức khởi tạo phiên SIP
Hình 5.2.3.3 Cấu hình User Huy ..................................................................... 56
Hình 5.2.3.4 Cấu hình User Thành ................................................................. 56
Hình 5.2.4 Cấu hình Softphone Huy ............................................................... 57
Hình 5.2.5 Tiến hành cuộc gọi ........................................................................ 58
Hình 5.2.6 Cuộc gọi đang diễn ra ................................................................... 59
Hình 5.2.7.1 Các gói tin bắt đƣợc ................................................................... 60
Hình 5.2.7.1 Gói tin INVITE .......................................................................... 60

8


Nhóm 3: Giao thức khởi tạo phiên SIP
LỜI NÓI ĐẦU
Xã hội ngày càng hiện đại và không ngừng phát triển, nhu cầu trao đổi
thông tin của con ngƣời cũng chính vì thế mà tăng lên. Do đó, các mạng viễn
thông hiện có với các loại hình dịch vụ sẽ không đáp ứng đƣợc nhu cầu ngày
càng tăng cao của xã hội nhƣ: điện thoại, fax, điện báo…. Vì vậy, yêu cầu đặt ra
là cần phải đƣa ra giải pháp xây dựng một mạng mới, cung cấp đƣợc nhiều dịch
vụ hơn cùng với những thiết bị đầu cuối dễ sử dụng để đáp ứng ngƣời dùng.
Không chỉ vậy, mạng mới này phải có cấu trúc hiện đại, linh hoạt, dễ tích hợp
các mạng cũ lại để tiết kiệm chi phí lắp đặt, sửa chữa.
Xu hƣớng của hầu hết các tổ chức cũng nhƣ các quốc gia trên thế giới
hiện nay là hƣớng tới xây dựng mạng NGN, vì mạng này là mạng duy nhất có
cơ sở hạ tầng thông tin dựa trên công nghệ chuyển mạch gói, đáp ứng đƣợc yêu
cầu là dễ mở rộng và nâng cấp, triển khai các dịch vụ đa dạng và nhanh chóng.
SIP là một giao thức mới xuất hiện nhằm phục vụ cho mạng điện thoại IP
nhƣng đã đƣợc ứng dụng rộng rãi. Trong cấu trúc mạng NGN, SIP đã đƣợc lựa
chọn làm giao thức báo hiệu chính. SIP rất đƣợc chú ý và ngày càng đƣợc sử
dụng rộng rãi trong các kiến trúc mạng NGN. Tháng 11/2000, SIP đƣợc chấp
nhận nhƣ một giao thức báo hiệu của 3GPP và trở thành một thành phần chính
thức của cấu trúc IMS. Đặc điểm của SIP là đơn giản, mở, dễ dàng triển khai và
tƣơng thích với các giao thức IP đã có.
Do hạn chế về mặt thời gian cũng nhƣ kiến thức cho nên không thể tránh
khỏi những thiếu sót và sai lầm rất mong đƣợc sự góp ý của Thầy, cùng các bạn
để có thể sữa chữa, nâng cao sự hiểu biết của mình.
Chúng em xin cảm ơn Thầy đã tận tình giúp đỡ và tạo điều kiện tốt nhất
để chúng em có thể hoàn thành đề tài này.
Bắc Ninh, ngày 1 tháng 10 năm 2015
Nhóm sinh viên thực hiện

9


Nhóm 3: Giao thức khởi tạo phiên SIP
CHƢƠNG I: GIỚI THIỆU CHUNG
I.

Khái niệm giao thức SIP

Phiên (Session): là tập hợp các bên tham gia cùng với luồng dữ liệu trao
đổi giữa bên gửi và bên nhận. Nó đƣợc xác định bởi chuỗi tên ngƣời dùng, phiên
nhận dạng, kiểu mạng, kiểu địa chỉ và địa chỉ các phần tử trong trƣờng nguồn.
Giao thức SIP
SIP là viết tắt của cụm từ “Session Initiation Protocol”, đƣợc xây dựng
bởi IETF. Theo IETF, SIP là giao thức báo hiệu lớp ứng dụng mô tả việc khởi
tạo, thay đổi và giải phóng các phiên kết nối tƣơng tác đa phƣơng tiện giữa
những ngƣời sử dụng.
SIP có thể sử dụng cho rất nhiều dịch vụ khác nhau trong mạng IP nhƣ
dịch vụ thông điệp thoại, hội nghị thoại, E-mail, dạy học từ xa, quảng bá
(MPEG, MP3...), truy nhập HTML, XML, hội nghị video...
SIP là 1 giao thức đơn giản, dựa trên dạng văn bản (text based). SIP đƣợc
đƣa ra trên cơ sở nguyên lý giao thức trao đổi thông tin của mạng Internet
(HTTP). SIP là giao thức ngang cấp (peer-to-peer), hoạt động theo nguyên tắc
hỏi/đáp (Server/client).
SIP làm việc cùng các giao thức khác trong tầng ứng dụng để nhận dạng
và truyền Session Media. Sự nhận dạng và thỏa thuận về Media đƣợc thực hiện
với Session Description Protocol (SDP). Đối với việc truyền các media stream
(voice, video), SIP kết hợp Real-time Transport Protocol (RTP) hay Secure
Real-time Transport Protocol (SRTP). Còn bảo mật trong quá trình truyền các
thông điệp thì đƣợc mã hóa bởi Transport Layer Security (TLS).
SDP đƣợc sử dụng để miêu tả các loại media session nhằm mục đích
thông báo, mời gọi và thỏa thuận về các tham số dành cho một session. Do đó,
để tạo ra một session, một SIP message luôn mang theo SDP mà cho phép các
bên tham gia đồng ý thiết lập một vài các thông số cần thiết vể trao đổi media,
cũng nhƣ kiểu media, địa chỉ truyền tải, v.v.
Tóm lại, nhiệm vụ của SIP là liên kết các peer lại với nhau, nó kết hợp với
SDP để miêu tả về tính năng media sẽ thực hiện sau đó. Còn việc thực hiện các
tính năng media là nhiệm vụ của giao thức khác.

10


Nhóm 3: Giao thức khởi tạo phiên SIP
II.

Sự phát triển của SIP

Đầu tiên SIP chỉ đơn thuần là 1 giao thức dùng để thiết lập phiên quảng
bá cho Internet. SIP đƣợc phát triển bởi SIP working group trong IETF. Phiên
bản đầu tiên đƣợc ban hành vào tháng 3 năm 1999 trong tài liệu RFC 2543. Sau
đó, SIP trải qua nhiều thay đổi và cải tiến. Phiên bản mới nhất hiện nay đƣợc
ban hành trong IETF RFC 3261 hoàn toàn tƣơng thích ngƣợc với RFC 2543, do
đó các hệ thống thực thi theo RFC 2543 hoàn toàn có thể sử dụng với các hệ
thống trong RFC 3261. Từ khi SIP đƣợc công bố, hàng trăm nhà sản xuất đã bắt
đầu bán ra trên toàn cầu máy chủ và điện thoại có tính năng SIP. Một điều đáng
chú ý là Microsoft cũng đã hỗ trợ sẵn cho SIP trong Window XP.
Vị trí của SIP trong mô hình OSI và TCP/IP. SIP là 1 giao thức thuộc lớp
ứng dụng trong mô hình TCP/IP. Còn nếu nói đến mô hình OSI 7 lớp thì SIP là
1 giao thức nằm ở cả 3 lớp trên cùng tức Application/Presentation/Seasion (hình
1.2).
Trong lập trình triển khai SIP, ngƣời ta xem SIP thuộc cả 3 lớp trên để dễ
lập trình, dễ integration (hội nhập), và dễ sử dụng trong communicate software
(giao tiếp phần mềm).

Hình 1.2 Vị trí của SIP trong mô hình OSI
III.

Đặc điểm của SIP

SIP đƣợc thiết kế với những tiêu chí hỗ trợ tối đa cho các giao thức khác
đã ra đời trƣớc đó, phục vụ cho mục đích lâu dài của điện thoại Internet và hội
nghị đa phƣơng tiện. Rất nhiều sự quan tâm đƣợc tập trung vào việc phát triển
SIP để đảm bảo giao thức này trở thành cơ sở cho thông tin trên Internet. Dƣới
đây là 5 đặc điểm nổi bật tổng quát của SIP.
11


Nhóm 3: Giao thức khởi tạo phiên SIP
 Tích hợp với các giao thức đã có của IETF.
 Đơn giản và có khả năng mở rộng.
 Hỗ trợ tối đa sự di động của đầu cuối.
 Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới.
 Khả năng liên kết hoạt động với mạng điện thoại hiện tại.
Tích hợp với các giao thức đã có của IETF
Các giao thức khác của IETF có thể sử dụng để xây dựng những ứng dụng
SIP. SIP có thể hoạt động cùng với nhiều giao thức nhƣ:
 RSVP (Reource Revervation Protocol): Giao thức chiếm trƣớc tài
nguyên mạng.
 RTP (Real-time Tranpsport Protocol): Giao thức vận chuyển thời gian
thực.
 RTSP (Real Time Streaming Protocol): Giao thức tạo luồng thời gian
thực.
 SAP (Session Advertisement Protocol): Giao thức thông báo phiên kết
nối.
 SDP ( Session Description Protocol): Giao thức mô tả phiên kết nối đa
phƣơng tiện.
 MIME (Multipurpose Internet
Internet đa mục đích.

Mail Extension): Mở rộng thƣ tín

 HTTP (Hypertext Transfer Protocol): Giao thức truyền siêu văn bản.
 COPS (Commom Open Policy Service): Dịch vụ chính sách mở rộng
chung.
 OSP (Open Settlement Protocol): Giao thức thỏa thuận mở.
Đơn giản và có khả năng mở rộng
SIP có rất ít bản tin, không có các chức năng thừa nhƣng SIP có thể sử
dụng để thiết lập những phiên kết nối phức tạp nhƣ hội nghị... Đơn giản, gọn
nhẹ dựa trên khuôn dạng văn bản (text), SIP là giao thức ra đời sau và đã khắc
phục đƣợc điểm yếu của nhiều giao thức trƣớc đây.
Các phần mềm Proxy Server, Registrar Server, Redirect Server, Location
Server… có thể chạy trên các máy chủ khác nhau và việc cài đặt thêm máy chủ
hoàn toàn không ảnh hƣởng đến các máy chủ đã có. Chính vì thế hệ thống SIP
có thể dễ dàng nâng cấp.
12


Nhóm 3: Giao thức khởi tạo phiên SIP
Hỗ trợ tối đa sự di động của đầu cuối
Do có Proxy Server, Registrar Server và Redirect Server hệ thống luôn
nắm đƣợc địa điểm chính xác của thuê bao. Thí dụ thuê bao với địa chỉ SIP:
huyhckt@t36.vn có thể nhận đƣợc cuộc gọi thoại hay thông điệp ở bất cứ địa
điểm nào qua bất cứ đầu cuối nào nhƣ máy tính để bàn, máy tính xách tay, điện
thoại SIP... Với SIP rất nhiều dịch vụ di động mới đƣợc hỗ trợ nhƣ Presence
(biết trạng thái hiện thời của đầu cuối) và Call Forking (phân nhánh cuộc gọi).
Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới
Là giao thức khởi tạo phiên trong mạng chuyển mạch gói, SIP cho phép
tạo ra những tính năng mới hay dịch vụ mới một cách nhanh chóng. Ngôn ngữ
xử lý cuộc gọi CPL (Call Processing Language) và giao diện cổng chung CGL
(Com mon Gateway Interface) là một số công cụ để thực hiện điều này. SIP hỗ
trợ các dịch vụ thoại nhƣ: chờ cuộc gọi (Call Waiting), chuyển tiếp cuộc gọi
(Call Forwarding), chặn cuộc gọi (Call Blocking), hỗ trợ thông điệp thống nhất.
Khả năng liên kết hoạt động với mạng điện thoại hiện tại.
PTSN là hệ thống chuyển mạch điện thoại trong nhiều năm. Hệ thống nầy
truyền tải các cuộc gọi điện thoại bằng tín hiệu analog bằng cáp đồng xoắn từ
nhà và văn phòng đến nhà truyền tải. Giao thức khởi tạo phiên SIP có khả năng
liên kết với PTSN (mạng điện thoại truyền thống) chứ không chỉ dừng lại ở hoạt
động trong mạng IP.
IV.

Chức năng của SIP

SIP là một giao thức điều khiển lớp ứng dụng mà nó có thể thiết lập, sửa
đổi và kết thúc các phiên truyền thông đa phƣơng tiện (các hội nghị) hay các
cuộc gọi điện thoại qua Internet. SIP có thể mời các thành viên tham gia vào các
phiên truyền thông đơn hƣớng hoặc đa hƣớng; bên khởi tạo phiên không nhất
thiết phải là thành viên của phiên đó. Phƣơng tiện và các thành viên có thể đƣợc
bổ sung vào một phiên đang tồn tại.
SIP hỗ trợ việc ánh xạ tên và các dịch vụ chuyển tiếp một cách trong suốt,
vì thế nó cho phép thực hiện các dịch vụ thuê bao điện thoại của mạng thông
minh và mạng ISDN. Những tiện ích này cũng cho phép thực hiện các dịch vụ
của các thuê bao di động. SIP hỗ trợ 5 khía cạnh của việc thiết lập và kết thúc
các truyền thông đa phƣơng tiện sau:
13


Nhóm 3: Giao thức khởi tạo phiên SIP
 Định vị ngƣời dùng (User Location): xác định hệ thống đầu cuối đƣợc
sử dụng trong truyền thông.
 Các khả năng ngƣời dùng (User capabilities): xác định phƣơng tiện và
các thông số phƣơng tiện đƣợc sử dụng.
 Tính khả dụng ngƣời dùng (User availability): xác định sự sẵn sàng
của bên đƣợc gọi để tiến hành truyền thông.
 Thiết lập cuộc gọi (Call setup): “đổ chuông”, thiết lập các thông số của
cuộc gọi tại cả hai phía bị gọi và chủ gọi.
 Xử lý cuộc gọi (Call handling): bao gồm chuyển tải và kết thúc cuộc
gọi.

14


Nhóm 3: Giao thức khởi tạo phiên SIP
CHƢƠNG II: CÁC THÀNH PHẦN CỦA SIP

Hình 2.1 Các thành phần của SIP
Các thành phần chính trong mạng SIP bao gồm:
 User Agents (UA).
 Proxy Server.
 Redirect Server.
 Registrar Server.
 Location Server.
I.
User Agents (UA)
User Agent (UA) là hệ thống đầu cuối trong mạng SIP, hoạt động đại diện
cho ngƣời sử dụng. UA phải có khả năng thiết lập một phiên của phƣơng tiện
này với các UA khác. Điều đó có nghĩa là UA có thể khởi tạo, thay đổi hay giải
phóng cuộc gọi.
Một SIP User Agent (UA) bao gồm 2 thành phần: User Agent Client
(UAC) và User Agent Server (UAS).
 Nhiệm vụ của UAC: tạo ra các bản tin SIP yêu cầu (request) gửi cho
UAS và nhận các bản tin SIP đáp ứng (response) đƣợc gửi từ UAS .
 Nhiệm vụ của UAS: nhận các request đƣợc gửi từ UAC và tạo ra các
response gửi cho UAC.

15


Nhóm 3: Giao thức khởi tạo phiên SIP

Hình 2.1 cấu trúc User Agent
UAC và UAS của 1 UA không bao giờ liên lạc với nhau, nên nói "UAC
gửi request đến UAS" thì bạn phải hiểu UAC thuộc UA1 và UAS thuộc UA2 ,
cũng nhƣ nói "UAS gửi reponse đến UAC" thì bạn cũng phải hiểu UAS và
UAC thuộc 2 UA khác nhau.
SIP UA là bộ phận quan trọng của 1 ứng dụng về truyền media. SIP UA
có thể là:
 Một máy điện thoại IP.
 Một phần mềm chạy trên PC.
 Một ứng dụng trên mobile phone.
 Một trạng thái nào đó trong network Server: gửi phản hồi tự động khi
có yêu cầu, tự động gửi media chúc mừng sinh nhật, ...
Máy điện thoại IP giống nhƣ điện thoại VoIP hay điện thoại mềm. Đây là
điện thoại cho phép thực hiện các cuộc gọi bằng cách sử dụng công nghệ VoIP
giao thức truyền giọng nói qua internet, điện thoại IP chạy trên nền phần cứng
giống nhƣ điện thoại để bàn nhƣng có thể nhận và thực hiện các cuộc gọi thông
qua mạng internet thay vì hệ thống PSTN truyền thống, điện thoại IP cũng có
thể chạy trên phần mềm. Các tùy chọn này cho phép mọi máy tính đƣợc sử dụng
nhƣ điện thoại qua tai nghe có micro hoặc card âm thanh. Ngoài ra phải có kết
nối băng thông rộng và kết nối với nhà cung cấp dịch vụ VoIP hoặc máy chủ
SIP.
II.

Registrar

Registrar là một Server mà chấp nhận các yêu cầu đăng kí (registration
request) từ các UA. UA cung cấp địa chỉ hiện tại của nó trong resgistration
request gửi đến Registrar Server. Khi Registrar nhận registration request, nó lấy
một số thông tin và lƣu vào trong 1 cơ sở dữ liệu đƣợc gọi là Location Server.
16


Nhóm 3: Giao thức khởi tạo phiên SIP
Tức là, Registrar là 1 đầu cuối SIP mà nhận các registration request và
đƣa các thông tin nó nhận đƣợc trong request này vào Location service để xử lý.
Trong nhiều trƣờng hợp Registrar Server đảm nhiệm luôn một số chức năng an
ninh nhƣ xác nhận ngƣời sử dụng.

Hình 2.2 Registrar Server
Mỗi UA phải đƣợc đăng ký trƣớc khi nó có thể gửi và nhận media. Mỗi
lần đầu cuối đƣợc bật lên (thí dụ máy điện thoại IP hoặc phần mềm SIP) thì đầu
cuối lại đăng ký với Registrar Server. Nếu đầu cuối cần thông báo với Server về
địa điểm của mình thì bản tin Register đƣợc gửi đi. Nói chung các đầu cuối đều
thực hiện việc đăng ký lại một cách định kỳ.
III.

Location Server

Location Server là phần mềm định vị thuê bao, cung cấp thông tin về
những vị trí có thể của phía bị gọi cho Proxy Server và Redirect Server.
Location Server chứa một cơ sở dữ liệu là một tập danh sách đƣợc ánh xạ
giữa Adresses of Record (AORs – địa chỉ công khai của UA) và Contact
Addresses (địa chỉ IP của UA). AOR là một bản ghi căn bản và quan trọng nhằm
ánh xạ, diễn dịch một domain thành địa chỉ IP.
Ví dụ: Ánh xạ www.cpanel.com.vn thành 112.78.6.9
17


Nhóm 3: Giao thức khởi tạo phiên SIP
Khi Registrar nhận một registration request từ một UA, Registrar sẽ đƣa
thông tin nó nhận đƣợc vào Location Server. Location Server liên hệ với Proxy
Server chỉ ra tên miền (domain) chính xác để lấy về thông tin địa chỉ mà có thể
đƣợc thực hiện cuộc gọi đến ngƣời dùng.
Ví dụ:
Address of Record

Contact Address

sip:tranhuy@t36.com

sip:tranhuy@212.33.34.16

sip:huyd3a@d3a.vn

sip:huyd3a@214.22.45.1

Hình 2.3 Quá trình để đăng kí thông tin trong 1 Location Server
IV.

Proxy Server

Chức năng của Proxy Server trong Internet
Một số hãng và công ty sử dụng Proxy với mục đích: Giúp nhiều máy tính
truy cập Internet thông qua một máy tính với tài khoản truy cập nhất định, máy
tính này đƣợc gọi là Proxy Server. Chỉ duy nhất máy Proxy này cần modem và
account truy cập internet, các máy client (các máy trực thuộc) muốn truy cập
internet qua máy này chỉ cần nối mạng LAN tới máy Proxy và truy cập địa chỉ
yêu cầu. Những yêu cầu của ngƣời sử dụng sẽ qua trung gian Proxy Server thay
thế cho Server thật sự mà ngƣời sử dụng cần giao tiếp, tại điểm trung gian này
18


Nhóm 3: Giao thức khởi tạo phiên SIP
công ty kiểm soát đƣợc mọi giao tiếp từ trong công ty ra ngoài internet và từ
internet vào máy của công ty. Sử dụng Proxy, công ty có thể cấm nhân viên truy
cập những địa chỉ web không cho phép, cải thiện tốc độ truy cập nhờ sự lƣu trữ
cục bộ các trang web trong bộ nhớ của Proxy Server và giấu định danh địa chỉ
của mạng nội bộ gây khó khăn cho việc thâm nhập từ bên ngoài vào các máy
của công ty.
Đối với các nhà cung cấp dịch vụ đƣờng truyền internet: Do internet có
nhiều lƣợng thông tin mà theo quan điểm của từng quốc gia, từng chủng tộc hay
địa phƣơng mà các nhà cung cấp dịch vụ internet khu vực đó sẽ phối hợp sử
dụng Proxy với kỹ thuật tƣờng lửa để tạo ra một bộ lọc gọi là firewall Proxy
nhằm ngăn chặn các thông tin độc hại hoặc trái thuần phong mỹ tục đối với quốc
gia, chủng tộc hay địa phƣơng đó. Địa chỉ các website mà khách hàng yêu cầu
truy cập sẽ đƣợc lọc tại bộ lọc này, nếu địa chỉ không bị cấm thì yêu cầu của
khách hàng tiếp tục đƣợc gửi đi đến các DNS Server của các nhà cung cấp dịch
vụ. Firewall Proxy sẽ lọc tất cả các thông tin từ internet gửi vào máy của khách
hàng và ngƣợc lại.
Chức năng của Proxy Server trong SIP
Tƣơng tự nhƣ chức năng của Proxy Server trong Internet, Proxy Server
trong SIP là một thực thể trung gian, vai trò chính của Proxy là định tuyến,
nghĩa là bảo đảm một request sẽ đƣợc gửi đến ngƣời dùng.
Proxy Server thực hiện các hoạt động nhƣ xác định tính hợp lệ của bản
tin, xác thực ngƣời sử dụng, phân nhánh các bản tin yêu cầu, phân giải địa chỉ,
hủy bỏ các cuộc gọi đang chờ. Tất cả các yêu cầu đƣợc xử lý tại chỗ bởi Proxy
Server (nếu có thể) hoặc nó đƣợc chuyển đến cho các Server khác.
Một Proxy Server quyết định định tuyến và thay đổi các bản tin yêu cầu
trƣớc khi chuyển đến một Server khác hoặc một UA.Trong trƣờng hợp này,
trƣờng “Via” trong bản tin yêu cầu và bản tin đáp ứng sẽ chỉ ra các Proxy Server
trung gian tham gia vào quá trình xử lí.
Có nhiều loại Proxy khác nhau trong SIP, nhƣng 2 loại Proxy thƣờng
đƣợc nhắc đến là: outbound Proxy và inbound Proxy.
 Outbound Proxy: Outbound Proxy giúp đỡ UAC để định tuyến các
request đi ra từ UAC. UAC thƣờng đƣợc cấu hình truyền các request
của nó đến một outbound Proxy.
19


Nhóm 3: Giao thức khởi tạo phiên SIP
 Inbound Proxy: định tuyến các request đi ra từ Inbound Proxy, sẽ trực
tiếp đến UAS. Khi Inbound Proxy nhận một request yêu cầu gửi đến 1
User, đầu tiên inbound Proxy sẽ truy cập Location Service để xác định
contact address của User, sau đó mới gửi trực tiếp đến User.

Hình 2.4 Quá trình yêu cầu đi qua Proxy Server
V.

Redirect Server

Là Server nhận yêu cầu SIP và chuyển đổi địa chỉ SIP sang một số địa chỉ
khác và gửi lại cho đầu cuối. Không giống nhƣ máy chủ ủy quyền, máy chủ
chuyển đổi địa chỉ không bao giờ hoạt động nhƣ một đầu cuối, tức là không gửi
đi bất cứ yêu cầu nào.
Máy chủ chuyển đổi địa chỉ cũng không nhận hoặc huỷ cuộc gọi. Là thực
thể mà nhận yêu cầu và gửi trả lại câu trả lời với 1 danh sách vị trí hiện tại của
một User đặc biệt đƣợc gọi là Redirect Server. Một Redirect Server nhận yêu
cầu và tìm kiếm ngƣời nhận trong vùng cơ sở dữ liệu, sau đó nó tạo ra một danh
sách các vị trí hiện thời của User và gửi chúng tới ngƣời tạo yêu cầu. Ngƣời tạo
yêu cầu sau đó trích một danh sách các đích và gửi các yêu cầu khác một cách
trực tiếp đến chúng.

20


Nhóm 3: Giao thức khởi tạo phiên SIP

Hình 2.5 Redirect Server

21


Nhóm 3: Giao thức khởi tạo phiên SIP
CHƢƠNG III: BẢN TIN SIP (SIP MESSENGER)
I.

Phân loại bản tin

Có hai loại bản tin chính là bản tin yêu cầu (Request) và bản tin đáp ứng
(Response).
 Request: Gửi từ client tới Server
 Response: Gửi từ Server tới client
1. SIP Requests
Có 6 loại SIP Request thông dụng: REGISTER, INVITE, ACK,
CANCEL, BYE, OPTIONS nhƣ trong bảng 3.1.1.
Bảng 3.1.1 Bảng phân loại các bản tin yêu cầu
Bản tin

Ý nghĩa

INVITE

Khởi tạo một phiên (bắt đầu thiết lập cuộc gọi bằng cách
gửi bản tin mời đầu cuối khác tham gia)

ACK

Thông báo máy trạm đã nhận đƣợc bản tin INVITE

BYE

Yêu cầu kết thúc phiên

CANCEL

Hủy yêu cầu nằm trong hàng đợi (quá trình tìm kiếm và
rung chuông)

REGISTER

Đăng kí danh sách địa chỉ liên hệ của ngƣời dùng với máy
chủ đăng kí

OPTIONS

Sử dụng để xác định khả năng của máy chủ

2. SIP Responses
Sau khi nhận và thông dịch một bản tin yêu cầu, phía nhận thực hiện trả
lời bằng một bản tin đáp ứng.
Một response là 1 status code (mã trạng thái) có 3 chữ số. Số đầu tiên
định nghĩa loại response, 2 số còn lại đƣợc gọi chung là final response. Bản tin
SIP/2.0 phân thành 6 loại đáp ứng nhƣ bảng 3.1.2.

22


Nhóm 3: Giao thức khởi tạo phiên SIP

Bảng 3.1.2 Bảng tổng hợp các loại bản tin đáp ứng
Bản tin

Ý nghĩa

1xx: Information

Các bản tin chung (tìm kiếm, báo hiệu, sắp hàng đợi)

2xx: Success

Thành công

3xx: Redirect

Định hƣớng lại cuộc gọi, chuyển tiếp

4xx: Client-Error

Yêu cầu không đƣợc đáp ứng (lỗi client)

5xx: Server-Error

Sự cố máy chủ

6xx: Global-Failure Sự cố chung (đƣờng dây đang bận, từ chối,…)

Không giống nhƣ HTTP, trong SIP, 1 request có nhiều response. Bất kỳ
request nào cũng phải có ít nhất 1 bản tin đáp ứng cuối cùng (final repsonse) và
có thể có nhiều bản tin đáp ứng trung gian (provisional responses).

Hình 3.1.2 SIP Response
3. Địa chỉ SIP (SIP Address)
Trong SIP, mỗi ngƣời dùng đều có 1 SIP URI tƣơng ứng, đó đƣợc gọi là
địa chỉ của SIP.
Có dạng nhƣ sau:
sip:username:password@host:port
Trong đó:
 Mỗi địa chỉ SIP URI, đầu tiên bắt buộc phải có bổ ngữ sip.
23


Nhóm 3: Giao thức khởi tạo phiên SIP
 Phần ngƣời dùng (không bắt buộc) gồm có: Username và password.
Phần ngƣời sử dụng có thể là Username hoặc số điện thoại.
 Phần host (bắt buộc) phải khai báo để có thể trao đổi media session.
Phần host có thể là một tên miền (domain) hay một địa chỉ IP.
Ví dụ:
sip:User:password@host:port

sip:huy:123456@hckt.vn:5055

sip:@host

sip:@laboetie.alcatel.fr

sip:User@host

sip:huytran@10.170.22.1

sip:phone_number@gateway

sip:+33140761025@paris.net2phone.com

sip:User@host

sip:bob@example.com

II.

Cấu trúc bản tin

Bản tin SIP đƣợc mã hóa dƣới dạng văn bản sử dụng bộ kí tự UTF-8. Cú
pháp của SIP gần giống với giao thức HTTP. Có nghĩa là thông tin đƣợc trao đổi
bên trong giao thức đƣợc mã hóa dƣới dạng chuỗi hay ký tự. SIP Messages đƣợc
chia thành nhiều dòng ký tự riêng biệt đƣợc gọi là Line. Mỗi Line là 1 chuỗi các
ký tự nối liền nhau và ngăn cách với Line khác bởi một ký tự xuống dòng
(CRLF).

Hình 3.2 Khuôn dạng bản tin SIP
24


Nhóm 3: Giao thức khởi tạo phiên SIP
Có hai loại bản tin chính là bản tin yêu cầu (Request) và bản tin đáp ứng
(Response). Cả hai loại đều có 1 Start line, 1 hay nhiều Header fields (trƣờng
tiêu đề), một Empty line chỉ ra kết thúc của Header fields, và 1 Message
body (nếu có).
Star line: Các bản tin phân biệt với nhau dựa vào dòng bắt đầu. Mỗi bản
tin SIP đƣợc bắt đầu với một Start Line, Start Line vận chuyển loại bản tin
(phƣơng thức trong các bản tin yêu cầu, mã đáp ứng trong các bản tin đáp ứng)
và phiên bản của giao thức. Start line có thể là Request-Line (trong các Request)
hoặc là Status-Line (trong các Response).
Header fields: bao gồm field name và field value, ngăn cách nhau bởi
dấu 2 chấm và kết thúc bằng ký tự xuống dòng.
Message body: Thân bản tin không bắt buộc phải có đƣợc sử dụng để mô
tả phiên đƣợc khởi tạo (ví dụ: Trong một phiên multimedia phần này sẽ mang
loại mã hóa audio và video, tốc độ lấy mẫu …), hoặc nó có thể đƣợc sử dụng để
mang dữ liệu dƣới dạng text hoặc nhị phân (không đƣợc dịch) mà liên quan đến
phiên đó. Phần thân bản tin có thể xuất hiện trong cả bản tin yêu cầu và đáp ứng.
Chúng đƣợc sử dụng để chứa một vài loại thông tin khác nhƣ thông tin SDP.
III.

Star line
1. Trong SIP requests

Các bản tin yêu cầu có Start line là Request-Line. Dòng này gồm ba thành
phần:
 Bắt đầu bằng tên chỉ thị (Method) dùng để phân biệt các bản tin yêu
cầu. Có 6 loại SIP Request thông dụng: REGISTER, INVITE, ACK,
CANCEL, BYE, OPTIONS nhƣ trong bảng 3.1.1.
 Tiếp theo là Request-URI địa chỉ nơi gửi bản tin yêu cầu có khuôn
dạng nhƣ SIP URI.
 Cuối cùng là SIP/Version phiên bản giao thức SIP đƣợc sủ dụng.
Các thành phần đƣợc ngăn cách bằng một kí tự trống (SP: Space). Cũng
nhƣ các dòng khác dòng bắt đầu đƣợc kết thúc bằng một kí tự xuống dòng
(CRLF).
Cấu trúc:

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×