HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA ĐIỆN TỬ - VIỄN THÔNG
----- -----
BÀI TIỂU LUẬN
MÔN HỌC: BÁO HIỆU VÀ ĐIỀU KHIỂN KẾT NỐI
NHĨM LỚP 01
Giảng viên : Hồng Trọng Minh
SINH VIÊN NHĨM TIỂU LUẬN 11
MÃ SV
TƠ VĂN THÌN
B18DCVT415
TƠ VĂN HÒA
B18DCVT168
HÀ QUỐC VIỆT
B18DCVT438
NGUYỄN MẠNH DIỄN
B18DCVT054
1
TỔNG QUAN TIỂU LUẬN
Trong nội dung bài Tiểu luận này, nhóm làm đề tài xin trình bày theo bố
cục gồm 3 phần chính
PHẦN A: GIỚI THIỆU VỀ SIP
Giúp người đọc có được khái niệm về giao thức Sip và quá trình phát triển
của nó
PHẦN B: KIẾN TRÚC VÀ CHỨC NĂNG CỦA SIP
Nắm được các kiến thức cơ bản về các loại bản tin,cấu trúc bản tin và
chức năng của Sip.
PHẦN C: HOẠT ĐỘNG CỦA GIAO THỨC SIP
Đưa ra được 1 số hoạt dộng cơ bản của giao thức SIP.Tìm hiểu về một số
giao thức hoạt động song hành cùng với gia thức Sip
2
Mục Lục
Tổng quan tiểu luận :...................................................................
Mục lục:.........................................................................................
A.GIỚI THIỆU GIAO THỨC SIP..............................................5
1.Quá trình hình thành và phát triển.......................................5
2.Tổng quan về SIP................................................................5
3. Các khía cạnh mà SIP hỗ trợ trong việc thiết lập và kết thúc các
truyền thông đa phương tiện.............................................................6
B.KIẾN TRÚC VÀ CHỨC NĂNG CỦA SIP...............................7
I.Các Thành phần mạng báo hiệu của SIP...............................7
II.Bản tin SIP...........................................................................9
1.Các bản tin SIP mào đầu và đánh số............................9
2.Khuôn dạng thông điệp...............................................11
2.1 SIP response....................................................11
2.2 SIP request......................................................15
3.Phương thức SIP ……………………………………..15
3.1 Các trường header...........................................16
3.2 Message body..................................................16
III.Cấu trúc bản tin SIP ...........................................................16
IV.Kiến trúc chức năng SIP.....................................................19
C.HOẠT ĐỘNG CỦA GIAO THỨC SIP.....................................21
I. Thủ tục thơng tin SIP............................................................21
1.Q trình định vị máy chủ SIP.....................................21
2.Giao dịch SIP...............................................................22
3.Lời mời SIP .................................................................22
3
4.Định vị người dùng....................................................23
5.Thay đổi 1 phiên hiện tại...........................................23
II. Một số giao thức mà SIP có thể hoạt động cùng..............23
1.Giao thức SDP...........................................................23
2.Giao thức RSVP........................................................25
3.RTSP (Real time streaming protocol).......................25
4.RTP(Real time tranpsport protocol)..........................25
4
A.GIỚI THIỆU VỀ SIP
1.Quá trình hình thành và phát triển.
Đầu tiên SIP chỉ đơn thuần là một giao thức dùng để thiết lập phiên quảng bá
cho Internet2 ( từ giữa đến cuối thập kỉ 90 ) . 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. 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 hồn tồn có thể
sử dụng với các hệ thống theo RFC 3261.
Một bản tin SIP có hai phần, phần mào đầu và phần thân. Phần thân cho phép
phục vụ các ứng dụng khác nhau một cách linh hoạt. Ban đầu phần thân chỉ dùng để
chuyển tải các tham số miêu tả phiên SDP như codec, địa chỉ IP đầu cuối, ... Phần
thân được sử dụng để mở rộng các ứng dụng của khác nhau của SIP ví dụ như SIP-T
cho liên vận PSTN-SIP-PSTN hoặc MSCML (Media Server Control Markup
Language) cho dịch vụ hội nghị.
Sự phổ cập của SIP đã dẫn tới việc một loạt nhóm làm việc liên quan đến SIP
được thành lập. Nhóm SIPPING (Session Initiation Protocol investigation working
group) được thành lập với mục đích nghiên cứu các ứng dụng và phát triển các yêu
cầu mở rộng cho SIP. Nhóm SIMPLE (SIP for Instant Messaging and Presence
Leveraging Extensions) có nhiệm vụ chuẩn hố các giao thức cho các ứng dụng nhắn
tin tức thời. Các nhóm làm việc khác là PINT (PSTN and Internet,internet working),
SPIRITS (PSTN/IN requesting Internet Services).
2.Tổng quan về SIP
Theo định nghĩa của IETF, “Giao thức khởi tạo phiên” SIP (Session Initiation
Protocol) 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
dựa trên ý tƣởng và cấu trúc của HTTP (HyperText Transfer Protocol) là giao thức
trao đổi thông tin của World Wide Web. SIP được định nghĩa như một giao thức
chủ/tớ (Client/Server), trong đó các yêu cầu được chủ gọi (Client) đưa ra và bên bị
gọi (Server) trả lời. SIP sử dụng một số kiểu bản tin và các trường mào đầu của
HTTP, xác định nội dung luồng thông tin theo mào đầu thực thể (mô tả nội dung kiểu loại) và cho phép xác nhận các phương pháp sử dụng giống nhau được sử dụng
trên Web
Các phiên truyền thông mà có giao thức SIP thiết lập bao gồm :
+ Hội họp đa phương tiện qua internet .
+ Các cuộc gọi điện thoại qua internet .
+ Các phiên video qua internet
5
SIP sử dụng các bản tin mời ( INVITE ) để thiết lập các phiên và để mang các thông tin
mô tả phiên truyền dẫn. SIP hỗ trợ các phiên đơn bá ( unicast ) và quảng bá ( multicast )
tương ứng các cuộc gọi điểm tới điểm và cuộc gọi đa điểm. SIP định nghĩa các bản tin
INVITE và ACK giống như bản tin Setup và Connect trong H.225, trong đó cả hai đều
định nghĩa q trình mở một kênh đáng tin cậy mà thơng qua đó cuộc gọi có thể đi qua.
Tuy nhiên khác với H.225, độ tin cậy của kênh này không phụ thuộc vào TCP mà có thể
tích hợp vào lớp ứng dụng nhằm nâng cao khả năng tối ưu hóa.
Các phần tử của SIP có thể liên lạc thơng qua :
+ Liên lạc cá nhân .
+ Phát quảng bá .
+Thông qua tổ hợp của các quan hệ liên lạc cá nhân hoặc một tổ hợp
của tất cả những phương tiên trên .
Trong các môi trường IPv4 và IPv6 thông qua :
+ UDP
+ TCP
+ SCTP hoặc TLS trên nền TCP
3. Các khía cạnh mà SIP hỗ trợ trong việc thiết lập và kết thúc các truyền
thông đa phương tiện.
SIP là một giao thức điều khiển lớp ứng dụng mà 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.SIP hỗ trợ 5 khía cạnh:
Đị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.( xác định vị trí địa lí và vị trí của người dùng trong hệ thống
mạ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.(ví dụ : đường truyền ta chọn là đường
truyền vô tuyến và xác định các bộ tham số liên quan đến đường truyền đó để
có được sự đồng nhất tham số).
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.(hệ thống luôn kiểm tra trạng thái người
dùng tắt hay bật để chờ đợi trước)
6
Thiết lập cuộc gọi (Call setup): 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.(do năng lực của đầu cuối có thể khác
nhau nên cần thiết lập thơng số trước – có thỏa thuận).
Xử lý cuộc gọi (Call handling): bao gồm truyền tải và kết thúc cuộc gọi.
B.KIẾN TRÚC VÀ CHỨC NĂNG CỦA SIP
I. Các Thành phần mạng báo hiệu của SIP
Các thành phần chính của một hệ thống SIP bao gồm các thành phần sau: Đầu cuối SIP
(UAC/UAS); Proxy server; Location server; Redirect server; Registrar server.
User Agent : gửi và nhận các yêu cầu và trả lời của SIP , nó là điểm cuối của
luồng đa phương tiện và nó ln là Người dùng Equiment ( UE ) – bao gồm ứng
dụng trong thiết bị đầu cuối hoặc ứng dụng phần cứng chuyên dụng . UA gồm hai
phần :
+ Người dùng Agent Client ( UAC ) : ứng dụng của người gọi –
tạo request .
khởi
+ Người dùng Agent Server ( UAS ) : chấp nhận , gửi lại , từ chối request và
gửi trả lời cho request đến thay mặt cho người sử dụng .
7
+ User Agent là thực thể SIP mà tương tác với với người sử dụng . Nó
thường xuyên sử dụng giao diện với người sử dụng.
Các thành phần còn lại có thể gọi là SIP server :
Proxy Server : là phần mềm trung gian hoạt động cả như Server và cả như
Client để thực hiện các yêu cầu thay thế cho các đầu cuối khác. 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ó chuyển đến cho các máy
chủ khác. Trong trường hợp Proxy Server không trực tiếp đáp ứng các yêu cầu này
thì Proxy Server sẽ thực hiện khâu chuyển đổi hoặc dịch sang khn dạng thích
hợp trước khi chuyển đi. Chuẩn về SIP cho phép các Proxy thực hiện các hoạt
động chẳng hạn 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 request, phân giải địa chỉ, hủy bỏ các cuộc gọi đang chờ. Sự linh hoạt
của các proxy SIP cho phép các nhà khai thác và quản trị mạng sử dụng các proxy
cho các mục đích khác nhau và trong các vị trí khác nhau trong mạng (chẳng hạn
như Proxy biên, Proxy lõi, và Proxy của các doanh nghiệp).
+
Forking proxy: SIP proxy server định tuyến thơng điệp đến nhiều hơn một
đích được gọi là proxy phân nhánh. Forking Proxy có thể định tuyến thơng điệp
song song hoặc theo thứ tự. Ví dụ của Forking Proxy song song là việc báo hiệu
đồng thời của tất cả các điện thoại trong nhà. Forking Proxy theo thứ tự chứa proxy
thử báo hiệu lần lượt các vị trí khác nhau, có thể rung chng trong một chu kỳ
thời gian nhất định nếu người dùng không nhấc máy thì thử User Agent mới.
8
Redirect Server: là phần mềm 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 những địa chỉ này cho đầu cuối.
( Truy nhập dữ liệu và dịch vụ định vị để tìm địa chỉ của user và gửi trả về bản tin
lớp 300 để thông báo thiết bị chuyển hướng bản tin tới địa chỉ khác – tự liên lạc
thông qua địa chỉ trả về)
+ Không bao giờ hoạt động như một đầu cuối.( không gửi đi bất cứ một yêu cầu
nào).
+ Không thực hiện việc chấp nhận hay huỷ cuộc gọi.
Location Sever: 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 các phần mềm Proxy Server và Redirect Server.
Registrar Sever: là sever nhận bản tin SIP REGISTER yêu cầu và cập nhật
thông tin từ bản tin request vào “ location database “ nằm trong Location Sever
.
+ 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.
+ Cung cấp dịch vụ định vị thuê bao.
+
Mỗi lần đầu cuối được bật lên (thí dụ máy điện thoại hoặc phần mềm
SIP) thì đầu cuối lại đăng ký với 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ỳ.
II. Bản tin Sip
1.Các bản tin SIP mào đầu và đánh số :
Dưới đây là các bản tin của SIP :
9
INVITE : 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 : bản tin này khẳng định máy trạm đã nhận được bản tin trả lời bản tin INVITE
BYE : bắt đầu kết thúc cuộc gọi
CANCEL : hủy yêu cầu nằm trong hàng đợi
REGISTER : đầu cuối SIP sử dụng bản tin này để đăng ký với máy chủ đăng ký
OPTION : sử dụng để xác định năng lực của máy chủ
INFO : sử dụng để tải các thông tin như âm báo DTMF
Những bản tin trao đổi giữa A và B để thiết lập một phiên :
10
2. Khuôn dạng thông điệp:
Thông điệp SIP gồm 3 phần: start line, header của thông điệp và body.
Client gửi yêu cầu (request) và server trả lời bằng response. Giao dịch SIP bao gồm
yêu cầu từ client, 0 hoặc nhiều provisional response và final response từ server.
2.1SIP response
Status line là dòng bắt đầu của response.
Các bản tin đáp ứng được chia thành thành hai nhóm bao gồm 6 loại bản tin, mỗi bản
dùng một mã trạng thái nằm trong một dải mã.
Khuôn dạng thông điệp SIP
SIP version
Status code
Reason Phrase
Cấu trúc Response Line
SIP response
11
Provisional (1xx): Bản tin này dùng để chỉ thị tiến trình nhưng khơng kết thúc
giao dịch SIP (tìm kiếm, rung chuông, xếp hàng).
Final (2xx, 3xx, 4xx, 5xx, 6xx): Bản tin này chỉ thị kết thúc giao dịch SIP.
1xx: Provisional – đã nhận yêu cầu và đang tiếp tục xử lý u cầu. Tìm kiếm,
rung chng, xếp hàng đợi, nó được phát khi quá trình xử lý chưa thể kế t thúc ngay
được. Phía phát cầ n phải dừng quá trình truyề n các yêu cầ u khi nhâ ̣n đươ ̣c bản tin này.
2xx: Success – Các yầu đã được xử lý thành công (nhận, hiểu và đã được tiếp
nhận).
3xx: Redirection – Cần tiến hành thêm các hoạt động để có thể đáp ứng được các
yêu cầu. Chúng đươ ̣c gửi bởi các Redirect Server.
4xx: Client Error – Lỗi do phía Client, các u cầu sai cú pháp hoặc khơng đáp
ứng đúng yêu cầu của Server.
5xx: Server Error – Lỗi phía Server, server bị sự cố và khơng đáp ứng được các
yêu cầu hợp lệ.
6xx: Global Failure – Lỗi tổng thể, các yêu cầu không thể được đáp ứng tại bất kỳ
server nào.
cụ thể :
1xx: Phản hồi thông tin :
100: đang thử : máy đựợc gọi đã tiếp nhận được yêu cầu bên gọi và gửi bản tin
này mang tính chất phản hồi để thử
180: đổ chuông : Máy được gọi đổ chuông, và gửi bản tin chuông về cho bên
gọi.
181: cuộc gọi đang chuyển hướng: May được gọi lập trình chuyển hướng đến
một máy khác trong khi nó đang bận hoặc không xử lý cuộc gọi của bên gọi.
182 : đang xếp hàng đợi : chờ đợi vì có nhiều yêu cầu đến cùng lúc
12
183: Phiên đang tiến hành: Có phiên cuộc gọi khác đang đựơc tiến hành với máy
đựợc gọi
2xx: Phản hồi thành công
200 OK phản hồi thành công : được dùng khi bên được yêu cầu trả lời thành công
yêu cầu của bên yêu cầu.
3xx: Phản hồi chuyền hướng
300: có nhiều lựa chọn
301: đã dời đi vĩnh viễn
302: tạm thời dời đi 305:
dùng proxy
380: dịch vụ thay thế
4xx: Yêu câu thất bại
400: yêu cầu sai
401: không được quyền: chỉ dùng với cơ quan đăng kiểm , các proxy phải dùng
yêu cầu cấp phép cho proxy 407
402: yêu cầu trả tiền :Dự trữ để phịng trong tương lai
403: cấm
404: Khơng tìm thấy người dùng:"Th bao q khách vừa gọi Khơng có, xin vui
lịng thứ lại"
405: Phương thức không được phép
406: Không được chấp nhận
13
407: cần có sự cấp phép cho proxy
408: yêu cầu bị hết giờ : Khơng tìm thấy người dùng trong thời gian cho
phép
410: đã khơng cịn , người dùng đã từng tồn tại nhưng bây giờ khơng cịn
được sử dụng nữa:"Thuê bao quý khách vừa gọi hiện đang tạm khóa, mong quý khách
vui lòng gọi lại sau"
413: Đơn vị yêu cầu quá lớn: "cuộc gọi không thể thực hiện được"
414: URI của yêu cầu quá tải :"mạng quá tải"
415: kiểu phương tiện khơng được hỗ trợ: ví dụ : tin nhắn đa phương tiện không
thể gửi đến và nhận từ một số máy di động không hỗ trơn GPRS
416: giản đồ URI không được hỗ trợ
420: phần mở rộng không đúng: Sử dụng phần mở rộng của giao thức SIP khơng
đúng nên máy chủ khơng hiểu được
421: u cầu có phần mở rộng
423: Quãng quá ngắn
480: tạm thời không hoạt động
481: cuộc gọi/giao dịch không tồn tại
482: phát hiện thấy lặp
483: q nhiều chặng trung tuyến
484:địa chỉ khơng hồn chỉnh 485:
tối nghĩa
486: đang bận
487: yêu cầu bị chấm dứt
488: Không được chấp nhận tại đây
14
491: yêu cầu đang chờ
493: không thể giải mã được : Không thể giải mã phần thân của S/MIME
5xx: Lỗi máy chủ
500: lỗi bên trong máy chủ
501: chưa khai báo: Phương thức yêu cầu SIP này chưa đựơc khai báo ở đây
502: gateway sai
503: dịch vụ khơng có
505: phiên bản không được hỗ trợ: Máy chủ không hỗ trợ giao thức SIP này
513: thơng điệp q lớn
6xx: Thất bại tồn cục 600: tất
cả mọi nơi đều bận 603: từ
chối
604: không tồn tại ở bất cứ đâu
606: Không được chấp nhận
2.2SIP request
Request line là dòng đầu tiên của request. Tên giao thức chỉ ra mục đích của request
và request-URI chứa đích của request.
3.Các phương thức SIP
Các phương thức SIP có thể xem như là các kiểu thông điệp. Chúng xác định yêu cầu
đang được tạo bởi thiết bị của người dùng (hoặc thực thể mạng trong một số trường
hợp).
Các phương thức SIP cơ bản hiện tại được định nghĩa để sử dụng trong IMS: ACK,
BYE, CANCEL, INVITE, REGISTER, UPDATE..
15
3.1Các trường header
- Khuôn dạng của các trường header:
- Tên của trường header: giá trị của trường header
- Có các trường header bắt buộc và tùy chọn trong mỗi thông điệp.
-Có 6 trường header có tính bắt buộc trong mỗi SIP thông điệp: To, From,
Cseq, Call-ID, Max- Forward, Via.
3.2 Message Body
Message Body được tách khỏi trường header bởi dịng trống.
Thơng điệp SIP có thể mang bất kỳ kiểu nào của body, kể cả body nhiều phần sử
dụng mã hóa MIME (Multipurpose Internet Mail Extension ).
SIP sử dụng MIME để mã hóa body của nó. Do đó, body của SIP được mơ tả
giống như phần đính kèm vào email.
Đặc tính quan trọng của body là chúng truyền từ đầu cuối đến đầu cuối. Proxy
khơng cần phân tích cú pháp của thơng điệp body để định tuyến thơng điệp. Thực tế,
UA có thể lựa chọn để mã hóa nội dung của thơng điệp body end to end. Trong
trường hợp này, proxy sẽ không thể biết kiểu phiên nào đang được thiết lập giữa hai
UA
III. Cấu trúc bản tin SIP
Cả hai loại bản tin trên đều sử dụng chung một định dạng cơ bản được quy định trong
RFC 2822 với cấu trúc gồm một dòng khởi đầu (start – line), một số trường tiêu đề
16
và một phần thân bản tin tuỳ chọn
- Dòng bắt đầu, các dòng tiêu đề hay các dòng trắng phải được kết thúc bằng một ký
tự xuống dòng (CRLF)
- Dòng trắng vẫn phải có để ngăn cách phần tiêu đề và phần thân của bản tin ngay cả
khi phần thân bản tin là rỗng.
Start line: 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 Request, và 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 yêu cầu) hoặc là Status-Line (trong các
đáp ứng).
Headers: Các trường Hearder của SIP được sử dụng để vận chuyển các thuộc tính
của bản tin và để thay đổi ý nghĩa của bản tin. Chúng tương tự như các trường tiêu 63
để của bản tin HTTP theo cả cú pháp và ngữ nghĩa.
Tiêu đề bản tin bao gồm bốn loại:
17
- tiêu đề chung,
- tiêu đề yêu cầu,
- tiêu đề đáp ứng
- tiêu để thực thể.
Body:
-Thân bản tin được sử dụng để mơ tả phiên được khởi tạo
- 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. Các loại
Body bao gồm:
+ giao thức mô tả phiên SDP,
+ mở rộng thư điện tử internet đa mục đích MIME (Multipurpose Internet Mail
Extentions)
+ Các phần định nghĩa trong IETF.
-SDP là một giao thức lớp ứng dụng được IETF thiết kế để mô tả các phiên đa
phương tiện và là giao thức dựa trên văn bản.
=> thông thường SDP được chứa trong phần tải tin của các giao thức khác. Chẳng
hạn phần tải tin trong bản tin INVITE có thể chứa SDP nếu có chỉ thị về nó trong tiêu
đề content-type và content-application.
Một bản tin SDP bao gồm các mức thông tin sau:
- Mô tả mức phiên. Mức này bao gồm nhận dạng phiên và các thông số mức
18
phiên khác như địa chỉ IP, chủ đề, thông tin giao tiếp về bộ tạo và/hay phiên.
- Mô tả mức định thời. Thời gian bắt đầu và kết thúc, thời gian lặp lại, một hay
nhiều mô tả mức phương tiện.
- Khuôn dạng và loại phương tiện. Giao thức truyền tải và số cổng, các thông số
mức phương tiện khác.
IV.Kiến trúc chức năng của SIP
SIP là một giao thức phân lớp cho phép nhiều module khác nhau thực hiện
chức năng độc lập với sự kết nối lỏng giữa mỗi lớp. Cấu trúc của SIP trong quá
trình gửi yêu cầu và nhận đáp ứng được phân lớp như hình dưới.
Các lớp giao thức SIP
Lớp đầu tiên trong giao thức là lớp cú pháp và mã hóa. Lớp này sử dụng văn
phạm ABNF (Augmented Backus-Naur Form) để đưa ra các nguyên tắc mã hóa và 61
khn dạng cú pháp cho bản tin SIP. Khuôn dạng này đƣợc mô tả chi tiết trong
RFC2234.
Lớp thứ hai trong cấu trúc SIP là lớp truyền tải. Đây là lớp chỉ thị cho client gửi
yêu cầu và nhận các đáp ứng và server nhận yêu cầu và gửi các đáp ứng nhƣ thế nào.
Lớp truyền tải gần giống với lớp socket của một thực thể SIP.
Lớp thứ ba trong cấu trúc SIP là lớp giao dịch. Một giao dịch trong các thuật
ngữ SIP là một yêu cầu được gửi bởi một client tới một server, cùng với tất cả các đáp
ứng cho yêu cầu đó được gửi từ server về client. Lớp giao dịch xử lý việc tương thích
đáp ứng cho yêu cầu. Thời gian hết hạn của quá trình phát lại và giao dịch của lớp ứng
dụng cũng đƣợc xử lý trong lớp này và phụ thuộc vào giao thức truyền tải được sử
dụng. Các giao dịch sử dụng lớp truyền tải để gửi và nhận yêu cầu và đáp ứng.
19
Lớp thứ tư là lớp giao dịch chứa bốn cơ chế trạng thái giao dịch. Mỗi cơ chế
trạng thái giao dịch có các tham số định thời, nguyên tắc phát lại và nguyên tắc kết
cuối riêng biệt
Chức năng của SIP
Thiết lập, sửa đổi và kết thúc phiên
SIP độc lập với kiểu của phiên đa phương tiện được điều khiển và kỹ thuật sử
dụng để mơ tả phiên. Nó rất hữu ích cho hội nghị, cuộc gọi audio, whiteboard được
chia sẻ và các phiên chơi game. Các phiên bao gồm các luồng RTP (Real Time
Protocol) mang audio và video thường xun được mơ tả bằng SDP, nhưng có một vài
kiểu phiên khác có thể được mơ tả với các giao thức mô tả khác. SIP được sử dụng để
phân phối mô tả phiên giữa các bên tham gia tiềm năng. Khi mơ tả phiên được phân
phối, SIP có thể sử dụng để thỏa thuận và sửa các tham số của phiên và kết thúc phiên.
Ví dụ sau đây mô tả tất cả các chức năng này. B muốn có một phiên audiovideo với A và dự định dùng codec PCM (Pulse Code Modulation) để mã hóa voice.
Trong ví dụ này, bên phân phối phiên bao gồm B gửi cho A mơ tả phiên với codec
PCM. A thích sử dụng codec ADPCM vì nó tốn ít băng thơng hơn, do đó A thuyết
phục B sử dụng ADPCM. Cuối cùng cả hai sử dụng codec ADPCM, nhưng phiên
không thể được thiết lập cho đến khi việc thỏa thuận này kết thúc.
Đột nhiên, ở giữa phiên audio-video, A quyết định muốn bỏ thành phần video. A sửa phiên
chỉ có audio. Khi B quyết định cuộc hội thoại đã kết thúc, phiên được kết thúc.
Tính di động của người sử dụng
SIP không thể phân phối mô tả phiên cho các bên tham gia cho đến khi họ được
định vị. Người dùng có thể thường xuyên được liên lạc tại vài vị trí. Khi đó, họ có vài
địa chỉ IP khác nhau phụ thuộc vào máy mà họ sử dụng và muốn nhận phiên đến chỉ
tại vị trí hiện tại của họ.
Ví dụ, người khác có thể muốn nhận phiên mời trên máy trạm của họ vào buổi
sáng khi người sử dụng đến nơi làm việc, trên máy tính tại nhà vào buổi tối và trên
điện thoại cầm tay khi họ đi du lịch.
SIP URI: người sử dụng trong môi trường SIP được định nghĩa bởi SIP Uniform
Resource Identity (URI). Khuôn dạng của SIP URI tương tự như địa chỉ email, bao
gồm username và domain name: sip:
Trong ví dụ trước, nếu chúng ta tra cứu SIP server (điều khiển domain
company.com) chúng ta sẽ tìm thấy người sử dụng có username là B. URI của B có
thể là SIP:, chỉ ra rằng host có địa chỉ IP là 131.160.1.112 có
username là B.
Registration (đăng ký): chú ý rằng, người sử dụng đăng ký vị trí hiện tại của họ
cho server nếu họ muốn được tìm thấy. Trong ví dụ trên, B đang làm việc trên laptop
của mình có địa chỉ IP là 131.160.1.112. Tên login là B. B đăng ký vị trí hiện tại của
20
mình với server của cơng ty. Bây giờ A muốn gọi B. A muốn có địa chỉ SIP Public của
B sip: ) vì nó được in trong business card của B.
Vì vậy, khi server tại thanglong.com được liên hệ và hỏi về B, nó biết nơi mà B
có thể liên lạc và kết nối được tạo.
C.hoạt động của giao thức SIP
I.Thủ tục trao đổi thông tin SIP
Trong một cuộc hội thoại SIP, mỗi bên tham gia đƣợc gắn một địa chỉ SIP (SIP
URL), địa chỉ này do người dùng đăng ký với SIP Server .Một địa chỉ SIP có dạng
user@host. Phần user là một tên của người sử dụng hay tên của một máy điện thoại
.Phần host có thể là một tên miền hoặc một địa chỉ mạng. SIP URL được dùng trong
các bản tin SIP để thông báo về nơi gửi (From), đích hiện thời (Request URI)và nơi
nhận cuối cùng (To) của một yêu cầu SIP và chỉ rõ địa chỉ gián tiếp
a.Quá trình định vị tới máy chủ SIP
Khi một Client muốn gửi đi một yêu cầu, Client sẽ gửi bản tin yêu cầu đó tới SIP
máy chủ Proxy, hoặc tới địa chỉ IP và cổng tương ứng trong địa chỉ của yêu cầu SIP
(Request-URI).
Trường hợp đầu, yêu cầu được gửi tới máy chủ Proxy không phụ
thuộc vào địa chỉ của yêu cầu.
Với trường hợp sau, Client phải xác định giao thức,cổng và địa chỉ IP của Server mà
yêu cầu được gửi đến.Client cố gắng liên lạc với Server theo số cổng đƣợc chỉ ra
trong địa chỉ u cầu SIP (Request-URI). Nếu khơng có số cổng nào chỉ ra trong
Request-URI, Client sẽ sử dụng địa chỉ cổng mặc định là 5060. Nếu Request-URI chỉ
rõ là sử dụng giao thức TCP hay UDP, Client sẽ làm việc với Server theo giao thức
đó. Nếu khơng có giao thức nào được chỉ ra thì Client cố gắng dùng giao thức UDP
(nếu không hỗ trợ TCP) hoặc sử dụng giao thức TCP cho hoạt động của mình (chỉ
được hỗ trợ TCP mà khơng được hỗ trợ UDP).
Client cố gắng tìm một hay nhiều địa chỉ cho SIP Server bằng việc truy vấn DNS
(Domain Name System) theo các thủ tục sau:
Nếu địa chỉ Host trong địa chỉ Request-URI là một địa chỉ IP thì Client làm việc với
Server bằng địa chỉ được đưa ra. Nếu đó khơng phải là một địa chỉ IP, Client thực hiện
bước tiếp theo .Client đưa ra câu hỏi tới DNS Server về bản ghi địa chỉ cho địa chỉ
Host trong địa chỉ Request-URI. DSN sẽ trả về một bản ghi danh sách các địa chỉ. Lúc
đó việc lựa chọn một trong các địa chỉ này là tùy ý. Cịn nếu DNS Server khơng đưa ra
bản ghi địa chỉ, Client sẽ kết thúc hoạt động, có nghĩa nó không thực hiện được việc
21
định vị máy chủ. Nhờ bản ghi địa chỉ, sự lựa chọn tiếp theo cho giao thức mạng của
Client có nhiều khả năng thành cơng hơn. Một q trình thực hiện thành cơng là q
trình có một bản ghi chứa trong phần trả lời và Server làm việc ở một trong những địa
chỉ chứa trong trả lời đó.
b. Giao dịch của SIP
Khi có địa chỉ IP của SIP Server thì yêu cầu sẽ đƣợc gửi đi theo tầng vận chuyển giao
thức TDP hay UDP. Client gửi một hoặc nhiều yêu cầu SIP đến máy chủ đó và nhận
lại một hoặc nhiều các phúc đáp từ máy chủ. Một yêu cầu cùng với các phúc đáp được
tạo ra bởi yêu cầu đó tạo thành một giao dịch SIP. Tất cả các phúc đáp cho một yêu
cầu mang cùng các giá trị trong các trường: Call – ID, Cseq, To, và From. Yêu cầu
ACK xác định sự nhận một phúc đáp INVITE khơng là một phần của giao dịch vì nó
có thể di chuyển giữa một tập các host khác nhau. Mỗi cuộc gọi trong SIP được định
danh bởi một trường định danh cuộc gọi (Call-ID).
Một u cầu phải cần có thơng tin gửi đi từ đâu (From) và tới đâu (To). Trường From
và To đều có cấu trúc theo khn dạng SIP-URL. Trường CSeq lưu trữ thông tin về
phương thức sử dụng trong phiên, trường CSeq có dạng: CSeq = “CSeq”: “DIGIT
Method”. Trong đó DIGIT là số ngun khơng dấu 32 bit.
Nếu một giao thức điều khiển luồng tin cậy được sử dụng, yêu cầu và các phúc đáp
trong một giao dịch đơn lẻ được mang trên cùng kết nối. Một vài yêu cầu SIP từ cùng
máy khách đến cùng máy chủ có thể sử dụng cùng kết nối hoặc có thể sử dụng một kết
nối mới cho mỗi yêu cầu.
Nếu một client gửi yêu cầu thông qua một giao thức datagram đơn hướng như UDP thì
các UA thu sẽ định hướng phúc đáp theo thông tin chứa trong các trường mào đầu Via.
Mỗi proxy server trong tuyến chuyển tiếp của yêu cầu chuyển tiếp
phúc đáp sử dụng các trường mào đầu Via này.
c. Lời mời SIP
Một lời mời SIP thành công gồm hai yêu cầu INVITE và ACK. Yêu cầu INVITE thực
hiện lời mời một thành viên tham gia hội thoại. Khi phía bị gọi đồng ý tham gia, phía
chủ gọi xác nhận đã nhận một bản tin đáp ứng bằng cách gửi đi một yêu cầu ACK.
Nếu phía chủ gọi không muốn mời thành viên tham gia cuộc gọi nữa nó sẽ gửi u cầu
BYE thay cho ACK.
Thơng điệp INVITE chứa thành phần mô tả phiên của giao thức SDP và phương thức
tiến hành trao đổi ứng với phiên đó. Với các phiên đa hướng, phần mơ tả phiên liệt kê
kiểu và khuôn dạng của các dữ liệu đa phương tiện để phân phối cho phiên hội thoại.
Với một phiên đơn hướng, phần mô tả phiên liệt kê kiểu và khn dạng của các
phương tiện mà phía chủ gọi muốn sử dụng và nơi những dữ liệu muốn gửi đi.
22
d.Định vị người dùng
Một đối tượng bị gọi có thể di chuyển giữa một số các hệ thống đầu cuối khác nhau
theo thời gian. Một máy chủ định vị cũng có thể sử dụng một hay nhiều giao thức khác
nhau để xác định hệ thống đầu cuối mà tại đó một người sử dụng có thể liên lạc. Một
máy chủ định vị có thể đưa ra một vài vị trí vì người sử dụng được đăng nhập vào tại
một vài host đồng thời hoặc bởi vì máy chủ định vị lỗi. Máy chủ SIP kết hợp các kết
quả để đưa ra một danh sách các vị trí. Đối với từng kiểu SIP Server thì hoạt động sau
khi nhận được danh sách các vị trí khác nhau là khác nhau. Một SIP Redirect Server sẽ
trả lại danh sách địa chỉ cho Client với các mào đầu Contact. Một SIP proxy server có
thể thử lần lượt hoặc song song các địa chỉ cho đến khi cuộc gọi thành công hoặc bên
bị gọi từ chối cuộc gọi .
Nếu một proxy server chuyển tiếp một yêu cầu SIP, nó phải bổ sung địa chỉ của nó
vào vị trí bắt đầu của danh sách các trạm chuyển tiếp được ghi trong các mào đầu Via.
Dấu vết Via đảm bảo rằng các trả lời có thể đi theo cùng tuyến đó theo hướng ngược
lại, việc đảm bảo hoạt động chính xác nhờ tuân theo các tường lửa và tránh lặp lại yêu
cầu. Ở hướng phúc đáp, mỗi host phải xố bỏ Via của nó, do đó thông tin định tuyến
nội bộ được che khuất đối với phía bị gọi và các mạng bên ngồi.
e.Thay đổi một phiên hiện tại
Trong một vài trường hợp, cần phải thay đổi các thông số của phiên hội thoại hiện tại.
Việc đó được thực hiện bởi việc phát lại các yêu cầu INVITE. Các yêu cầu INVITE đó
có cùng trường Call-ID nhƣng có trường mào đầu và trường bản tin khác với yêu cầu
ban đầu để mang thông tin mới. Các bản tin INVITE đó phải có chỉ số CSeq cao hơn
các u cầu trước. Ví dụ: có hai thành viên đang hội thoại và muốn có thêm một người
thứ ba tham gia. Một trong hai thành viên sẽ mời thành viên thứ ba tham gia với một
địa chỉ đa hướng (Multicast) mới và đồng thời gửi một bản tin INVITE đến thành viên
thứ hai với trường miêu tả phiên đa hướng nhưng có trường Call-ID cũ.
II. Một số giao thức Sip có thể hoạt động cùng
a.Giao thức SDP (được sử dụng rộng rãi)_Giao thức mô tả phiên kết nối đa phương
tiện.
-SDP là một giao thức lớp ứng dụng đƣợc IETF thiết kế để mô tả các phiên đa phương
tiện và là giao thức dựa trên văn bản. SDP mang thông tin về các luồng phương tiện để
các bên tham gia phiên đa phương tiện có thể biết được thơng tin thiết lập tương ứng.
SDP chỉ có mục đích mơ tả phiên chứ không phải để đàm phán các phương thức mã
hố phương tiện. Nó khơng chứa bất kỳ giao thức chuyển tải nào. Vì thế thơng thường
SDP được chứa trong phần tải tin của các giao thức khác. Chẳng hạn phần tải tin trong
23
bản tin INVITE có thể chứa SDP nếu có chỉ thị về nó trong tiêu đề content-type và
content-application. Một bản tin SDP bao gồm các mức thông tin sau:
Mô tả mức phiên. Mức này bao gồm nhận dạng phiên và các thông số mức
phiên khác như địa chỉ IP, chủ đề, thông tin giao tiếp về bộ tạo và/hay phiên.
Mô tả mức định thời. Thời gian bắt đầu và kết thúc, thời gian lặp lại, một hay
nhiều mô tả mức phương tiện.
Khuôn dạng và loại phương tiện. Giao thức truyền tải và số cổng, các thông số
mức phương tiện khác.
-SDP không phải là một giao thức lớp vận chuyển, nó khơng thực sự vận chuyển dữ
liệu giữa các client mà nó chỉ thiết lập cấu trúc thơng tin về các thuộc tính của luồng
dữ liệu, dữ liệu thực sự được truyền đi bởi các giao thức SIP, RTSP hay HTTP.
Thơng tin trong gói SDP ở dạng ASCII gồm nhiều dòng, mỗi dòng là một trường
-Hoạt động của SDP: Client gửi SIP request, thiết bị sẽ tạo một gói SDP gửi trả lại.
Gói SDP này mang thơng tin về phiên kết nối.
-Bảo mật cho SDP : Bản tin SDP mang thông tin về phiên kết nối như nhận dạng
phiên kết nối, IP người gửi, người nhận,... Nếu kẻ tấn cơng bắt được những gói SDP
24
này nó có thể thay đổi giá trị trong các trường rồi gửi đi. Nhưng điều này hồn tồn có
thể khắc phục bằng phương pháp chứng thực user của SIP.
b.RSVP _ Giao thức chiếm trước tài nguyên mạng.
-RSVP là một cơ chế báo hiệu dùng để dành riêng tài nguyên trên một mạng. RSVP
không phải là một giao thức định tuyến. Việc quyết định tuyến do IGP và CSPF. Công
việc của RSVP là báo hiệu và duy trì tài nguyên dành riêng qua một mạng. RSVP có
thể được dùng để dành riêng khơng gian hàng đợi cơng bằng có trọng số (WFQ –
Weighted Fair Queuing) hay xây dựng các ATM SVC.
- RSVP có ba chức năng cơ bản:
Thiết lập và duy trì đường đi (Path setup and maintenance)
Hủy đường đi (Path teardown)
Báo lỗi (Error signalling)
c.RTSP ( Real Time Streaming Protocol ) : Giao thức tạo luồng thời gian thực .Là
giao thức điều khiển kiểm soát hệ thống mạng , được thiết kế sử dụng trong hệ thống
giải trí và truyền thơng để kiểm sốt Streaming media Severs . Giao thức được sử
dụng để thiết lập và kiểm sốt các phương tiện truyền thơng giữa các điểm cuối phiên .
Người dùng đưa ra các lệnh VCR , như chạy hay tạm dừng , để điều khiển thời gian
thực trong việc phát lại các file media từ sever .
d.RTP ( Real Time Tranpsport Protocol ) : Giao thức vận chuyển thời gian thực .
-RTP đặc tả một tiêu chuẩn định dạng gói tin dùng để truyền âm thanh và hình ảnh
qua internet. Tiêu chuẩn này được khai báo trong RFC 1889. Nó được phát triển bởi
nhóm Audio Video Transport Working và được ban hành lần đầu tiên vào năm 1996.
-RTP và RTCP liên kết rất chặt chẽ với nhau – RTP truyền dữ liệu thực trong khi
RTCP được dùng để nhận thông tin phản hồi về chất lượng dịch vụ.
25