Tải bản đầy đủ (.doc) (81 trang)

Tài liệu Báo cáo tốt nghiệp: “Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat" pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 81 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
NGHIÊN CỨU GIAO THỨC SIP
VÀ XÂY DỰNG ỨNG DỤNG VOICE CHAT
Mã số : 02T2-24
Ngày bảo vệ : 13/06/2007
SINH VIÊN : TRẦN MINH ÁNH
HUỲNH THANH QUANG
LỚP : 02T2
CBHD : TS NGUYỄN THANH BÌNH
ĐÀ NẴNG, 06/2007
LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường
Đại Học Bách Khoa Đà Nẵng đã tạo điều kiện tốt cho chúng em thực hiện
đề tài tốt nghiệp này.
Chúng em xin chân thành cảm ơn thầy Nguyễn Thanh Bình đã tận tình
hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài.
Chúng em xin chân thành cảm ơn quý Thầy Cô trong khoa đã tận tình
giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những
năm học vừa qua.
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả
năng cho phép, nhưng chắc chắc sẽ không tránh khỏi những thiếu sót, kính
mong sự thông cảm và tận tình chỉ bảo của quý thầy cô.
LỜI CAM ĐOAN


Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy Nguyễn Thanh Bình..
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên,
Trần Minh Ánh
Huỳnh Thanh Quang
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
NHẬN XÉT CỦA GIÁO VIÊN DUYỆT
MỤC LỤC

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của
thầy Nguyễn Thanh Bình.......................................................................................................3
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công
trình, thời gian, địa điểm công bố..........................................................................................3
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
tôi xin chịu hoàn toàn trách nhiệm........................................................................................3
MỞ ĐẦU..........................................................................................................1
.I Đặt vấn đề........................................................................................................................1
.II Tóm tắt phương pháp triển khai, nội dung tóm tắt các chương tiếp theo.....................1
CƠ SỞ LÝ THUYẾT......................................................................................3
.I Tổng quan về kỹ thuật VoIP và các yếu tố quan trọng đối với VoIP............................3
.I.1. VoIP là gì?...............................................................................................................3
.I.1.1. Các lợi ích của VoIP...........................................................................................3
.I.1.2. Các ứng dụng của VoIP.....................................................................................4
.I.2. Các yếu tố quan trọng đối với VoIP.......................................................................5
.I.2.1. Thời gian trễ (Time Delay)..................................................................................5

.I.2.2. Sự thay đổi thời điểm gói đến (Jitter).................................................................6
.I.2.3. Điều chế xung theo mã PCM (Pulse Code Modulation)....................................6
.I.2.4. Nén âm thanh.......................................................................................................7
.I.2.5. Khoảng lặng........................................................................................................9
.I.2.6. Tiếng vọng (Echo)...............................................................................................9
.I.2.7. Mất gói...............................................................................................................10
.I.2.8. Các giao thức vận chuyển.................................................................................10
.II Tìm hiểu giao thức SIP................................................................................................11
.II.1. Giới thiệu.............................................................................................................11
.II.1.1. Lược sử SIP......................................................................................................11
.II.1.2. Vai trò và vị trí của SIP trong VoIP................................................................12
.II.1.3. Các ưu điểm của SIP........................................................................................13
.II.2. Các đặc điểm của giao thức SIP..........................................................................14
.II.2.1. Thông điệp SIP (SIP messages).......................................................................14
.II.2.2. Các thành phần của giao thức SIP (SIP Elements).........................................16
.II.3. Cấu trúc của giao thức SIP..................................................................................17
.II.4. Các giao thức liên quan.......................................................................................17
.II.4.1. Giao thức SDP (Session Description Protocol)..............................................17
.II.4.2. Giao thức RTP (Real-time Transport Protocol)..............................................20
.II.4.3. Giao thức RTCP (Real-time Transport Control Protocol)..............................22
.II.5. Thiết lập cuộc gọi thông qua SIP........................................................................23
.III Đánh giá giao thức SIP và các bộ giao thức khác......................................................24
.III.1. H323....................................................................................................................24
.III.2. So sánh SIP và H323..........................................................................................25
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.................................................28
.I Mô hình Use – Case......................................................................................................29
.I.1. Mô hình UseCase hệ thống...................................................................................29
.I.2. Danh sách Actors..................................................................................................30
.I.3. Danh sách UseCase...............................................................................................30
.I.4. Đặc tả các UseCase chính.....................................................................................30

.I.4.1. Đặc tả UseCase “DangKy”..............................................................................30
.I.4.2. Đặc tả UseCase “DangNhap”..........................................................................31
.I.4.3. Đặc tả UseCase “ThayDoiThongTin”..............................................................32
.I.4.4. Đặc tả UseCase “TextChat”.............................................................................33
.I.4.5. Đặc tả UseCase “VoiceChat”..........................................................................34
.I.4.6. Đặc tả UseCase “GoiFile”...............................................................................35
.I.4.7. Đặc tả UseCase “QuanLyHeThong”...............................................................36
.I.4.8. Đặc tả UseCase “QuanLyThanhVien”.............................................................36
.II Biểu đồ lớp...................................................................................................................37
.II.1. Phân tích Use-case “QuanLyHeThong”..............................................................37
.II.1.1. Sơ đồ lớp đối tượng..........................................................................................37
.II.1.2. Danh sách các lớp đối tượng...........................................................................37
.II.2. Phân tích Use-case “QuanLyThanhVien”...........................................................38
.II.2.1. Sơ đồ lớp đối tượng..........................................................................................38
.II.2.2. Danh sách các lớp đối tượng...........................................................................38
.II.3. Phân tích Use-case “DangKy”.............................................................................38
.II.3.1. Sơ đồ lớp đối tượng..........................................................................................38
Danh sách các lớp đối tượng......................................................................................39
.II.4. Phân tích Use-case “DangNhap”.........................................................................39
.II.4.1. Sơ đồ lớp đối tượng..........................................................................................39
.II.4.2. Danh sách các lớp đối tượng...........................................................................39
.II.5. Phân tích Use-case “VoiceChat”.........................................................................40
.II.5.1. Sơ đồ lớp đối tượng..........................................................................................40
.II.5.2. Danh sách các lớp đối tượng...........................................................................40
.II.6. Phân tích Use-case “TextChat”...........................................................................40
.II.6.1. Sơ đồ lớp đối tượng..........................................................................................40
.II.6.2. Danh sách các lớp đối tượng...........................................................................41
.II.7. Phân tích Use-case “GoiFile”..............................................................................41
.II.7.1. Sơ đồ lớp đối tượng..........................................................................................41
.II.7.2. Danh sách các lớp đối tượng...........................................................................41

.II.8. Phân tích Use-case “ThayDoiThongTin”............................................................42
.II.8.1. Sơ đồ lớp đối tượng..........................................................................................42
.II.8.2. Danh sách các lớp đối tượng...........................................................................42
.III Biểu đồ tuần tự............................................................................................................43
.III.1. Xử lý “DangKy”.................................................................................................44
.III.1.1. Biểu đồ tuần tự................................................................................................44
.III.1.2. Biểu đồ cộng tác.............................................................................................44
.III.1.3. Danh sách hành động.....................................................................................45
.III.2. Xử lý “DangNhap”.............................................................................................45
.III.2.1. Biểu đồ tuần tự...............................................................................................45
.III.2.2. Biểu đồ cộng tác.............................................................................................46
.III.2.3. Danh sách hành động.....................................................................................46
Mục lục iii
.III.3. Xử lý “KhoiDongHeThong”..............................................................................47
.III.3.1. Biểu đồ tuần tự................................................................................................47
.III.3.2. Biểu đồ cộng tác.............................................................................................47
.III.3.3. Danh sách các hành động...............................................................................47
.III.4. Xử lý “XemDanhSach”.....................................................................................48
.III.4.1. Biểu đồ tuần tự................................................................................................48
.III.4.2. Biểu đồ cộng tác.............................................................................................48
.III.4.3. Danh sách các hành động...............................................................................49
.III.5. Xử lý “GoiDien”.................................................................................................49
.III.5.1. Biểu đồ tuần tự ...............................................................................................49
.III.5.2. Biểu đồ cộng tác.............................................................................................50
.III.5.3. Danh sách các hành động...............................................................................50
.III.6. Xử lý “NhanCuocGoi”.......................................................................................51
.III.6.1. Biểu đồ tuần tự................................................................................................51
.III.6.2. Biểu đồ cộng tác.............................................................................................52
.III.6.3. Danh sách các hành động...............................................................................52
.III.7. Xử lý “TextChat”................................................................................................53

.III.7.1. Biểu đồ tuần tự................................................................................................53
.III.7.2. Biểu đồ cộng tác.............................................................................................54
.III.7.3. Danh sách các hành động...............................................................................54
.III.8. Xử lý “LuuCuocGoi”.........................................................................................55
.III.8.1. Biểu đồ tuần tự................................................................................................55
.III.8.2. Biểu đồ cộng tác.............................................................................................55
.III.8.3. Danh sách các hành động...............................................................................55
.III.9. Xử lý “GoiFile”..................................................................................................56
.III.9.1. Biểu đồ tuần tự................................................................................................56
.III.9.2. Biểu đồ cộng tác.............................................................................................56
.III.9.3. Danh sách các hành động...............................................................................57
XÂY DỰNG ỨNG DỤNG............................................................................58
.I Sơ đồ triển khai hệ thống..............................................................................................58
.II Thiết kế cơ sở dữ liệu...................................................................................................60
.III Thiết kế giao diện.......................................................................................................60
.III.1. Màn hình login Sip Client..................................................................................60
.III.2. Màn hình chính Sip Client..................................................................................61
.III.3. Màn hình chat text..............................................................................................62
.III.4. Màn hình đăng ký thành viên.............................................................................63
.III.5. Màn hình chính Sip Server.................................................................................64
.IV Công cụ và môi trường phát triển..............................................................................64
KẾT LUẬN....................................................................................................65
.I Kết quả đạt được...........................................................................................................65
.II Hướng phát triển..........................................................................................................65
[1] RFC 3261. SIP: Session Initiation Protocol. 2002.....................................................66
[2] RFC 2327. SDP: Session Description Protocol. 1998................................................66
[3] Trang web ...........................................................................66
[4] Nguyễn Hồng Sơn. Kỹ thuật điện thoại qua IP và Internet. 2003.............................66
Mục lục iv
[5] Phạm Hồng Liên, Bùi Quang Huy, Trương Tấn Đức Anh. Study and apply sip

protocol to implement a voip system for a medium-size enterprise network. 2005...........66
[6] Meng-Chauug Peter Lee và Kwok-Cheong Thomas Pang. Session Initiation Protocol
User Agent Prototype. Simon Fraser University. 2001.......................................................66
[7] Các tài liệu khác liên quan đến VoIP và giao thức SIP..............................................66
Mục lục v
DANH MỤC BẢNG
BẢNG 1 – ĐIỂM ĐÁNH GIÁ MOS MỘT SỐ CODEC CỦA ITU............9
BẢNG 2 – MỘT SỐ ĐIỂM KHÁC BIỆT GIỮA H323 VÀ SIP...............26
BẢNG 3 – DANH SÁCH CÁC USECASE CỦA ACTOR USER.............30
BẢNG 4 – DANH SÁCH CÁC USECASE CỦA ACTOR ADMIN.........30
BẢNG 5 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“QUANLYHETHONG” ..............................................................................37
BẢNG 6 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“QUANLYTHANHVIEN”...........................................................................38
BẢNG 7 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“DANGKY”...................................................................................................39
BẢNG 8 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“DANGNHAP”..............................................................................................39
BẢNG 9 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“VOICECHAT”............................................................................................40
BẢNG 10 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“TEXTCHAT”...............................................................................................41
BẢNG 11 – DANH SÁCH CÁC LỚP ĐỐI TƯỢNG TRONG USE-CASE
“GOIFILE”....................................................................................................41
BẢNG 12 – DANH SÁCH LỚP ĐỐI TƯỢNG TRONG USE-CASE
“THAYDOITHONGTIN”............................................................................42
BẢNG 13 – DANH SÁCH CÁC XỬ LÝ CHÍNH CỦA HỆ THỐNG......43
BẢNG 14 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ “DANGKY”
.........................................................................................................................45
BẢNG 15 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ

“DANGNHAP”..............................................................................................46
BẢNG 16 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ
“KHOIDONGHETHONG”.........................................................................47
BẢNG 17 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ
“XEMDANHSACH”.....................................................................................49
BẢNG 18 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ “GOIDIEN”
.........................................................................................................................50
Mục lục vi
BẢNG 19 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ
“NHANCUOCGOI”......................................................................................52
BẢNG 20 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ
“TEXTCHAT”...............................................................................................54
BẢNG 21 – DANH SÁCH CÁC HÀNH ĐỘNG CỦA XỬ LÝ
“LUUCUOCGOI”.........................................................................................55
BẢNG 22 – DANH SÁCH CÁC HÀNH ĐỘNG XỬ LÝ “GOIFILE” ....57
BẢNG 23 – DANH SÁCH CÁC TRƯỜNG CỦA BẢNG USER..............60
BẢNG 24 – MÔ TẢ CÁC THÀNH PHẦN TRÊN MÀN HÌNH LOGIN SIP
CLIENT..........................................................................................................61
BẢNG 25 – MÔ TẢ CÁC THÀNH PHẦN TRÊN MÀN HÌNH CHÍNH SIP
CLIENT..........................................................................................................61
BẢNG 26 – MÔ TẢ CÁC THÀNH PHẦN TRÊN MÀN HÌNH CHAT
TEXT..............................................................................................................62
BẢNG 27 – MÔ TẢ CÁC THÀNH PHẦN TRÊN MÀN HÌNH ĐĂNG KÝ
THÀNH VIÊN...............................................................................................63
BẢNG 28 – MÔ TẢ CÁC THÀNH PHẦN TRÊN MÀN HÌNH CHÍNH SIP
SERVER.........................................................................................................64
Mục lục vii
DANH MỤC HÌNH ẢNH
HÌNH 1 – THỜI GIAN TRỄ CỦA MỘT SỐ TRUYỀN DẪN....................5
HÌNH 2 – SỰ THAY ĐỔI THỜI ĐIỂM GÓI ĐẾN.....................................6

HÌNH 3 – SƠ ĐỒ ĐIỀU CHẾ XUNG THEO MÃ.......................................7
HÌNH 4 – VOIP STACK...............................................................................12
HÌNH 5 – CẤU TRÚC MỘT THÔNG ĐIỆP SIP......................................14
HÌNH 6 – MÃ HOÁ GÓI TIN RTP/UDP/IP..............................................21
HÌNH 7 – MÔ HÌNH THỰC HIỆN CUỘC GỌI GIỮA HAI UAC THÔNG
QUA PROXY SERVER................................................................................23
HÌNH 8 – MÔ HÌNH USE-CASE CỦA ACTOR USER...........................29
HÌNH 9 – MÔ HÌNH USE-CASE CỦA ACTOR ADMIN........................29
HÌNH 10 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “QUANLYHETHONG”37
HÌNH 11 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “QUANLYTHANHVIEN”
.........................................................................................................................38
HÌNH 12 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “DANGKY”.................38
HÌNH 13 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “DANGNHAP”............39
HÌNH 14 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “VOICECHAT”..........40
HÌNH 15 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “TEXTCHAT”............40
HÌNH 16 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “GOIFILE”..................41
HÌNH 17 – SƠ ĐỒ CÁC LỚP CỦA USE-CASE “THAYDOITHONGTIN”
.........................................................................................................................42
HÌNH 18 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “DANGKY”.............................44
HÌNH 19 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “DANGKY”..........................44
HÌNH 20 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “DANGNHAP”........................45
HÌNH 21 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “DANGNHAP”....................46
HÌNH 22 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “KHOIDONGHETHONG”...47
HÌNH 23 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “KHOIDONGHETHONG”47
HÌNH 24 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “XEMDANHSACH”...............48
HÌNH 25 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “XEMDANHSACH”...........48
HÌNH 26 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “GOIDIEN”.............................49
Mục lục viii
HÌNH 27 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “GOIDIEN”..........................50
HÌNH 28 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “NHANCUOCGOI”...............51

HÌNH 29 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “NHANCUOCGOI”............52
HÌNH 30 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “TEXTCHAT”........................53
HÌNH 31 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “TEXTCHAT”.....................54
HÌNH 32 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “LUUCUOCGOI”...................55
HÌNH 33 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “LUUCUOCGOI”................55
HÌNH 34 – BIỂU ĐỒ TUẦN TỰ XỬ LÝ “GOIFILE”..............................56
HÌNH 35 – BIỂU ĐỒ CỘNG TÁC XỬ LÝ “GOIFILE”..........................56
HÌNH 36 – SƠ ĐỒ TRIỂN KHAI HỆ THỐNG.........................................58
HÌNH 37 – SƠ ĐỒ QUÁ TRÌNH GỞI VÀ NHẬN ÂM THANH GIỮA HAI
SIP_CLIENT.................................................................................................59
HÌNH 38 – MÀN HÌNH LOGIN CỦA SIP CLIENT.................................60
HÌNH 39 – MÀN HÌNH CHÍNH SIP CLIENT..........................................61
HÌNH 40 – MÀN HÌNH CHAT TEXT........................................................62
HÌNH 41 – MÀN HÌNH ĐĂNG KÝ THÀNH VIÊN HỆ THỐNG...........63
HÌNH 42 – MÀN HÌNH CHÍNH SIP SERVER.........................................64
DANH MỤC CÁC TỪ VIẾT TẮT
IETF Internet Engineering Task Force
ISDN Integrated Services Digital Network
ITU International Telecommunication Union
PSTN Public Switch Telephone Network
VoIP Voice Over Internet Protocol
SNMP Simple Network Mangement Protocol
PCM Pulse Code Modulation
PAM Pulse Amplitude Modulation
SNR Signal to Noise Ratio
MOS Mean Opinion Score
QoS Quality of Service
VAD Voice Activity Detection
UDP User Datagram Protocol
TCP Transmission Control Protocol

RTP Realtime Transport Protocol
RTCP Realtime Transport Control Protocol
OSI Open Systems Interconnection
SIP Session Initiation Protocol
SDP Session Description Protocol
RAS Registration, Admission and Status
SSL Secure Sockets Layer
URI Universal Resource Identifier
IP Internet Protocol
MEGACO Media Gateway Control Protocol
UAS User Agent Server
UAC User Agent Client
LAN Local Area Network
CHƯƠNG 1
MỞ ĐẦU
.I Đặt vấn đề
Công nghệ thông tin đóng vai trò ngày càng quan trọng trong tất cả các lĩnh vực
của đời sống, đặc biệt là trong việc truyền thông tin. Ngày nay, cùng với sự triển của
công nghệ thông tin nói chung, Internet đã làm biến đổi một phần thế giới. Sự phát triển
của Internet tạo ra sự gần gũi giữa các miền vùng, các nước khác nhau về mặt khoa học
công nghệ cũng như nhu cầu thông tin xã hội.
Nhu cầu trao đổi thông tin của con người đang bùng nổ. Các mạng Internet tốc
độ cao làm cho việc trao đổi các đa phương tiện ngày càng dễ dàng hơn đã tác động và
làm thay đổi nhiều đến các cách truyền thông tin truyền thống của con người. Các ứng
dụng truyền thông dựa trên Internet đang được phát triển rất mạnh.
Để đáp ứng được sự phát triển này thì các giao thức mới, các tiêu chuẩn mới về
Internet cũng được đưa ra với mục đích tạo ra chất lượng phục vụ tốt hơn. Và sự ra đời
của giao thức SIP cũng không nằm ngoài mục đích đó.
Từ khi tổ chức IETF (Internet Enginnering Task Force) công bố phiên bản SIP
đầu tiên vào năm 1999 đến nay SIP đã trải qua nhiều biến đổi và cải tiến. Và phiên bản

gần đây nhất là năm 2002. Hiện nay đã có hàng trăm nhà sản xuất bắt đầu kinh doanh
máy chủ và điện thoại có tính năng SIP. SIP đóng vai trò then chốt trong nhiều ứng
dụng đa phương tiện như tin nhắn nhanh, video, game online…Đặc biệt hơn, thời gian
gần đây cộng đồng VoIP đánh giá SIP là giao thức hàng đầu để điều khiển truyền tín
hiệu qua Internet. Bên cạnh ứng dụng điện thoại Internet, hiện nay SIP cũng được triển
khai trong thương mại điện tử.
Chính vì vậy, chúng em chọn đề tài “Nghiên cứu giao thức SIP và xây dựng
ứng dụng Voice Chat” nhằm tìm hiểu, nghiên cứu giao thức SIP từ đó xây dựng một hệ
thống trao đổi thông tin giữa các người sử dụng với nhau thông qua việc trao đổi âm
thanh, hình ảnh và gởi file dữ liệu dựa trên giao thức này.
.II Tóm tắt phương pháp triển khai, nội dung tóm tắt các
chương tiếp theo
Nội dung đề tài bao gồm hai phần chính.
Phần thứ nhất nghiên cứu lý thuyết về VoIP và giao thức SIP.
Phần thứ hai sử dụng công cụ UML 2.0 phân tích hệ thống và thiết kế các xử lý
cho bài toán bài toán.
Công cụ sử dụng xây dựng ứng dụng là môi trường MFC Visual C++ 6.0 tạo
giao diện người sử dụng và các xử lý của hệ thống. Hệ thống đồng thời kết nối đến hệ
quản trị MySQL có nhiệm vụ quản lý cơ sở dữ liệu về người sử dụng đã đăng ký thành
viên hệ thống.
Nội dung báo cáo bao gồm 5 chương:
Chương 1: Mở đầu
Giới thiệu đề tài
Tóm tắt phương pháp triển khai
Chương 2: Cơ sở lý thuyết
Tổng quan về kỹ thuật VoIP và các yếu tố quan trọng đối với VoIP
Tìm hiểu giao thức SIP
Chương 3: Phân tích thiết kế hệ thống
Xây dựng mô hình Use-case của hệ thống
Xây dựng biểu đồ lớp cho các Use-case

Xây dựng biểu đồ tuần tự và biểu đồ cộng tác các xử lý chính
Chương 4: Xây dựng ứng dụng
Sơ đồ triển khai hệ thống
Thiết kế cơ sở dữ liệu
Thiết kế giao diện
Công cụ và môi trường phát triển
Chương 5: Kết luận
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 2
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
.I Tổng quan về kỹ thuật VoIP và các yếu tố quan trọng
đối với VoIP
.I.1. VoIP là gì?
VoIP là từ viết tắt của Voice Over Internet Protocol. Đúng như tên gọi của
chúng, phương thức truyền âm thanh này sử dụng phương pháp truyền tín hiệu âm
thanh thông qua truyền các gói tin thông qua mạng IP. Bằng cách này, VoIP có thể sử
dụng tốc độ của phần cứng để hoàn thành mục đích và có thể hữu dụng trên môi trường
PC.
.I.1.1. Các lợi ích của VoIP
Giảm chi phí: Một giá cước chung sẽ thực hiện được với mạng Internet và do
đó tiết kiệm đáng kể các dịch vụ thoại và fax. Người ta ước tính có khoảng 70% các
cuộc gọi đến Châu Á là để gửi fax, phần lớn trong số đó có thể được thay thế bởi FoIP
(Fax over IP). Sự chia sẻ chi phí thiết bị và thao tác giữa những người sử dụng thoại và
dữ liệu cũng tăng cường hiệu quả sử dụng mạng bởi lẽ dư thừa băng tần trên mạng của
người này có thể được sử dụng cho một người khác.
Đơn giản hoá: Một cơ sở hạ tầng tích hợp hỗ trợ tất cả các hình thức thông tin
cho phép chuẩn hoá tốt hơn và giảm tổng số thiết bị. Cơ sở hạ tầng kết hợp này có thể
hỗ trợ việc tối ưu hoá băng tần động.
Thống nhất: Vì con người là nhân tố quan trọng nhưng cũng dễ sai lầm nhất
trong một mạng viễn thông, mọi cơ hội để hợp nhất các thao tác, loại bỏ các điểm sai

sót và thống nhất các điểm thanh toán sẽ rất có ích.
Trong các tổ chức kinh doanh, sự quản lý trên cơ sở giao thức quản lý mạng đơn
giản SNMP (Simple Network Management Protocol) có thể được cung cấp cho cả dịch
vụ thoại và dữ liệu sử dụng VoIP. Việc sử dụng thống nhất giao thức IP cho tất cả các
ứng dụng hứa hẹn giảm bớt phức tạp và tăng cường tính mềm dẻo. Các ứng dụng liên
quan như dịch vụ danh bạ và dịch vụ an ninh mạng có thể được chia sẻ dễ dàng hơn.
Nâng cao ứng dụng: Thoại và fax chỉ là các ứng dụng khởi đầu cho VoIP, các
lợi ích trong thời gian dài hơn được mong đợi từ các ứng dụng đa phương tiện và đa
dịch vụ. Chẳng hạn các giải pháp thương mại Internet có thể kết hợp truy cập Web với
việc truy nhập trực tiếp đến một nhân viên hỗ trợ khách hàng...
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 3
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
.I.1.2. Các ứng dụng của VoIP
Giao tiếp thoại sẽ vẫn là dạng giao tiếp cơ bản của con người. Mạng điện thoại
công cộng không thể bị đơn giản thay thế, thậm chí thay đổi trong thời gian tới. Mục
đích tức thời của các nhà cung cấp dịch vụ điện thoại IP là tái tạo lại khả năng của điện
thoại với một chi phí vận hành thấp hơn nhiều và đưa ra các giải pháp kỹ thuật bổ sung
cho mạng điện thoại chuyển mạch công cộng PSTN (Public Switched Telephone
Network).
Điện thoại có thể được áp dụng cho gần như mọi yêu cầu của giao tiếp thoại, từ
một cuộc đàm thoại đơn giản cho đến một cuộc gọi hội nghị nhiều người phức tạp.
Chất lượng âm thanh được truyền cũng có thể biến đổi tuỳ theo ứng dụng. Ngoài ra, với
khả năng của Internet, dịch vụ điện thoại IP sẽ cung cấp thêm nhiều tính năng mới.
Điện thoại thông minh: Hệ thống điện thoại ngày càng trở nên hữu hiệu: rẻ,
phổ biến, dễ sử dụng, cơ động. Nhưng nó hoàn toàn “ngớ ngẩn”, chỉ có một số phím để
điều khiển. Trong những năm gần đây, người ta đã cố gắng để tạo ra thoại thông minh,
đầu tiên là các thoại để bàn, sau là đến các server. Nhưng mọi cố gắng đều thất bại do
sự tồn tại của các hệ thống có sẵn.
Internet sẽ thay đổi điều này. Kể từ khi Internet được triển khai, nó đã được sử
dụng để tăng thêm tính thông minh cho mạng điện thoại toàn cầu. Giữa mạng máy tính

và mạng điện thoại tồn tại một mối liên hệ. Internet cung cấp cách giám sát và điều
khiển các cuộc thoại một cách tiện lợi hơn. Chúng ta có thể thấy được khả năng kiểm
soát và điều khiển các cuộc thoại thông qua mạng Internet.
Dịch vụ điện thoại web: "World Wide Web" đã làm cuộc cách mạng trong cách
giao dịch với khách hàng của các doanh nghiệp. Điện thoại Web hay " bấm số" (click to
dial) cho phép các nhà doanh nghiệp có thể đưa thêm các phím bấm lên trang web để
kết nối tới hệ thống điện thoại của họ.
Dịch vụ bấm số là cách dễ nhất và an toàn nhất để đưa thêm các kênh trực tiếp
từ trang Web của chúng ta vào hệ thống điện thoại. Truy cập các trung tâm trả lời điện
thoại. Truy nhập đến các trung tâm phục vụ khách hành qua mạng Internet sẽ thúc đẩy
mạnh mẽ thương mại điện tử. Dịch vụ này sẽ cho phép một khách hàng có câu hỏi về
một sản phẩm được chào hàng qua Internet được các nhân viên của công ty trả lời trực
tuyến.
Dịch vụ fax qua IP: Nếu chúng ta gửi nhiều fax từ PC, đặc biệt là gửi ra nước
ngoài thì việc sử dụng dịch vụ Internet faxing sẽ giúp chúng ta tiết kiệm được tiền và cả
kênh thoại. Dịch vụ này sẽ chuyển trực tiếp từ PC của chúng ta qua kết nối Internet.
Hàng năm, thế giới tốn hơn 30 tỷ USD cho việc gửi fax đường dài. Nhưng ngày nay
Internet fax đã làm thay đổi điều này. Việc sử dụng Internet không những được mở
rộng cho thoại mà còn cho cả dịch vụ fax.
Khi sử dụng dịch vụ thoại và fax qua Internet, có hai vấn đề cơ bản :
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 4
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
Những người sử dụng dịch vụ thoại qua Internet cần có chương trình phần mềm
được cung cấp bởi các công ty dịch vụ. Cấu hình này cung cấp cho người sử dụng khả
năng sử dụng thoại qua Internet thay cho sử dụng điện thoại để bàn truyền thống.
Kết nối một gateway thoại qua Internet với hệ thống điện thoại hiện hành. Cấu
hình này cung cấp dịch vụ thoại qua Internet giống như việc mở rộng hệ thống điện
thoại hiện hành của chúng ta.
.I.2. Các yếu tố quan trọng đối với VoIP
.I.2.1. Thời gian trễ (Time Delay)

Thời gian trễ là khoảng thời gian cần thiết để tiếng nói thoát ra khỏi miệng người
nói và đến được tai người nghe. Có 3 dạng trễ vốn có trong hệ thống điện thoại ngày
nay: trễ do lan truyền, trễ do nối tiếp hóa, trễ do xử lý.
Trễ lan truyền do tốc độ tín hiệu trong mạng các mạng truyền thông. Ánh sáng
chạy qua chân không với tốc độ 300.000 km/s, và các điện tử di chuyển trong cáp đồng
xấp xỉ 200.000 km/s. Một mạng cáp kéo dài liên tục qua nửa vòng trái đất một chiều có
trễ lan truyền khoảng 70ms. Lượng trễ này không đáng kể nhưng nếu cộng thêm trễ xử
lý có thể làm chất lượng thoại không đảm bảo đến mức không chấp nhận được.
Trễ xử lý liên quan đến nhiều yếu tố, có thể do việc xử lý, việc truy cập đường
truyền, hoặc do định tuyến trên mạng như là: quá trình đóng gói, nén gói tin, chuyển
mạch…gây ra bởi các thiết bị chuyển tiếp qua mạng. Các trễ xử lý có thể ít tác động
đến các mạng điện thoại truyền thống nhưng nó trở nên là vấn đề lớn trong các mạng
chuyển mạch gói. Khi các gói được giữ trong một hàng đợi vì nghẽn trên giao tiếp ngõ
ra, từ đó dẫn đến trễ xếp hàng. Có một số hệ điều hành giải quyết rất tốt việc di chuyển
và xác định đích của gói. Chúng ta nên giữ giá trị trễ này nhỏ hơn 10ms bất cứ khi nào
có thể bằng các giải thuật xếp hàng tối ưu.
Hình 1 – Thời gian trễ của một số truyền dẫn.
Một vài loại trễ là dài nhưng có thể chấp nhận được bởi không có sự lựa chọn
nào khác. Trong truyền dẫn vệ tinh, phải mất đến gần 250 ms để hoạt động truyền đến
được vệ tinh, và cần 250 ms để quay về mặt đất. Điều này làm tổng trễ lên đến trên 500
ms. Mặc dù như vậy là vượt quá cho phép nhưng vẫn có nhiều cuộc đàm thoại diễn ra
hằng ngày qua vệ tinh. Trong một mạng không quản lý được nghẽn, trễ hàng đợi có thể
lên đến 2s, kết quả là mất gói. Khoảng thời gian này là không thể chấp nhận được trong
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 5
100 200 300 400 500 600 700 8000
Chất lượng cao
Chất lượng vệ tinh
Fax Relay, Broadcast
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
bất kỳ mạng điện thoại nào. Một yếu tố khác cũng ảnh hưởng đến tổng thời gian trễ là

jitter.
.I.2.2. Sự thay đổi thời điểm gói đến (Jitter)
Phát biểu đơn giản của jitter là sự thay đổi khoảng thời gian giữa các gói. Jitter
là vấn đề chỉ tồn tại trong mạng chuyển mạch gói. Người gởi mong đợi truyền các gói
thoại một cách tin cậy vào một khoảng thời gian không đổi, ví dụ một khung tin sau
mỗi 20 ms. Các gói thoại này có thể trì hoãn và không đến đích vào các thời điểm cách
đều nhau như đã gởi đi. Độ lệch giữa thời điểm mong đợi và thời điểm nhận được gói
thực sự là jitter.
Hình 2 – Sự thay đổi thời điểm gói đến
Hình vẽ cho thấy rằng thời gian cần để gởi gói A và B là bằng nhau (D1=D2).
Gói C nhận được vào thời điểm trễ hơn so với dự định. Đây là lý do tồn tại bộ đệm
jitter, bộ đệm này che đi sự thay đổi thời gian trễ giữa các gói.
Cần lưu ý là jitter và trễ không phải là một, cho dù có nhiều jitter sẽ làm tăng
tổng thời gian trễ trong mạng. Bởi vì càng có nhiều jitter thì cần có nhiều bộ đệm jitter
để bù vào các khoảng thay đổi thời gian giữa các gói.
Nếu mạng được quản lý tốt thì jitter trong mạng không phải là trở ngại lớn và bộ
đệm jitter sẽ không làm tăng đáng kể tổng trễ. Bộ đệm jitter đôi khi còn được gọi là
hàng đợi động (dynamic queue). Hàng đợi có thể tăng lên hay giảm xuống theo hàm mũ
tùy vào thời gian giữa các gói. Mặc dù bộ đệm tĩnh vẫn được dùng, nhưng bộ đệm jitter
động là tốt nhất. Các bộ đệm jitter tĩnh thì sẽ quá lớn và quá nhỏ, từ đó khiến cho chất
lượng thoại giảm sút bởi nhiều gói bị mất hay thời gian trễ quá mức. Bộ đệm động sẽ
tăng hay giảm dựa vào sự thay đổi của vài gói sau cùng.
.I.2.3. Điều chế xung theo mã PCM (Pulse Code Modulation)
Mặc dù truyền thông tín hiệu analog là lý tưởng cho thông tin con người, nhưng
truyền dẫn analog không bền vững và khó khôi phục lại thông tin từ đường dây bị
nhiễu. Trong mạng điện thoại thế hệ đầu, khi truyền dẫn analog được chuyển qua các
bộ khuếch đại để bơm tín hiệu lên, không chỉ có tiếng nói được phóng to lên mà các tín
hiệu nhiễu cũng được khuếch đại lên và làm ảnh hưởng đến cuộc gọi.
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 6
A

A
B
B
C
C
D
1
D2=D
1
D
3
≠D
2
Sender
Recipient
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
Đối với các mẫu digital, với các bit 0 và 1, việc kiểm soát lỗi và khôi phục tín
hiệu rất dễ dàng. Do đó, các tín hiệu analog được tái tạo từ các mẫu digital vẫn giữ
nguyên chất lượng trung thực. Điều này dẫn đến sự ra đời các kỹ thuật số hóa. Như đã
biết tiếng nói có tần số nằm trong dải âm tần nhỏ hơn 4kHz. Để chuyển đổi các tín hiệu
này sang dạng số, theo lý thuyết lấy mẫu của Nyquist thì biên độ của tín hiệu phải được
lấy mẫu là 8000 lần trong một giây.
Hình 3 – Sơ đồ điều chế xung theo mã
Tín hiệu lấy mẫu trước hết được chuyển sang một dòng xung, biên độ mỗi xung
bằng với biên độ của tín hiệu analog tại thời điểm lấy mẫu. Các tín hiệu này được gọi là
tín hiệu được điều chế biên độ xung PAM (Pulse Amplitude Modulation). Tín hiệu
PAM vẫn còn là analog, chúng sẽ được chuyển sang dạng số hoàn toàn bằng cách
lượng tử hóa các tín hiệu PAM, trong đó có một bit chỉ dấu của tín hiệu (âm và dương).
Điều này có nghĩa là có 256 mức khác nhau được dùng. Tín hiệu sau cùng được gọi là
tín hiệu điều chế theo xung mã PCM và có tốc độ 64kbps (8000 mẫu/giây, mỗi mẫu 8

bit), đây là tốc độ có sẵn của các kênh số (digital channel).
.I.2.4. Nén âm thanh
Hai dạng cơ bản của nén 64kbps PCM được dùng phổ biến là a-law và µ-law.
Các phương pháp giống nhau trong đó cả hai đều dùng nén logarit để đạt được 12 đến
13 bit chất lượng PCM tuyến tính theo 8 bit, nhưng chúng khác nhau ở một số chi tiết
nhỏ. Hiện tại các nước vùng Bắc Mỹ dùng µ-law, các nước Châu Âu dùng a-law.
Một số tiêu chuẩn do Hiệp hội viễn thông quốc tế ITU (International Telecomm
unication Union) cung cấp phổ biến nhất cho điện thoại và điện thoại số bao gồm các
chuẩn bắt đầu với ký tự G.
Chuẩn nén âm thanh G711
Chuẩn G.711 là một chuẩn nén âm thanh được sử dụng rộng rãi cho các hội nghị
âm thanh. Chuẩn này mô tả phương pháp mã hoá và giải mã âm thanh với tốc độ
64kbps. Mỗi mẫu âm thanh là một số nhị phân có tám bit được sử dụng cho phạm vi
toàn cầu. ITU đưa ra hai quy luật mã hóa là mã hóa theo quy luật a và mã hóa theo quy
luật µ. Khi sử dụng luật mã hóa µ trong mạng truyền thông thì việc chặn tất cả các tín
hiệu ký tự 0 là yêu cầu nhất thiết. Giá trị lượng tử hóa là kết quả của luật mã hóa. Bất
cứ sự chuyển đổi cần thiết giữa các quốc gia đều sử dụng quy luật µ.
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 7
Mạch lấy mẫu
Lượng tử hóa
và nén/giải nén
Tín hiệu
thoại analog
Xung
lấy mẫu
Tín hiệu được
điều chế biên
độ xung PAM
Tín hiệu điều
chế xung theo

mã PCM
Tín hiệu thoại
được số hóa
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
Khi tín hiệu ký tự được truyền tuần tự trong một tầng vật lý, bit số 1 (bit dấu)
được truyền trước tiên và bit số 8 (bit ít có ý nghĩa nhất) được truyền cuối cùng.
Chuẩn nén âm thanh G723
Chuẩn G.723 giới thiệu một bộ nén có thể dùng để nén tín hiệu thoại hoặc những
tín hiệu âm thanh khác của các dịch vụ đa phương tiện ở tốc độ bit rất thấp. Trong thiết
kế của chuẩn này, nguyên lý ứng dụng làm việc ở tốc độ truyền bit rất nhỏ. Bộ mã hóa
này được tích hợp hai tốc độ khác nhau: 5.3 và 6.3kbps. Cả hai tốc độ đều hỗ trợ bởi bộ
mã hóa và giải mã. Chúng có thể chuyển đổi qua lại tại bất kì khung truyền (30 ms)
nào. Với tốc độ 6.3 kbps chất lượng âm thanh tốt hơn. Bộ mã hóa này nén thoại với
chất lượng cao ở cả hai tốc độ nhưng ít sử dụng kỹ thuật phức tạp. Các tín hiệu âm
thanh khác sau khi được nén cho âm thanh có chất lượng không thực lắm. Về độ trễ, bộ
mã hóa này mã hóa tín hiệu thoại và những tín hiệu âm thanh khác bằng những khung
30 ms, thêm độ trễ của phần chuyển đổi giữa các khung 7.5 ms, thời gian trễ tổng cộng
là 37.5 ms.
Chuẩn nén âm thanh G729
Chuẩn nén âm thanh G729 là chuẩn nén mới nhất được ITU đưa ra. Những đặc
điểm của chuẩn : chuẩn này sử dụng thuật toán mã hoá 8 kbps. Một trong những chuẩn
dùng cho mọi ứng dụng bao gồm cả không dây. Các chuẩn cùng được phát triển với
chuẩn này là G729A, G729D, G729E. Các ưu điểm của chuẩn G729:
o Chất lượng của dịch vụ : bởi vì độ trễ của chuẩn này là 10 ms, nên
nó được dùng trong truyền âm thanh. Chất lượng của âm thanh không phụ
thuộc vào khoảng cách giữa các máy điện thoại.
o Tính tương thích : Bởi vì nâng cấp mạng để tăng khả năng băng
thông là rất tốn kém. Do vậy các nhà cung cấp sẽ sử dụng những chuẩn
chung để tương thích với những nhà phát triển khác.
o Tính kinh tế : các công ty muốn tăng khả năng truyền âm thanh,

dữ liệu, nâng cao chất lượng và giảm giá thành nên áp dụng chuẩn này.
Ngoài ra còn các chuẩn khác như G.726, G.728…
Điểm đánh giá bình quân
Có thể kiểm thử chất lượng tiếng nói theo hai cách: chủ quan do con người thực
hiện hoặc khách quan do máy tính thực hiện.
Các loại mã được phát triển và hiệu chỉnh dựa vào các đo lường chất lượng tiếng
nói một cách chủ quan. Các đo lường khách quan chuẩn, như tổng méo của sóng hài và
tỉ số tín hiệu trên nhiễu SNR (signal to noise ratio) không phù hợp với cảm nhận của
con người. Cảm nhận của con người mới chính là mục tiêu của hầu hết các kỹ thuật nén
tiếng nói. Một thông số chủ quan được dùng để xác định chất lượng là điểm đánh giá
bình quân MOS (mean opinion score). MOS test cung cấp cho một nhóm người nghe.
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 8
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
Người nghe cho mỗi mẫu một điểm theo thang điểm từ 1 (xấu) đến 5 (rất tốt). Điểm
đánh giá MOS cho một số chuẩn của ITU được liệt kê trong bảng sau
Bảng 1 – Điểm đánh giá MOS một số codec của ITU
Phương pháp nén Tốc độ bit (Kbps) Kích thước mẫu (ms) Điểm MOS
G711 64 0.125 4.1
G723 6.3 30 3.9
G726 32 0.125 3.85
G729 8 10 3.92
.I.2.5. Khoảng lặng
Trong các mạng PSTN ngày nay, một kênh song công 64Kbps được thiết lập
giữa người nghe và người nói. Một cuộc gọi thông thường có đến 50% tổng băng thông
bị lãng phí. Lượng băng thông lãng phí trong thực tế có thể nhiều hơn nếu ta tiến hành
lấy mẫu thống kê các khoảng lặng và tạm dừng trong các mẫu tiếng nói hội thoại của
con người. Khi dùng VoIP ta có thể sử dụng phần băng thông lãng phí này cho các mục
đích khác khi dùng sự phát hiện hoạt động thoại VAD (Voice Activity Detection). VAD
làm việc trên cơ sở phát hiện độ lớn tiếng nói theo decibel (dB) và quyết định khi nào
thì cắt bỏ tiếng nói ra khỏi hoạt động đóng khung tin.

Thông thường khi VAD phát hiện một sự suy giảm biên độ của tiếng nó, nó đợi
một khoảng thời gian cố định trước khi dừng việc cài đặt khung tin âm thanh vào các
gói. Khoảng thời gian cố định này được gọi là hangover thường là 200ms. Tuy nhiên
VAD cũng gặp khó khăn trong việc xác định khi tiếng nói bắt đầu và kết thúc, trong
việc phân biệt tiếng nói với nhiễu nền. Nếu chúng ta ở trong một căn phòng ồn ào thì
VAD không thể phân biệt đâu là tiếng nói đâu là tạp âm. Điều này còn được gọi là
SNR. Trong trường hợp này, VAD tự cấm ngay từ khi bắt đầu cuộc gọi. VAD cũng
không phát hiện được khi nào bắt đầu của tiếng nói. Bắt đầu của câu nói đầu tiên
thường bị xén gọi là front-end speech clipping. Bình thường người nghe không chú ý
đến khoảng bị xén này.
.I.2.6. Tiếng vọng (Echo)
Echo trong cuộc đàm thoại là một hiện tượng có thể gây phiền phức không thể
chịu được. Trong mạng điện thoại truyền thống, echo thông thường bị gây ra bởi sự
không phù hợp trở kháng từ sự chuyển mạng bốn dây sang vòng cục bộ hai dây. Echo
trong mạng PSTN được kiểm soát bởi các bộ triệt echo và kiểm soát chặt chẽ sự không
phù hợp trở kháng tại các điểm phản hồi.
Echo có hai điều gây trở ngại: lớn và kéo dài. Echo càng lớn và càng kéo dài thì
làm cho người tham gia đàm thoại càng khó chịu. Các mạng điện thoại dùng tín hiệu
analog, người ta sử dụng các bộ triệt echo, các thiết bị này loại bỏ echo bằng cách tăng
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 9
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
trở kháng trên một mạch. Đây không phải là cách để loại bỏ echo tốt nhất và thực tế đã
gây ra trở ngại khác. Ví dụ chúng ta không thể dùng mạng số liên kết đa dịch vụ ISDN
(Integrated Services Digital Network) trên một đường dây có bộ triệt echo vì nó sẽ cắt
bỏ dải tần mà ISDN dùng.
.I.2.7. Mất gói
Sự mất gói trong mạng số liệu là phổ biến.
Nguyên nhân mất gói tin:
o Do lỗi truyền dẫn, khuôn dạng gói không được định nghĩa/checksum
kiểm tra hỏng gói sẽ bị loại bỏ.

o Do tắc nghẽn (mạng quá tải). Tắc nghẽn ngõ vào khi router không xử lý
các gói đủ nhanh, tắc nghẽn ngõ ra khi kết nối ngõ ra quá bận rộn.
o Do gói trải qua một thời gian trễ quá lớn trên mạng và đến quá trễ.
Các phương pháp hiệu chỉnh mất gói:
o Khôi phục các gói bị mất dựa vào bên phát
o Khôi phục gói bị mất dựa vào bên nhận
Sự mất gói trong mạng số liệu còn được lợi dụng, nhiều giao thức sử dụng số
liệu sự mất gói để nhận biết được điều kiện mạng và có thể giảm số gói đang gởi đi.
.I.2.8. Các giao thức vận chuyển
Có hai loại giao thức vận chuyển quan trọng nhất trong hệ thống mạng IP là:
TCP (Transmission Control Protocol) và UDP (User Datagram Protocol).
Giao thức TCP: Về chức năng TCP tương đương với lớp giao thức đầy đủ nhất
của giao thức chuẩn Transport trong mô hình OSI (Open Systems Interconnection). TCP
sử dụng phương thức trao đổi các dòng dữ liệu (data stream) giữa người sử dụng. Giao
thức TCP đảm bảo độ tin cậy giữa nơi gởi và nơi nhận. Dòng dữ liệu có chiều dài tùy ý
được phân thành những đoạn không vượt quá 64 KB.
Giao thức UDP: cho phép người sử dụng gởi bản tin mà không cần thiết lập liên
kết, do đó không đảm bảo việc giao nhận chính xác hoặc thứ tự bản tin. Giao thức này
dùng cho dịch vụ không tin cậy. Thực tế trong các mạng 99% bản tin UDP được giao
nhận đúng đích. Do chức năng đơn giản nên UDP hoạt động nhanh hơn TCP.
Các ứng dụng VoIP trong thực tế thường lựa chọn giao thức UDP. Vì các ứng
dụng đòi hỏi thời gian thực, hỏi đáp mong muốn trả lời trong thời gian nhanh nhất, việc
truyền thông âm thanh và hình ảnh có thể chấp nhận một vài gói dữ liệu bị hỏng hoặc
thất lạc. VoIP chạy bên trên giao thức thời gian thực RTP (Realtime Transport
Protocol), RTP hoạt động trên UDP trong mạng IP nên thường được gọi chung
RTP/UDP/IP.
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 10
Nghiên cứu giao thức SIP và xây dựng ứng dụng Voice Chat
.II Tìm hiểu giao thức SIP
.II.1. Giới thiệu

Giao thức SIP (Session Initiation Protocol) là một giao thức điều khiển ở tầng
ứng dụng có thể khởi tạo, thay đổi và kết thúc một phiên truyền thông đa phương tiện
như là VoIP. SIP còn có thể “mời” nhiều thành phần tham gia vào phiên đã có như là
các hội thảo multicast. Các phương tiện có thể thêm vào hoặc loại bỏ khỏi phiên đang
tồn tại. SIP hỗ trợ dịch vụ ánh xạ tên và định hướng ngược lại một cách trong suốt mà
người sử dụng có thể bảo quản một định danh hiển thị bên ngoài mà không cần quan
tâm đến là họ có hiểu biết về mạng hay không.
SIP hỗ trợ năm vấn đề thiết lập và kết thúc truyền thông đa phương tiện
o Vị trí người sử dụng: xác định hệ thống cuối sử dụng cho truyền thông,
các user có thể di chuyển đến các vị trí khác nhau và truy cập vào hệ thống
từ xa. Điều này tương tự các dịch vụ được cung cấp bởi RAS trong H.323.
o Sự sẵn sàng của người sử dụng: xác định sự sẵn sàng của bên nhận tham
gia vào truyền thông.
o Năng lực người sử dụng: xác định phương tiện và các thông số để sử
dụng SIP dùng giao thức SDP để thống nhất tham số truyền thông.
o Thiết lập phiên: “gọi”, thiết lập các thông số phiên gọi ở cả bên gọi và
bên nhận theo báo hiệu trực tiếp hay thông qua proxy server.
o Quản lý phiên gọi: bao gồm chuyển và kết thúc phiên, thay đổi các thông
số phiên và gọi các dịch vụ.
.II.1.1. Lược sử SIP
SIP là một giao thức chuẩn của IETF.
o Tác giả: M.Handley, H.Schulzrinne, E.Schooler vàJ.Rosenberg.
o Trở thành giao thức chuẩn định nghĩa trong RFC 2543 tháng Ba, năm
1999.
o Thiết lập WorkGroup riêng vào tháng Chín, năm 1999.
o Được định nghĩa đầy đủ trong RFC 3261 tháng Bảy, năm 2002.
Trần Minh Ánh – Huỳnh Thanh Quang, LỚP 02T2 11

×