BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o-----
KHÓA LUẬN TỐT NGHIỆP
NGÀNH: KHOA HỌC MÁY TÍNH
Xây Dựng Ứng Dụng "Lớp Học Từ Xa" Với
Giao Thức SIP
Nhóm SV thực hiện : Nguyễn Hữu Nguyên Khoa – 10701062
Châu Bội Lương - 10761242
Chuyên ngành: Mạng máy tính
GVHD : Ths. Huỳnh Minh Quang
Thành phố Hồ Chí Minh – năm 2011
Lời Cảm Ơn
Trước hết, chúng em xin cảm ơn thầy Huỳnh Minh Quang đã giới thiệu công nghệ, trực tiếp
hướng dẫn và cung cấp tài liệu giúp chúng em hoàn thành khóa luận tốt nghiệp.
Chúng em xin chân thành cảm ơn khoa công nghệ thông tin, trường đại học Mở thành phố
Hồ Chí Minh đã tạo điều kiện tốt cho chúng em thực hiện khóa luận này, cùng 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.
Cuối cùng, xin cảm ơn những bạn học đã ủng hộ, giúp đỡ và đóng góp ý kiến cho chúng tôi
trong thời gian học tập và thực hiện khóa luận.
Mặc dù chúng em đã cố gắng thực hiện đồ án trong khả năng và phạm vi cho phép nhưng
chắc chắn sẽ không thể tránh khỏi những thiếu sót. Chúng em kính mong nhận được sự cảm
thông và tận tình chỉ bảo của quý thầy cô.
Nhóm sinh viên thực hiện
Nguyễn Hữu Nguyên Khoa - Châu Bội Lương
Thành phố Hồ Chí Minh, ngày 20 tháng 09 năm 2011
2
Nhận xét của giảng viên hướng dẫn
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3
Nhận xét của giảng viên phản biện
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
4
MỤC LỤC
DANH MỤC BẢNG .....................................................................................................................................7
DANH MỤC HÌNH ......................................................................................................................................8
PHẦN I: TỔNG QUAN......................................................................................................................11
1.
2.
3.
Giới thiệu ........................................................................................................................................12
Phạm vi và mục tiêu của khóa luận .................................................................................................12
Nội dung khóa luận .........................................................................................................................12
PHẦN II: CƠ SỞ LÝ THUYẾT .....................................................................................................14
CHƯƠNG 1: TỔNG QUAN VỀ SIP ........................................................................................................15
1. Khái niệm SIP .................................................................................................................................15
1.1. SIP: ............................................................................................................................................ 15
1.2. Tại sao dùng SIP? ...................................................................................................................... 15
1.3. Địa chỉ SIP: ............................................................................................................................... 16
2. Chức năng: ......................................................................................................................................17
2.1. Khởi tạo, hiệu chỉnh và kết thúc phiên: ..................................................................................... 17
2.2. Xác định vị trí của người dùng: ................................................................................................. 17
3. Các thực thể: ...................................................................................................................................18
3.1. User Agent:................................................................................................................................ 18
3.2. Registrar: ................................................................................................................................... 19
3.3. Proxy: ........................................................................................................................................ 20
3.4. Back-to-back User Agent: ......................................................................................................... 21
CHƯƠNG 2: PHƯƠNG THỨC HOẠT ĐỘNG SIP ...............................................................................23
1. SIP Message: ...................................................................................................................................23
2. SIP request: .....................................................................................................................................23
2.1. Các Sip Request cơ bản : ........................................................................................................... 24
2.2. Các Sip Request mở rộng .......................................................................................................... 28
3. SIP response: ...................................................................................................................................29
4. SIP Header: .....................................................................................................................................30
CHƯƠNG 3: CẤU TRÚC SIP ..................................................................................................................32
1. Tổng quan: ......................................................................................................................................32
2. SIP Core sublayer:...........................................................................................................................33
2.1. Transaction sublayer: ................................................................................................................ 34
2.2. Transport sublayer: .................................................................................................................... 35
CHƯƠNG 4: SESSION DESCRIPTION PROTOCOL .........................................................................37
1. Nguồn gốc: ......................................................................................................................................37
2. Tổng quan: ......................................................................................................................................37
3. Các dòng mô tả quan trọng: ............................................................................................................39
CHƯƠNG 5: GIAO DIỆN JAIN SIP .......................................................................................................41
1. Khái niệm Jain SIP: .........................................................................................................................41
2. Kiến trúc Jain SIP: ..........................................................................................................................41
2.1. Peer-provider pattern : ............................................................................................................... 41
2.2. Factory pattern:.......................................................................................................................... 43
2.3. Event-listener pattern : .............................................................................................................. 47
5
CHƯƠNG 6: JAVA MEDIA FRAMEWORK API ................................................................................49
1. Tổng quan .......................................................................................................................................49
2. Luồng dữ liệu đa phương tiện: ........................................................................................................50
3. Các đối tượng trong JMF ................................................................................................................50
3.1. Manager:.................................................................................................................................... 50
3.2. Data Source ............................................................................................................................... 51
3.3. Player:........................................................................................................................................ 51
3.4. Processor: .................................................................................................................................. 52
3.5. Data Sink: .................................................................................................................................. 53
3.6. SessionManager: ....................................................................................................................... 53
4. Kiến trúc JMF: ................................................................................................................................54
4.1. Mô hình thời gian (Time Model):.............................................................................................. 54
4.2. Mô hình sự kiện (Event Model) ................................................................................................ 56
4.3. Mô hình dữ liệu (Data Model)................................................................................................... 56
PHẦN III: THIẾT KẾ ỨNG DỤNG .............................................................................................59
1.
2.
3.
Giới thiệu: .......................................................................................................................................60
Chức năng: ......................................................................................................................................60
Website: ..........................................................................................................................................61
3.1. Mô hình ý niệm: ........................................................................................................................ 61
3.2. Sơ đồ lớp: .................................................................................................................................. 61
3.3. Chi tiết website: ......................................................................................................................... 63
4. Ứng dụng: .......................................................................................................................................83
4.1. Hoạt động Client-Server:........................................................................................................... 83
4.2. Client: ........................................................................................................................................ 90
4.3. Server: ..................................................................................................................................... 105
PHẦN IV: TỔNG KẾT ....................................................................................................................117
1.
2.
3.
4.
Nhận xét: .......................................................................................................................................117
Kết quả hiện thực ứng dụng: .........................................................................................................118
Hạn chế : .......................................................................................................................................118
Hướng phát triển: ..........................................................................................................................118
TÀI LIỆU THAM KHẢO .......................................................................................................................118
6
DANH MỤC BẢNG
Bảng 1.1: So sánh giữa SIP và H.323............................................................................................ 16
Bảng 2.1 Phân loại các trả lời ........................................................................................................ 30
Bảng 4.1: Các dòng mô tả cấp phiên ............................................................................................. 38
Bảng 4.2: Các dòng mô tả cấp thời gian........................................................................................ 38
Bảng 4.3: Các dòng mô tả cấp media ............................................................................................ 39
7
DANH MỤC HÌNH
Một số hình ảnh minh họa được trích từ [3].
Hình 1.1: User Agent ...................................................................................................................................19
Hình 1.2: Hoạt động của Registrar và Location Service ..............................................................................20
Hình 1.3: Back-to-back user agent ...............................................................................................................22
Hình 2.1: Cấu trúc thông điệp SIP ...............................................................................................................23
Hình 2.2: Hoạt động đăng ký .......................................................................................................................25
Hình 2.3: Hoạt động khởi tạo phiên truyền thông ........................................................................................26
Hình 2.4: Hủy lời mời ..................................................................................................................................27
Hình 2.5: Kết thúc phiên ..............................................................................................................................28
Hình 3.1: Mô hình theo lớp của SIP .............................................................................................................33
Hình 3.2: Các SIP core sublayer ..................................................................................................................34
Hình 3.3: Hoạt động giữa các lớp trong UA ................................................................................................35
Hình 5.1: Mô hình phân lớp trong giao thức SIP .........................................................................................41
Hình 5.2: Mô hình peer-provider trong JAIN SIP........................................................................................42
Hình 5.3: Sử dụng mô hình Factory .............................................................................................................44
Hình 5.4: Mô hình thông điệp SIP trong JAIN SIP......................................................................................44
Hình 5.5: Mô hình Address trong JAIN SIP ................................................................................................46
Hình 5.6: Mô hình Header trong JAIN SIP ..................................................................................................47
Hình 5.7: Mô hình sự kiện ...........................................................................................................................47
Hình 5.8: Đối tượng sự kiện trong JAIN SIP ...............................................................................................48
Hình 6.1: Mô hình xử lý dữ liệu của JMF ....................................................................................................49
Hình 6.2: Data source ở các giai đoạn khác nhau ........................................................................................51
Hình 6.3: Player trong JMF ..........................................................................................................................51
Hình 6.4: Trạng thái của Player ...................................................................................................................52
Hình 6.5: Processor trong JMF ....................................................................................................................52
Hình 6.6: Trạng thái của Processor ..............................................................................................................53
Hình 6.7: Datasink trong JMF ......................................................................................................................53
Hình 6.8: Session Manager trong JMF.........................................................................................................54
Hình 6.9: JMF time model ...........................................................................................................................55
Hình 6.10: JMF event model ........................................................................................................................56
Hình 6.11: JMF data model ..........................................................................................................................57
Hình 6.12: Định dạng media trong JMF ......................................................................................................58
Hình III.1: Mô hình ý niệm website ILearning ............................................................................................61
Hình III.2: Sơ đồ thiết kế lớp website Ilearning ...........................................................................................62
8
Hình III.3: Trang đăng nhập .........................................................................................................................63
Hình III.4: Lưu đồ xử lý đăng nhập ............................................................................................................64
Hình III.5: Xử lý đăng nhập .........................................................................................................................65
Hình III.6: Trang quản lý thông tin cá nhân .................................................................................................65
Hình III.7: Lưu đồ cập nhật thông tin user ...................................................................................................66
Hình III.8: Xử lý cập nhật thông tin .............................................................................................................67
Hình III.9: Lưu đồ xử lý đổi mật khẩu ........................................................................................................68
Hình III.10: Xử lý đổi mật khẩu ...................................................................................................................69
Hình III.11: Trang quản lý lớp học đã đăng ký ............................................................................................70
Hình III.12: Lưu đồ xử lý tìm kiếm..............................................................................................................70
Hình III.13: Xử lý tìm kiếm lớp học đã đăng ký ..........................................................................................71
Hình III.14: Xử lý xóa lớp đã đăng ký .........................................................................................................71
Hình III.15: Trang thông tin lớp học ...........................................................................................................72
Hình III.16: Trang đăng ký lớp học .............................................................................................................73
Hình III.17: Lưu đồ xử lý đăng ký lớp học ..................................................................................................74
Hình III.18: Xử lý đăng ký lớp học ..............................................................................................................75
Hình III.19: Trang lịch giảng dạy.................................................................................................................76
Hình III.20: Trang chi tiết lớp học ...............................................................................................................76
Hình III.21: Trang quản lý user ....................................................................................................................77
Hình III.22: Xử lý tìm kiếm user..................................................................................................................78
Hình III.23: Xử lý cập nhật quyền user ........................................................................................................78
Hình III.24: Xử lý xóa user ..........................................................................................................................79
Hình III.25: Trang quản lý lớp học ..............................................................................................................79
Hình III.26: Xử lý xóa lớp học .....................................................................................................................80
Hình III.27: Trang tạo lớp học .....................................................................................................................81
Hình III.28: Lưu đồ xử lý tạo lớp học ..........................................................................................................82
Hình III.29: Xử lý tạo lớp học ......................................................................................................................83
Hình III.30: Hoạt động đăng nhập ...............................................................................................................84
Hình III.31: Hoạt động đăng xuất ................................................................................................................85
Hình III.32: Hoạt động gửi lời mời thiết lập phiên ......................................................................................86
Hình III.33: Hoạt động tham gia vào lớp học ..............................................................................................87
Hình III.34: Hoạt động gửi thông điệp chat .................................................................................................88
Hình III.35: Hoạt động gửi thông điệp chat trong lớp .................................................................................88
Hình III.36: Hoạt động rời khỏi lớp học ......................................................................................................89
Hình III.37: Bộ máy trạng thái của ứng dụng phía client .............................................................................90
Hình III.38: Mô hình sử dụng ứng dụng ILearning......................................................................................91
9
Hình III.39: Lưu đồ xử lý đăng nhập ...........................................................................................................92
Hình III.40: Sơ đồ lớp xử lý đăng nhập .......................................................................................................93
Hình III.41: Lưu đồ xử lý thay đổi trạng thái ...............................................................................................93
Hình III.42: Lưu đồ xử lý thêm bạn ............................................................................................................94
Hình III.43: Lưu đồ xử lý xóa bạn ...............................................................................................................95
Hình III.44: Lưu đồ xử lý chat text .............................................................................................................96
Hình III.45: Sơ đồ lớp xử lý chat text ..........................................................................................................96
Hình III.46: Lưu đồ xử lý chat voice/video..................................................................................................97
Hình III.47: Sơ đồ lớp xử lý chat voice/video ..............................................................................................98
Hình III.48: Lưu đồ xử lý tham gia lớp học .................................................................................................99
Hình III.49: Sơ đồ lớp xử lý tham gia lớp học ...........................................................................................100
Hình III.50: Lưu đồ xử lý rời khỏi lớp học ................................................................................................100
Hình III.51: Sơ đồ lớp xử lý rời khỏi lớp học ............................................................................................101
Hình III.52: Lưu đồ xử lý giảng viên bắt đầu lớp học................................................................................102
Hình III.53: Sơ đồ lớp xử lý giảng vien bắt đầu lớp học............................................................................102
Hình III.54: Lưu đồ xử lý giảng viên kết thúc lớp học ..............................................................................103
Hình III.55: Sơ đồ lớp xử lý giảng viên kết thúc lớp học...........................................................................103
Hình III.56: Lưu đồ xử lý chia sẻ tập tin ....................................................................................................104
Hình III.57: Lưu đồ xử lý thông điệp gửi đến server .................................................................................105
Hình III.58: Lưu đồ xử lý thông điệp REGISTER .....................................................................................106
Hình III.59: Sơ đồ lớp xử lý thông điệp REGISTER khi user đăng nhập .................................................107
Hình III.60: Sơ đồ lớp xử lý thông điệp REGISTER khi user đăng xuất.................................................108
Hình III.61: Lưu đồ xử lý thông điệp INVITE ...........................................................................................109
Hình III.62: Sơ đồ lớp xử lý INVITE gửi đến một user khác ....................................................................110
Hình III.63: Sơ đồ lớp xử lý INVITE vào lớp học .....................................................................................111
Hình III.64: Lưu đồ xử lý bắt đầu học ......................................................................................................112
Hình III.65: Sơ đồ lớp xử lý bắt đầu học....................................................................................................112
Hình III.66: Lưu đồ xử lý thông điệp MESSAGE .....................................................................................113
Hình III.67: Sơ đồ lớp xử lý thông điệp MESSAGE .................................................................................114
Hình III.68: Lưu đồ xử lý thông điệp BYE ................................................................................................115
Hình III.69: Sơ đồ lớp xử lý thông điệp BYE ............................................................................................116
10
PHẦN I: TỔNG QUAN
11
1. Giới thiệu
Ngày nay, chúng ta đang sống trong một thế giới mà mạng Internet và email phát triển rộng
khắp. Và hai giao thức mạng được sử dụng phổ biến là: Giao thức truyền tải siêu văn bản
(Hypertext Transfer Protocol) và giao thức truyền tải thư đơn giản (Simple Mail Transfer
Protocol). Tuy nhiên, nhu cầu về truyền thông đa phương tiện, nhu cầu liên lạc trực tiếp với mọi
người ngày càng cao, dẫn đến sự cần thiết phải có một giao thức để đáp ứng các yêu cầu trên. Và
giao thức khởi tạo phiên (Session Initiation Protocol - SIP) đã quyết được vấn đề.
2. Phạm vi và mục tiêu của khóa luận
Giao thức SIP xuất hiện vào cuối những năm 1990 và nhanh chóng phát triển. SIP được cài
đặt trong các phần cứng, ứng dụng, điện thoại thông minh và các dịch vụ trực tuyến. Tuy nhiên,
SIP không phải là giải pháp cho mọi vấn đề giao tiếp truyền thông. Cho nên để có thể triển khai,
cài đặt mạng lưới dùng SIP trước tiên cần hiểu được bản chất của giao thức. Khóa luận tập trung
vào tìm hiểu và phân tích giao thức SIP để làm rõ các khái niệm nền tảng, hoạt động, nguyên lý
và chức năng của SIP.
Ngoài ra, khóa luận còn đề cập đến một vài giao thức thường được sử dụng cùng với giao
thức SIP.
Trên cơ sở nhận thức được bản chất, hoạt động của giao thức, chúng em sẽ xây dựng ứng
dụng lớp học từ xa có cài đặt giao thức SIP để nắm vững và hiểu rõ hơn các vấn đề của giao thức.
3. Nội dung khóa luận
Khóa luận gồm 4 phần:
-
Phần I: Tổng quan. Giới thiệu về đề tài, phạm vi và mục tiêu của khóa luận.
-
Phần II: Cơ sở lý thuyết. Tìm hiểu các vấn đề của giao thức SIP và một số giao thức liên
quan. Phần này gồm 6 chương:
o Chương 1: Tổng quan SIP. Giới thiệu về khái niệm, các thực thể và chức năng của
giao thức SIP.
o Chương 2: Phương thức hoạt động. Chương này đi sâu vào tìm hiểu các thông
điệp, các header và phân tích một số kịch bản để hiểu rõ hoạt động của giao thức.
12
o Chương 3: Cấu trúc. Phân tích mô hình của giao thức SIP, các lớp trong mô hình
của giao thức.
o Chương 4: Session Description Protocol. Giới thiệu về giao thức mô tả phiên.
o Chương 5: JAIN SIP API. Giới thiệu tổng quan về giao diện lập trình ứng dụng
JAIN SIP.
o Chương 6: Java Media Framework API. Giới thiệu về giao diện lập trình ứng dụng
JMF, được dùng để xây dựng các chức năng đa phương tiện.
-
Phần III: Thiết kế, xây dựng hệ thống ứng dụng lớp học từ xa.
-
Phần IV: Tổng kết. Tổng kết, đánh giá và đề nghị các hướng nghiên cứu, phát triển trong
tương lai.
13
PHẦN II: CƠ SỞ LÝ THUYẾT
14
CHƯƠNG 1:
TỔNG QUAN VỀ SIP
1. Khái niệm SIP
1.1. SIP
Giao thức khởi tạo phiên - Session Initiation Protocol (SIP) là giao thức báo hiệu
(signaling protocol) được định nghĩa bởi IETF (Internet Engineering Task Force) và đặc tả
trong [8]. SIP được sử dụng rộng rãi để thiết lập và điều khiển các phiên truyền qua giao thức
Internet (IP). Một phiên truyền thông là sự trao đổi dữ liệu giữa các bên tham gia phiên
truyền thông [8]. SIP có thể được sử dụng để tạo, sửa đổi và kết thúc các phiên truyền thông
đơn bá (unicast) hoặc quảng bá (multicast) tương ứng với cuộc gọi điểm tới điểm và cuộc gọi
đa điểm.
SIP là giao thức lớp ứng dụng được thiết kế để làm việc độc lập với tầng transport bên
dưới nên nó có thể chạy trên các giao thức TCP, UDP, hoặc SCTP.
SIP là giao thức dạng chữ và sử dụng nhiều thành phần tương tự như trong giao thức
HTTP và SMTP.
SIP được dùng trong giao tiếp ngang hàng (peer-to-peer) tuy nhiên SIP sử dụng mô hình
client-server tương tự giao thức HTTP. SIP client tạo và gửi các yêu cầu đến SIP server. SIP
server tạo và gửi các trả lời tương ứng cho client.
Giao thức báo hiệu không phải là giao thức truyền tải nội dung truyền thông nên SIP
được dùng kết hợp với một số giao thức lớp ứng dụng khác để cung cấp các dịch vụ khác
nhau như: Real-time Transport Protocol (RTP), Real-Time Streaming Protocol (RTSP),
Media Gateway Control Protocol (MEGACO), và Session Description Protocol (SDP), v.v...
Tuy nhiên chức năng và hoạt động cơ bản của SIP không phụ thuộc vào các giao thức trên
[8].
1.2. Tại sao dùng SIP?
Trong thực tế đã có một giao thức có chức năng khởi tạo phiên tương tự giao thức SIP
và được phổ biến khá rộng rãi là giao thức H.323. H.323 nổi bật về chức năng thoại qua mạng
(VOIP) và hội nghị video. Tuy nhiên, SIP vẫn có những ưu điểm vượt trội so với H.323 và
15
các ứng dụng đang dần chuyển sang sử dụng SIP. Bảng 1.1 so sánh giữa giao thức SIP và
H323.
SIP
H.323
Phát triển bởi IETF
Phát triển bởi ITU
Tính đơn giản và mở
Phức tạp và cứng nhắc
Sử dụng các đối tượng mạng có sẵn như URL, Tự đặc tả tất cả các đối tượng nó sử dụng kể cả
MIME, DNS, v.v…
bộ codec cho media và việc truyền gói RTP.
Định dạng chữ đọc được
Định dạng chuỗi nhị phân
Độ trễ nhỏ
Độ trễ có thể đến 7-8 giây
CPU xử lý thông điệp nhẹ hơn
CPU xử lý nhiều
Xử lý nhiều phiên hơn
Xử lý ít phiên hơn
Hỗ trợ điều khiển bên thứ 3 (Third-party Không hỗ trợ
Control)
Thuật toán chống lặp hiệu quả hơn
Thuật toán chống lặp đơn giản trong phiên bản
3. Phiên bản 1 và 2 không hỗ trợ.
Bảng 1.1: So sánh giữa SIP và H.323
1.3. Địa chỉ SIP:
Trong kiến trúc SIP, user thường được xác định bằng cách sử dụng một địa chỉ SIP gọi
là SIP URI (Universal Resource Identifier). SIP URI xác định các nguồn tài nguyên truyền
thông.
Ví dụ: sip:
[email protected]
Một SIP URI bắt đầu bằng cụm “sip:” hoặc “sips:” và theo sau là 2 thành phần được
ngăn cách bởi dấu ‘@’. Phần trước dấu ‘@’, là phần người sử dụng tùy chọn, trong đó xác
định tài nguyên nào đó tại máy chủ đang làm việc. Phần còn lại là phần host và port, xác định
nguồn cung cấp tài nguyên. Có thể là một tên miền đầy đủ (FQDN) hoặc một địa chỉ IP và
16
port. Ngoài ra, SIP URI có thể chứa một số tham số có ảnh hưởng đến các yêu cầu. Các tham
số được thêm vào sau phần host và port, và được ngăn cách bởi dấu chấm phẩy. Cụ thể một
SIP URI có cấu trúc như sau:
sip:user:password@host:port;uri-parameters?headers
Phần thông tin user và password có thể trống khi host đích không có user hoặc chính
host đó là tài nguyên được xác định và khi đó cũng không có dâu “@”. Password là mật khẩu
của user tương ứng. Tuy nhiên, không nên sử dụng mật khẩu trong SIP URI bởi vì password
sẽ xuất hiện dưới dạng văn bản đọc được do đó sẽ là một lỗ hổng bảo mật [8]. Headers là các
header gửi kèm theo yêu cầu. Được phân cách với phần host và port bằng dấu “?”
SIP có thể sử dụng các URI khác để xác định tài nguyên là một đặc điểm mạnh mẽ của
SIP bởi vì nó sẽ cho phép kết hợp các dịch vụ Internet khác như email hay web, với các dịch
vụ truyền thông SIP.
2. Chức năng:
Như đã nói, SIP là giao thức truyền tín hiệu và chức năng của SIP tập trung vào hai khía
cạnh: Một là, các vấn đề về điều khiển phiên như khởi tạo, hiệu chỉnh và kết thúc phiên. Hai là,
vấn đề về xác định vị trí của người dùng.
2.1. Khởi tạo, hiệu chỉnh và kết thúc phiên:
Như tên gọi của giao thức – Giao thức khởi tạo phiên – chức năng chính của giao thức
là khởi tạo các phiên truyền thông đa phương tiện. Người dùng có thể gửi yêu cầu mời tham
gia phiên truyền thông và ngược lại nhận lời mời bằng cách gửi trả lời chấp nhận.
SIP còn được sử dụng để hiệu chỉnh, thay đổi các tham số của phiên đang hoạt động.
ví dụ, để thêm một thành phần media mới vào trong phiên.
Cuối cùng là kết thúc phiên. Người dùng gửi yêu cầu kết thúc phiên và xác nhận kết
thúc phiên bằng trả lời chấp nhận.
2.2. Xác định vị trí của người dùng:
Trong mạng IP, các gói tin được định tuyến nhờ vào địa chỉ IP. Tuy nhiên, người sử
dụng SIP không biết địa chỉ IP của đối phương mà chỉ biết địa chỉ public dưới dạng SIP
URI “luận lý”. Người sử dụng SIP có thể dùng ứng dụng SIP trên nhiều loại thiết bị khác
nhau như PC, laptop , hoặc điện thoại di động,… Mỗi thiết bị có một địa chỉ IP khác nhau.
17
Do đó, cần có một hệ thống có thể lần theo địa chỉ IP của người dùng, ánh xạ nó vào địa chỉ
public, và lưu trữ thông tin đó vào một bảng. Trong quá trình thiết lập phiên, cần truy vấn
đến bảng thông tin đó để lấy địa chỉ IP đúng để gửi các gói tin đến.
Với mục đích đó, SIP định nghĩa một thủ tục gọi là thủ tục đăng kí. Mỗi đầu cuối
muốn nhận các cuộc gọi đa phương tiện phải đăng kí trước. Nghĩa là, nó phải gửi địa chỉ IP
hiện thời và địa chỉ public đến SIP server (còn gọi là Registrar) của nó và server này sẽ cập
nhật địa chỉ vào bảng cơ sở dữ liệu.
3. Các thực thể:
SIP
network
bao
gồm
bốn
loại
thực
thể
SIP
luận
lí.
Mỗi
thực
thể
có các chức năng cụ thể và tham gia vào phiên truyền thông SIP như một client (gởi yêu cầu),
một server (đáp ứng yêu cầu), hoặc vừa là client vừa là server. Một thiết bị vật lý
có
thể
có
một
hoặc
nhiều
chức
năng
của
thực
thể
SIP.
Ví
dụ,
một
server làm việc như một proxy server cũng có thể có chức năng như một Registrar. Các thực thể
đó là:
− User Agent (UA)
− Registrar
− Proxy
− Back-to-Back User Agents (B2BUA)
3.1. User Agent:
Trong SIP, User Agent (UA) là thực thể đầu cuối. UA tạo và hủy các phiên làm việc
bằng cách trao đổi yêu cầu và trà lời. Một SIP UA có hai thành phần: một User Agent
Client (UAC) và một User Agent Server (UAS). UAC có trách nhiệm tạo yêu cầu SIP và
nhận các trả lời tương ứng. UAS có trách nhiệm nhận yêu cầu và tạo ra các trả lời thích
hợp.
18
Hình 1.1: User Agent
3.2. Registrar:
Registar là server nhận yêu cầu đăng ký từ các UA. SIP UA gửi vị trí hiện tại của
mình cùng với địa chỉ public đến registrar server. Một UA phải được đăng ký trước khi nó
có thể nhận cuộc gọi đa phương tiện. Khi Registar nhận yêu cầu đăng ký và lưu các thông
tin nhận được vào cơ sở dữ liệu được gọi là Location Service.
Location Service:
− Location Service không phải là một thực thể SIP. Location Service là một cơ
sở dữ liệu chứa danh sách các ánh xạ giữa Address of Record (AORs), thể
hiện địa chỉ SIP public và Contact Address (Đại diện cho vị trí user). Cả
AORs và Contact Address được thể hiện dưới dạng SIP URI. Khi registrar
nhận được yêu cầu đăng ký từ một UA, nó cập nhật Location Service với các
thông tin nhận được.
− Location Service này cũng được truy vấn bởi các proxy server của một miền
để có được thông tin về các địa chỉ có thể có của người sử dụng.
− Trong nhiều hiện thức cài đặt, Location Service và SIP server được đặt trên
cùng một hệ thống.
19
Hình 1.2: Hoạt động của Registrar và Location Service
3.3. Proxy:
Proxy là một thực thể trung gian vừa hoạt động như client vừa hoạt động như server.
Nó chủ yếu đóng vai trò như một router, công việc của nó là gửi các yêu cầu đến đích hoặc
đến các proxy khác gần đích hơn. Proxy cũng làm nhiệm vụ áp đặt chính sách (Ví dụ, cho
phép ai được thực hiện cuộc gọi). Proxy thông dịch và thay đổi một số phần của yêu cầu
trước khi forward nếu cần thiết.
Có thể có nhiều Proxy giữa UAC và UAS để định tuyến các thông điệp SIP. Phân loại
theo chức năng thì có hai loại SIP Proxy là outbound proxy và inbound proxy:
− Outbound Proxy: giúp các UA định tuyến các yêu cầu đi ra. Các UA thường được
cấu hình để định tuyến tất cả các yêu cầu đến outbound proxy.
− Inbound Proxy: là một proxy server xử lý các yêu cầu đi vào miền mà nó quản lý.
Cơ bản là nó giúp định tuyến các yêu cầu vào nó đến các UA tương ứng trong
miền. Khi một inbound proxy nhận một yêu cầu đến user nằm trong miền nó quản
lý, proxy sẽ truy vấn Location Service, lấy địa chỉ của UA đó và forward yêu cầu
đến địa chỉ đó.
20