Dao tao tu_xa_net
Transcript of Dao tao tu_xa_net
KHOA CNTT –
ĐH KHTN
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
Khoa Học Tự Nhiên, TpHCM đã 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 Đỗ Hoàng Cường đã 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.
Chúng con xin gửi lòng biết ơn sâu sắc đến ba, mẹ, và gia đình đã nuôi dưỡng, giáo
dục chúng con thành người.
Chúng em xin chân thành các anh chị em và bạn bè đã ủng hộ, giúp đỡ và động viên
trong những lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu.Đặc
biệt chúng em xin chân thành cảm ơn anh Tô Hiểu Thảo thuộc công ty Global
CyberSoft đã giúp chúng em thực hiện đề tài này. Nhờ anh mà chúng em có thể
nhanh chóng hiểu được công nghệ H323 đang được sử dụng rộng rãi hiện nay.
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ắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông
và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Nhóm thực hiện Nguyễn Minh Trí & Nguyễn Thanh Tuấn
i
KHOA CNTT –
ĐH KHTN
LỜI NÓI ĐẦU
Trong thời đại ngày này, công nghệ thông tin đóng vài trò quan trọng hầu như trong
tất cả các lĩnh vực. Do vậy con người phải không ngừng học tập để mở mang, trao
dồi kiến thức. Nếu không bổ sung kiến thức chúng ta sẽ bị tụt hậu trong thời đại
thông tin phát triển một cách nhanh chóng như hiện nay. Nhất là khi internet xuất
hiện, nhu cầu trao đổi thông tin ngày càng cao, nhu cầu học hỏi kiến thức không chỉ
gói gọn trong nhà trường, hoặc trong lớp học., giờ đây với máy vi tính cùng với
mạng internet, chúng ta có thể tham gia vào các lớp học được mở trực tuyến, tham
gia phát biểu trong lớp học. Bây giờ cũng có những trang web hỗ trợ việc học trực
tuyến nhưng giá thành mắc, có khi không hỗ trợ người học tập tham gia trực tiếp vào
lớp học. Các bài giảng được thiết kế trước và được đưa lên mạng để cho người học
chép về học hoặc học trực tiếp trên trang web đó.
Trong những năm trước đây, các dịch vụ truyền thông đa phương tiện đều rất khó
thực hiện bởi ít có sự hỗ trợ về phần cứng, đặc biệt băng thông chính là điều khó
khăn nhất trong việc truyền tín hiệu âm thanh, và hình ảnh. Tuy nhiên, với kỹ thuật
phát triển hiện nay, các tín hiệu âm thanh và hình ảnh có thể được nén lại một cách
dễ dàng, tiết kiệm được băng thông. Do vậy, chúng em chọn đề tài “ Nghiên cứu và
xây dựng hệ thống phần mềm hỗ trợ việc dạy học trực tuyến trên mạng
internet/intranet ” nhằm xây dựng lên một hệ thống đào tạo từ xa, có hỗ trợ âm thanh
và hình ảnh để giúp cho giáo viên có thể giáo tiếp trực tiếp với sinh viên.
ii
KHOA CNTT –
ĐH KHTN
Nội dung của luận văn được trình bày trong 9 chương :
Chương 1 : Tổng Quan : Giới thiệu sơ lược về dạy học trực tuyến và nêu lên mục
tiêu của đề tài
Chương 2 : Tìm hiều chuẩn H323 và các ưu điểm của chuẩn H323
Chương 3 :Cấu hình mạng theo chuẩn H323 và các giao thức được sử dụng trong
chuẩn H323
Chương 4 : Nghiên cứu cách thức thiết lập cuộc gọi thông qua mạng H323
Chương 5 : Nghiên cứu các khả năng của chuẩn H323, các chuẩn nén âm thanh,
hình ảnh, các ứng dụng của chuẩn H323 trong việc xây dựng hội nghị và các dịch vụ
điện thoại thông qua IP
Chương 6 : Giới thiệu về hệ thống Student hỗ trợ trong việc dạy học trực tuyến
Chương 7 : Phân tích : trình bày bước phân tích trong xây dựng hệ thống
Chương 8 : Thiết kế và cài đặt : Trình bày bước thiết kế và cài đặt hệ thống
Chương 9 : Tổng kết : đánh giá hệ thống và nêu những bước phát triển trong tương
lai của hệ thống
iii
KHOA CNTT –
ĐH KHTN
MỤC LỤC
LỜI CÁM ƠN........................................................................................................................... i LỜI NÓI ĐẦU ......................................................................................................................... ii DANH SÁCH HÌNH ............................................................................................................. vii DANH SÁCH BẢNG ............................................................................................................. xi Chương 1 : Tổng quan.............................................................................................................1
1.1 Tổng quan.......................................................................................................................1 1.2 Mục tiêu của đề tài : .......................................................................................................1
Chương 2 : Tìm hiều chuẩn H323...........................................................................................2 2.1 Giới thiệu chuẩn H323: ..................................................................................................2 2.2 Các ưu điểm của chuẩn H323: .......................................................................................2
2.2.1 Cung cấp các bộ mã hoá đã được chuẩn hoá : ........................................................2 2.2.2 Tính tương thích cao : .............................................................................................2 2.2.3 Độc lập hệ thống mạng : .........................................................................................3 2.2.4 Độc lập với ứng dụng và hệ điều hành :..................................................................3 2.2.5 Hỗ trợ đa điểm : ......................................................................................................3 2.2.6 Quản lý băng thông : ...............................................................................................3 2.2.7 Hỗ trợ khả năng quản bá thông tin :........................................................................3 2.2.8 Linh hoạt : ...............................................................................................................3 2.2.9 Khả năng hội nghị liên mạng : ................................................................................3
Chương 3 : Cấu hình mạng theo chuẩn H323 .......................................................................4 3.1 Terminal : .......................................................................................................................4 3.2 Gateway : .......................................................................................................................6 3.3 Gatekeeper : ...................................................................................................................8 3.4 MCU (Multipoint Control Unit): .................................................................................10 3.5 Các giao thức sử dụng trong H323 : ............................................................................11
3.5.1 Giao thức H225 RAS ( Registration/Admission/Status) :.....................................11 3.5.2 Giao thức báo hiệu cuộc gọi H225 :......................................................................12 3.5.3 Giao thức điều khiển cuộc gọi H245 :...................................................................13 3.5.4 Giao thức RTP (Real-time Transport Protocol) : ..................................................14 3.5.5 Giao thức RTCP (Real-time Transport Control Protocol): ...................................17
3.6 Mã hóa/giải mã (CODEC) tín hiệu Audio : .................................................................17 3.7 Mã hoá/giải mã (CODEC)tín hiệu Video : ..................................................................18 3.8 Data channel (Kênh dữ liệu): .......................................................................................19
Chương 4 Thiết lập cuộc gọi thông qua mạng H323...........................................................20 4.1 Các thủ tục thực hiện trên kênh H225 RAS : ...............................................................20
4.1.1 Tìm gatekeeper :....................................................................................................20 4.1.2 Thủ tục đăng ký với gatekeeper : ..........................................................................21 4.1.3 Định vị điểm cuối :................................................................................................23 4.1.4 Các thủ tục khác : ..................................................................................................24
4.2 Thiết lập cuộc gọi giữa hai điềm cuối qua mạng H323 : .............................................24 4.2.1 Định tuyến kênh điều khiển và báo hiệu :.............................................................25 4.2.2 Quá trình thiết lập cuộc gọi qua mạng H323 : ......................................................27
Chương 5 : Các khả năng của chuẩn H323 và ứng dụng ...................................................49 5.1 Chuẩn nén âm thanh :...................................................................................................50
iv
KHOA CNTT –
ĐH KHTN
5.1.1 Chuẩn nén âm thanh G711:...................................................................................50 5.1.2 Chuẩn nén âm thanh G723 :..................................................................................50 5.1.3 Chuẩn nén âm thanh G729 :..................................................................................50
5.2 Chuẩn nén hình ảnh :....................................................................................................51 5.2.1 Chuẩn nén hình ảnh H261 :...................................................................................51 5.2.2 Chuẩn nén hình ảnh H263:....................................................................................51
5.3 Chuẩn T120 :................................................................................................................51 5.3.1 Giới thiệu : ............................................................................................................51 5.3.2 Các ưu điểm của T120 : ........................................................................................52
5.4 Phát triển dịch vụ điện thoại thông qua IP (VoIP): ......................................................53 5.4.1 Giới thiệu : ............................................................................................................53 5.4.2 Các ứng dụng của điện thoại IP : ..........................................................................54 5.4.3 Các ưu điểm của VoIP : ........................................................................................55
5.5 Xây dựng hội nghị đa truyền thông:.............................................................................56 5.5.1 Hội nghị đa điểm tập trung (Centralized multipoint conference): ........................56 5.5.2 Hội nghị đa điểm phân tán (Decentralized multipoint conference): .....................57 5.5.3 Hội nghị đa điểm phân tán tập trung kết hợp:.......................................................58
5.6 Bộ thư viện OpenH323: ...............................................................................................59 5.6.1 Giới thiệu : ............................................................................................................59 5.6.2 Cấu trúc phân lớp của thư viên OpenH323 :.........................................................59 5.6.3 Diễn giải ý nghĩa một số lớp : ...............................................................................63
Chương 6 : Student - Hệ thống hỗ trợ học từ xa :...............................................................64 6.1 Giới thiệu : ...................................................................................................................64 6.2 Đối tượng sử dụng hệ thống:........................................................................................65 6.3 Các chức năng : ............................................................................................................66
6.3.1 Chức năng dàng cho Admin :................................................................................66 6.3.2 Chức năng dành cho giáo viên : ............................................................................67 6.3.3 Chức năng dành cho sinh viên : ............................................................................69
Chương 7 : Phân tích .............................................................................................................70 7.1 Mô hình Use case : .......................................................................................................70 7.2 Danh sách các Actor : ..................................................................................................70 7.3 Danh sách các Use-case: ..............................................................................................71 7.4 Đặc tả các use-case chính :...........................................................................................73
7.4.1 Đặc tả use-case “KetNoi”: ....................................................................................73 7.4.2 Đặc tả use-case “DangNhap” : ..............................................................................74 7.4.3 Đặc tả use-case “ThayDoiThongTinCaNhan” : ....................................................75 7.4.4 Đặc tả use-case “DangKy” :..................................................................................76 7.4.5 Đặc tả use-case “QuanLyLop” :............................................................................77 7.4.6 Đặc tả use-case “QuanLyTextChat” : ...................................................................79 7.4.7 Đặc tả use-case “QuanLyHinhAnh” : ...................................................................80 7.4.8 Đặc tả use-case “QuanLyAmThanh” : ..................................................................81 7.4.9 Đặc tả use-case “QuanLyThanhVien” : ................................................................82 7.4.10 Đặc tả use-case “TaoLopHoc” : ..........................................................................84 7.4.11 Đặc tả use-case “ThayDoiChuLop” : ..................................................................85 7.4.12 Đặc tả use-case “QuanLyDSNguoiDung” : ........................................................86 7.4.13 Đặc tả use-case “ThayDoiQuyenNguoiDung” : .................................................87 7.4.14 Đặc tả use-case “TruyenAmThanh” : .................................................................88
v
KHOA CNTT –
ĐH KHTN
7.5 Phân tích kiến trúc hệ thống :.......................................................................................88 7.6 Phân tích các use-case chính : ......................................................................................90
7.6.1 Phân tích Use case “KetNoi”: ...............................................................................90 7.6.2 Phân tích Use case “DangNhap”:..........................................................................91 7.6.3 Phân tích Use case “DangKy”: .............................................................................92 7.6.4 Phân tích Use case “QuanLyLopHoc”:.................................................................93 7.6.5 Phân tích Use case “QuanLyThanhVien”: ............................................................95 7.6.6 Phân tích Use case “TaoLopHoc”:........................................................................97 7.6.7 Phân tích Use case “ThayDoiChuLop”:................................................................98 7.6.8 Phân tích Use case “ThayDoiQuyenNguoiDung”: ...............................................99 7.6.9 Phân tích Use case “TruyenAmThanh”: .............................................................100
Chương 8 : Thiết kế và cài đặt ............................................................................................101 8.1 Lược đồ triển khai của hệ thống :...............................................................................101
8.1.1 Các node và chức năng của các node..................................................................101 8.1.2 Triển khai hệ thống : ...........................................................................................101
8.2 Thiết kế dữ liệu : ........................................................................................................102 8.2.1 Sơ đồ lớp : ...........................................................................................................102 8.2.2 Thiết kế bảng lưu thông tin của lớp học :............................................................102 8.2.3 Thiết kế bảng lưu thông tin người sử dụng : .......................................................103
8.3 Thiết kế giao diện :.....................................................................................................104 8.3.1 Thiết kế màn hình chính :....................................................................................104 8.3.2 Thiết kế màn hình đăng nhập : ............................................................................109 8.3.3 Thiết kế màn hình hiển thị danh sách lớp : .........................................................110 8.3.4 Thiết kế màn hình tạo lớp học mới : ...................................................................112 8.3.5 Thiết kế màn hình xoá một lớp : .........................................................................113 8.3.6 Thiết kế màn hình thay đổi mật khẩu :................................................................114 8.3.7 Thiết kế màn hình server :...................................................................................115
8.4 Thiết kế xử lý : ...........................................................................................................116 8.4.1 Danh sách các xử lý : ..........................................................................................116 8.4.2 Thiết kế các xử lý chính : ....................................................................................117
8.5 Sơ đồ lớp của một số lớp xử lý chính : ......................................................................141 8.6 Công cụ và môi trường phát triển hệ thống................................................................142 8.7 Yêu cầu về phần cứng : ..............................................................................................143 8.8 Hướng dẫn sử dụng hệ thống : ...................................................................................143
8.8.1 Khởi động Server : ..............................................................................................143 8.8.2 Khởi động các client : .........................................................................................144
Chương 9 : Tổng kết ............................................................................................................145 9.1 Kết luận : ....................................................................................................................145 9.2 Hướng phát triển : ......................................................................................................145
vi
KHOA CNTT –
ĐH KHTN
DANH SÁCH HÌNH
Hình 3-1: Cấu hình mạng theo chuẩn H323 ........................................................................4
Hình 3-2: Cấu hình một terminal .........................................................................................5
Hình 3-3: Gateway .................................................................................................................6
Hình 3-4: Nội dung cơ bản của Gateway .............................................................................7
Hình 3-5: Kết hợp giữa đầu cuối (terminal), gatekeeper, gateway..................................10
Hình 3-6: Các giao thức sử dụng trong H323....................................................................11
Hình 3-7: Mã hoá gói tin RTP trong gói IP .......................................................................16
Hình 4-1: Tự động tìm gatekeeper......................................................................................21
Hình 4-2: Thủ tục đăng ký với gatekeeper ........................................................................22
Hình 4-3: Thủ tục đăng ký với gatekeeper ........................................................................23
Hình 4-4: Các kênh logic trong một cuộc gọi ....................................................................24
Hình 4-5: Gatekeeper tìm đường báo hiệu cuộc gọi .........................................................25
Hình 4-6: Báo hiệu cuộc gọi trực tiếp giữa các Endpoint.................................................26
Hình 4-7: Thiết lập kênh điều khiển H.245 trực tiếp giữa các Endpoint........................27
Hình 4-8: Gatekeeper định tuyến kênh điều khiển H.245................................................27
Hình 4-9: Cuộc gọi cơ bản không có gatekeeper...............................................................28
Hình 4-10: Hai điểm cuối đều đăng ký với một gatekeeper .............................................29
Hình 4-11: Hai điểm cuối đều đăng ký với một gatekeeper .............................................30
Hình 4-12: Chỉ có phía chủ gọi đăng ký – Báo hiệu trực tiếp ..........................................31
Hình 4-13: Chỉ có phía chủ gọi đăng ký – gatekeeper định tuyến báo hiệu ...................31
Hình 4-14: Chỉ có phía bị gọi đăng ký – Báo hiệu truyền trực tiếp.................................32
Hình 4-15: Chỉ có phía bị gọi đăng ký gatekeeper định tuyến báo hiệu .........................33
Hình 4-16: Hai đầu cuối đăng ký với hai gatekeeper –.....................................................34
Hình 4-17: Hai bên đăng ký với hai gatekeeper – Phía gọi truyền trực tiếp còn phía bị
gọi thì định tuyến báo hiệu qua gatekeeper 2 ............................................................35
Hình 4-18: Hai bên đăng ký với 2 gatekeeper – gatekeeper 1 phía gọi định tuyến báo
hiệu còn phía bị gọi thì truyền trực tiếp.....................................................................36
Hình 4-19: Hai đầu cuối đều đăng ký - Định tuyến qua hai gatekeeper .........................37
Hình 4-20: Yêu cầu thay đổi độ rộng của băng tần – thay đổi thông số truyền.............43
vii
KHOA CNTT –
ĐH KHTN
Hình 4-21: Yêu cầu thay đổi độ rộng băng tần – thay đổi thông số nhận.......................44
Hình 4-22: Điểm cuối kết thúc cuộc gọi có sự tham gia của gatekeeper .........................46
Hình 4-23: Kết thúc cuộc gọi bắt đầu từ gatekeeper ........................................................47
Hình 5-1: Các chuẩn được cung cấp trong chuẩn H323...................................................49
Hình 5-2: Hội nghị phân tán và tập trung .........................................................................57
Hình 5-3: Hội nghị đa điểm phân tán tập trung kết hợp..................................................59
Hình 7-1: Mô hình UseCase ................................................................................................70
Hình 7-2: Kiến trúc hệ thống .................................................. Error! Bookmark not defined.
Hình 7-3: Sơ đồ lớp đối tượng của Use case “KetNoi” .....................................................90
Hình 7-4: Sơ đồ lớp đối tượng của Use case “DangNhap”...............................................91
Hình 7-5: Sơ đồ lớp đối tượng của Use case “DangKy” ...................................................92
Hình 7-6: Sơ đồ lớp đối tượng của Use case “QuanLyLopHoc” – Thay doi mat khau.93
Hình 7-7: Sơ đồ lớp đối tượng của Use case “QuanLyLopHoc” – Xoa lop hoc .............94
Hình 7-8: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép phát
biểu ................................................................................................................................95
Hình 7-9: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép phát
hình ảnh.........................................................................................................................95
Hình 7-10: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Đuổi sinh viên .96
Hình 7-11: Sơ đồ lớp đối tượng của Use case “TaoLopHoc” ...........................................97
Hình 7-12: Sơ đồ lớp đối tượng của Use case “ThayDoiChuLop” ..................................98
Hình 7-13: Sơ đồ lớp đối tượng của Use case “ThayQuyenNguoiDung”........................99
Hình 7-14: Sơ đồ lớp đối tượng của Use case “TruyenAmThanh” ...............................100
Hình 8-1: Lược đồ triển khai của hệ thống......................................................................101
Hình 8-2: Ánh xạ từ lớp entity CClassDB sang lớp CRoomSet.....................................102
Hình 8-3: Ánh xạ từ lớp entity CuserDB sang lớp CusersSet........................................103
Hình 8-4: Màn hình chính .................................................................................................104
Hình 8-5: Màn hình thể hiện webcam..............................................................................105
Hình 8-6: Màn hình danh sách thành viên ......................................................................106
Hình 8-7: Menu call ...........................................................................................................107
Hình 8-8: Menu chat ..........................................................................................................107
Hình 8-9: Menu audio........................................................................................................107
Hình 8-10: Menu video ......................................................................................................108
viii
KHOA CNTT –
ĐH KHTN
Hình 8-11: Màn hình sau khi kết nối................................................................................109
Hình 8-12: Màn hình đăng nhập.......................................................................................109
Hình 8-13: Màn hình danh sách lớp.................................................................................111
Hình 8-14: Menu lớp học...................................................................................................112
Hình 8-15: Menu người dùng............................................................................................112
Hình 8-16: Màn hình tạo lớp học......................................................................................113
Hình 8-17: Màn hình xoá lớp học .....................................................................................113
Hình 8-18: Màn hình thay đổi mật khẩu .........................................................................114
Hình 8-19: Màn hình server ..............................................................................................115
Hình 8-20: Lược đồ tuần tự của xử lý XL1......................................................................117
Hình 8-21: Biểu đồ cộng tác của xử lý XL1 .....................................................................118
Hình 8-22: Lược đồ tuần tự của xử lý XL2......................................................................119
Hình 8-23: Biểu đồ cộng tác của xử lý XL2 .....................................................................120
Hình 8-24: Lược đồ tuần tự của xử lý XL3......................................................................121
Hình 8-25: Biểu đồ cộng tác của xử lý XL3 .....................................................................122
Hình 8-26: Lược đồ tuần tự của xử lý XL5......................................................................123
Hình 8-27: Biểu đồ cộng tác của xử lý XL5 .....................................................................124
Hình 8-28: Lược đồ tuần tự của xử lý XL6......................................................................125
Hình 8-29: Biểu đồ cộng tác của xử lý XL6 .....................................................................126
Hình 8-30: Lược đồ tuần tự của xử lý XL13....................................................................127
Hình 8-31: Biểu đồ cộng tác của xử lý XL13 ...................................................................128
Hình 8-32: Lược đồ của xử lý XL14 .................................................................................129
Hình 8-33: Biểu đồ cộng tác của xử lý XL14 ...................................................................130
Hình 8-34: Lược đồ tuần tự của xử lý XL15....................................................................131
Hình 8-35: Biểu đồ cộng tác của xử lý XL15 ...................................................................132
Hình 8-36: Lược đồ tuần tự của xử lý XL16....................................................................133
Hình 8-37: Biểu đồ cộng tác của xử lý XL16 ...................................................................134
Hình 8-38: Lược đồ tuần tự của xử lý XL17....................................................................135
Hình 8-39: Biểu đồ cộng tác của xử lý XL17 ...................................................................136
Hình 8-40: Lược đồ tuần tự của xử lý XL19....................................................................137
Hình 8-41: Biểu đồ cộng tác của xử lý XL19 ...................................................................138
Hình 8-42: Lược đồ tuần tự của xử lý XL24....................................................................139
ix
KHOA CNTT –
ĐH KHTN
Hình 8-43: Biểu đồ cộng tác của xử lý XL24 ...................................................................140
Hình 8-44: Khởi động server.............................................................................................143
Hình 8-45: Khởi động client ..............................................................................................144
Hình 8-46: Client đăng nhập.............................................................................................145
x
KHOA CNTT –
ĐH KHTN
DANH SÁCH BẢNG
Bảng 2-1: Bảng so sánh các chuẩn CODEC ......................................................................18
Bảng 5-1: Bảng tổng kết các chuẩn trong năm..................................................................49
Bảng 7-1: Danh sách các actor............................................................................................71
Bảng 7-2: Danh sách các use case .......................................................................................72
Bảng 7-3: Danh sách các lớp đối tượng của Use case “KetNoi” ......................................90
Bảng 7-4: Danh sách các lớp đối tượng của Use case “DangNhap”................................92
Bảng 7-5: Danh sách các lớp đối tượng của Use case “DangKy” ....................................93
Bảng 7-6: Danh sách các lớp đối tượng của Use case “QuanLyLopHoc” ......................94
Bảng 7-7: Danh sách các lớp đối tượng của Use case “QuanLyThanhVien”.................96
Bảng 7-8: Danh sách các lớp đối tượng của Use case “TaoLopHoc”..............................97
Bảng 7-9: Danh sách các lớp đối tượng của Use case “ThayDoiChuLop” .....................99
Bảng 7-10: Danh sách các lớp đối tượng của Use case “ThayDoiNguoiDung”............100
Bảng 7-11: Danh sách các lớp đối tượng của Use case “TruyenAmThanh” ................100
Bảng 8-1: Danh sách các thuộc tính của bảng CRoomSet .............................................103
Bảng 8-2: Danh sách các thuộc tính của bảng CUsersSet ..............................................103
Bảng 8-3: Các trường trên màn hình chính.....................................................................105
Bảng 8-4: Các trường trên màn hình thể hiện webcam..................................................106
Bảng 8-5: Các trường trên màn hình danh sách thành viên..........................................107
Bảng 8-6: Các trường trên menu call ...............................................................................107
Bảng 8-7: Các trường trên menu chat..............................................................................107
Bảng 8-8: Các trường trên menu audio ...........................................................................108
Bảng 8-9: Các trường trên menu video............................................................................108
Bảng 8-10: Các trường trên màn hình đăng nhập ..........................................................110
Bảng 8-11: Các trường trên màn hình thể hiện danh sách lớp......................................111
Bảng 8-12: Các trường trên menu lớp học ......................................................................112
Bảng 8-13: Các trường trên menu người dùng ...............................................................112
Bảng 8-14: Các trường trên màn hình tạo lớp học .........................................................113
Bảng 8-15: Các trường trên màn hình xóa lớp học.........................................................114
xi
KHOA CNTT –
ĐH KHTN
Bảng 8-16: Các trường trên màn hình thay đổi mật khẩu.............................................115
Bảng 8-17: Các trường trên màn hình server..................................................................115
Bảng 8-18: Danh sách các xử lý ........................................................................................117
Bảng 8-19: Danh sách các hành động của xử lý XL1......................................................119
Bảng 8-20: Danh sách các hành động của xử lý XL2......................................................121
Bảng 8-21: Danh sách các hành động của xử lý XL3......................................................123
Bảng 8-22: Danh sách các hành động của xử lý XL5......................................................125
Bảng 8-23: Danh sách các hành động của xử lý XL6......................................................127
Bảng 8-24: Danh sách các hành động của xử lý XL13....................................................129
Bảng 8-25: Danh sách các hành động của xử lý XL14....................................................131
Bảng 8-26: Danh sách các hành động của xử lý XL15....................................................133
Bảng 8-27: Danh sách các hành động của xử lý XL16....................................................135
Bảng 8-28: Danh sách các hành động của xử lý XL17....................................................137
Bảng 8-29: Danh sách các hành động của xử lý XL19....................................................139
Bảng 8-30: Danh sách các hành động của xử lý XL24....................................................141
xii
KHOA CNTT –
ĐH KHTN
Chương 1 : Tổng quan 1.1 Tổng quan
Dạy học trực tuyến là hình thức đào tạo không tập trung, các học viên không cần phải
tập trung tại một địa điểm cụ thể nào, điều này sẽ giúp cho các học viên ở xa không
có điều kiện đến lớp nhưng vẫn có thể tham gia vào lớp học. Điều đặc biệt là giáo
viên có thể trực tham gia giảng dạy tại một địa điểm nào đó. Học viên có thể trao đổi
trực tiếp với giáo viên.
1.2 Mục tiêu của đề tài :
Ở nước ta hiện nay, hình thức đào tạo thông dụng là học viên trực tiếp trên truyền
hình, các bài giảng được các giáo viên thu lại và phát trên truyền hình vào một thời
điểm nhất định. Hình thức này giúp cho học viên có thể tiếp thu bài tốt hơn nhưng lại
thiếu sự giao tiếp trực tiếp với giáo viên.
Các phần mềm hỗ trợ giảng dạy hiện đại hiện nay đều do nước ngoài viết, do vậy giá
thành mắc không phù hợp với điều kiện kinh tế của Việt Nam. Do vậy, chúng em đã
nghiên cứu, tìm hiểu các phương tiện đa truyền thông hiện nay để tạo ra một hệ thống
giúp cho việc dạy học trực tuyến phù hợp với điều kiện kinh tế nước ta hiện nay. Một
trong những chuẩn được áp dụng phổ biến hiện nay là chuẩn H323. Chúng em đã
nghiên cứu các tình năng ưu việt của chuẩn H323, những khả năng do chuẩn này
mang lại và đã xây dựng nên hệ thống hỗ trợ dạy học trực tuyến Student.
1
KHOA CNTT –
ĐH KHTN
Chương 2 : Tìm hiều chuẩn H323 2.1 Giới thiệu chuẩn H323:
H323 là một chuẩn quốc tế về hội thoại trên mạng được đưa ra bởi hiệp hội viễn
thông quốc tế ITU (International Telecommunication Union). Chuẩn H323 của ITU
xác định các thành phần, các giao thức, các thủ tục cho phép cung cấp dịch vụ truyền
dữ liệu đa phương tiện (multimedia) audio, video, data thời gian thực qua mạng
chuyển mạch gói (bao gồm cả mạng IP) mà không quan tâm đến chất lượng dịch vụ.
H323 nằm trong bộ các khuyến nghị H32x cung cấp các dịch vụ truyền dữ liệu đa
phương tiện qua các loại mạng khác nhau. Một trong các ứng dụng của H323 chính
là dịch vụ điện thoại IP và hội nghị đa truyền thông. Đến nay, H323 đã phát triển
thông qua hai phiên bản. Phiên bản thứ nhất được thông qua vào năm 1996 và phiên
bản thứ hai được thông qua vào năm 1998. ứng dụng vào chuẩn này rất rộng bao gồm
cả các thiết bị hoạt động độc lập cũng như ứng dụng truyền thông nhúng trong môi
trường máy tính cá nhân, có thể áp dụng cho đàm thoại điểm - điểm cũng như cho
truyền thông hội nghị. H323 còn bao gồm cả chức năng điều khiển cuộc gọi, quản lí
thông tin đa phương tiện và quản lí băng thông và đồng thời còn cung cấp giao diện
giữa mạng LAN và các mạng khác.
2.2 Các ưu điểm của chuẩn H323:
2.2.1 Cung cấp các bộ mã hoá đã được chuẩn hoá :
H.323 thiết lập các chuẩn nén và giải nén cho các luồng dữ liệu audio và video, bảo
đảm cho các thiết bị từ các nhà cung cấp khác nhau có sự hỗ trợ chung.
2.2.2 Tính tương thích cao :
Người sử dụng có thể trao đổi dữ liệu mà không phải lo lắng về tính tương thích ở
bên nhận. Bên cạnh việc đảm bảo bên nhận có thể giải nén thông tin nhận được,
H.323 còn thiết lập những khả năng cho phép bên nhận có thể trao đổi khả năng đối
với bên gởi.
2
KHOA CNTT –
ĐH KHTN
2.2.3 Độc lập hệ thống mạng :
H.323 được thiết kế để chạy ở tầng trên của kiến trúc mạng. Những giải pháp cơ bản
của H.323 cho phép tận dụng được những cải tiến về kỹ thuật mạng và sự phát triển
băng thông.
2.2.4 Độc lập với ứng dụng và hệ điều hành :
H.322 không bị ràng buộc với phần cứng hay hệ điều hành.
2.2.5 Hỗ trợ đa điểm :
Tuy H.323 có thể quản lý được những cuộc hội nghị có nhiều kết nối mà không cần
sử dụng thêm một trình điều khiển đa điểm chuyên dụng nào, nhưng việc sử dụng
MCU (Multipoint Control Unit – trình điều khiển đa điểm) sẽ cung cấp một kiến trúc
mạnh và linh hoạt hơn cho hội nghị kiểu nhiều kết nối.
2.2.6 Quản lý băng thông :
Việc truyền các dữ liệu truyền thông đa phương tiện đòi hỏi băng thông rất lớn và có
thể làm nghẽn mạch. Để giải quyết vấn đề này, H.323 đưa ra trình quản lý băng
thông. Nhân viên quản trị mạng có thể giới hạn số kết nối H.323 hay giới hạn băng
thông cho các ứng dụng sử dụng H.323. Điều này đảm bảo cho sự lưu thông trên
mạng không bị tắt nghẽn.
2.2.7 Hỗ trợ khả năng quản bá thông tin :
Giúp cho việc sử dụng băng thông hiệu quả hơn.
2.2.8 Linh hoạt :
Một hội nghị sử dụng chuẩn H.323 có khả năng tiếp nhận các thiết bị đầu cuối khác
nhau. Ví du: một terminal chỉ hỗ trợ khả năng truyền và nhận âm thanh có thể tham
gia hội nghị với các máy hỗ trợ khả năng truyền dữ liệu và hình ảnh. Máy sử dụng
chuẩn H.323 có thể chia sẽ dữ liệu, âm thanh, hình ảnh với các máy khác.
2.2.9 Khả năng hội nghị liên mạng :
Nhiều người dùng muốn kết nối từ mạng LAN đến một đầu xa chẳng hạn như kết nối
giữa hệ thống LAN với hệ thống ISDN. H.323 cũng hỗ trợ khả năng này và sử dụng
kỹ thuật mã hoá chung từ các chuẩn hội nghị khác nhau để giảm thiểu thời gian
chuyển đổi mã và tạo một hiệu suất tối ưu cho hội nghị.
3
KHOA CNTT –
ĐH KHTN
Chương 3 : Cấu hình mạng theo chuẩn H323 Chuẩn H.323 của ITU là một tập hợp các tiểu chuẩn, giao thức liên quan đến truyền
thông âm thanh và hình ảnh trong mạng LAN mà chất lượng dịch vụ không bảo đảm.
Kiến trúc của H.323 không bao gồm cả mạng LAN hay tầng transport dùng để kết
nối giữa các mạng LAN khác mà chỉ có những thành phần cần thiết cho việc tương
tác với mạng chuyển mạch điện tử SCN (Switched Circuit Network).
H.323 gồm có bốn thành phần chính cho một hệ thống truyền tin trên mạng đó là:
Terminal, Gateway, Gatekeeper và MCU.
Intenet
PSTN
Cell phone
Router
Gateway
Gatekeeper
MangH323
MCU
Mang H320(ISDN)
Gateway
ISDNvideophoneIBM Compatible
H323terminal
Laptop computerH323
terminal Hình 3-1: Cấu hình mạng theo chuẩn H323
3.1 Terminal :
H323 Terminal là một thiết bị đầu cuối trong mạng LAN có khả năng truyền thông
hai chiều theo thời gian thực. Nó có thể là một máy PC hoặc một thiết bị độc lập. Tất
cả các đầu cuối H323 đều phải được hỗ trợ khả năng truyền dữ liệu audio hai chiều,
còn dữ liệu và video là lựa chọn. H323 chỉ ra những cách thức cho những hoạt động
mà cần audio, video, dữ liệu làm việc chung với nhau được. Nó mở ra một thế hệ mới
cho sử dụng điện thoại internet, hội nghị truyền thông. Các thiết bị đầu cuối H323
phải hỗ trợ chuẩn H245 được dùng để điều tiết các kênh truyền dữ liệu, và khà năng
của thiết bị. Ngoài ra nó phải được hỗ trợ các thành phần sau:
- Giao thức báo hiệu H225 phục vụ trong quá trình thiết lập và huỷ bỏ cuộc gọi.
4
KHOA CNTT –
ĐH KHTN
- Giao thức H225 RAS (Registration/Admision/Status) thực hiện các chức năng
đăng kí, thu nhận... với gatekeeper.
- Giao thức Q.931 dùng cho báo hiệu và thiết lập cuộc gọi.
- Giao thức RTP/RCTP để truyền và kết hợp các gói tin audio, video...
Một đầu cuối H323 cũng có thể được trang bị thêm các tính năng như:
- Mã hoá và giải mã các tín hiệu audio, video.
- Hỗ trợ giao thức T120 phục vụ cho việc trao đổi thông tin số liệu (data).
- Tương thích với MCU để hỗ trợ các liên kết đa điểm
Hình 3-2: Cấu hình một terminal
5
KHOA CNTT –
ĐH KHTN
3.2 Gateway :
Nhiệm vụ của gateway là thực hiện việc kết nối gữa 2 mạng khác nhau. H323
gateway cung cấp khả năng kết nối giữa 1 mạng H323 và một mạng khác (không
phải H323) . Ví dụ như một gateway có thể kết nối và cung cấp khả năng truyền tin
giữa một đầu cuối H323 và mạng chuyển mạch kênh (bao gồm tất cả các loại mạng
chuyển mạch điện thoại chẳng hạn PSTN). Việc kết nối này được thực hiện nhờ chức
năng chuyển đổi giao thức trong quá trình thiết lập, giải phóng cuộc gọi và chức năng
biến đổi khuôn dạng dữ liệu giữa hai mạng khác nhau của gateway. Như vậy đối với
kết nối giữa hai thiết bị đầu cuối H323 thì không cần thiết phải có gateway, nhưng
đối với cuộc gọi có sự tham gia của mạng chuyển mạch kênh thì gateway là bắt buộc
phải có.
Hình 3-3: Gateway
Gateway là một thành phần tuỳ chọn trong hội nghị H.323, thường là các máy tính có
nhiều giao diện với các mạng khác nhau. Gateway cung cấp nhiều dịch vụ, tổng quát
nhất là chức năng biên dịch giữa các đầu cuối H.323 và các loại đầu cuối khác. Bằng
những bộ chuyển mã thích hợp, Gateway H.323 có thể hỗ trợ những thiết bị đầu cuối
tuân theo các chuẩn H.310, H.321, H.322 và V.70. Chức năng này bao gồm biên dịch
giữa những khuôn dạng truyền (H.225.0 đến H.221) và giữa những thủ tục truyền
thông (H.245 sang H.242). Ngoài ra, Gateway cũng biên dịch giữa các bộ mã hoá âm
6
KHOA CNTT –
ĐH KHTN
thanh và hình ảnh, thực hiện thiết lập và kết thúc cuộc gọi trên cả đầu mạng LAN và
đầu mạng chuyển mạch điện tử SCN.
Gateway khi hoạt động sẽ có đặc điểm của một thiết bị đầu cuối H.323 hoặc một
MCU trong mạng LAN và có đặc điểm của một thiết bị đầu cuối trong SCN hoặc
một MCU trong SCN. Vì vậy ta có 4 cấu hình cơ sở của gateway . Mỗi gateway có
thể có tổ hợp của các cấu hình cơ sở hoặc có thể gồm cả 4 cấu hình này.
Hình 3-4: Nội dung cơ bản của Gateway
Những ứng dụng cơ bản của Gateway là:
• Thiết lập kết nối với đầu cuối PSTN tương tự.
• Thiết lập kết nối với đầu cuối tương hợp H.320 đầu xa qua mạng chuyển
mạch mạch dựa trên nền ISDN.
• Thiết lập kết nối với các đầu cuối tương hợp H.324 đầu xa qua mạng
PSTN.
Các thiết bị đầu cuối giao tiếp với Gateway sử dụng giao thức H.245 và
Q.931.
7
KHOA CNTT –
ĐH KHTN
3.3 Gatekeeper :
Gatekeeper là một thành phần quan trọng trong mạng H323, nó được xem như bộ não
của mạng. Gatekeeper hoạt động như một bộ chuyển mạch ảo. Gatkeeper có các chức
năng như đánh địa chỉ; cho phép và xác nhận các đầu cuối H323, các gateway; quản
lí giải thông; tính cước cuộc gọi; ngoài ra nó còn có thể cung cấp khả năng định
tuyến cuộc gọi. gatekeeper quản lí giải thông nhờ khả năng cho phép hay không cho
phép các cuộc gọi xảy ra. Khi số cuộc gọi đã vượt qua một ngưỡng nào đó thì nó sẽ
từ chối tất cả các cuộc gọi khác.
Mặc dù vậy, gatekeeper là thành phần tuỳ chọn trong mạng H323 nhưng nó có khả
năng định tuyến các cuộc gọi H323. Bằng cách này, các cuộc gọi thông qua
gatekeeper được kiểm soát hiệu qủa hơn. Nhưng người cung cấp dịch vụ cần khả
năng này để có thể tính tiền cuộc gọi. Dịch vụ này có thể được dùng để định tuyến lại
một cuộc gọi nếu điểm được gọi không xác định được. Khả năng định tuyến của
gatekeeper có thể giúp giải quyết sự cân bằng giữa nhiều gateway. Gatekeeper là một
thành phần độc lập với các thiết bị H323, những nhà cung cấp có thể tích hợp những
chức năng của gatekeeper vào thành phần của MCU.
Một gatekeeper không cần thiết trong mạng H323, tuy nhiên nếu trong mạng có
gatekeeper thì các thiết bị đầu cuối và các Gateway phải sử dụng các thủ tục của
gatekeeper. Các chức năng của một gatekeeper được phân biệt làm 2 loại là các chức
năng bắt buộc và các chức năng không bắt buộc.
Các chức năng bắt buộc của gatekeeper :
- Chức năng dịch địa chỉ: - gatekeeper sẽ thực hiện việc chuyển đổi từ một địa chỉ
hình thức (dạng tên gọi) của các thiết bị đầu cuối và gateway sang địa chỉ truyền dẫn
thực trong mạng (địa chỉ IP). Chuyển đổi này dựa trên bảng đối chiếu địa chỉ được
cập nhật thường xuyên bằng bản tin đăng ký dịch vụ của các đầu cuối.
- Điều khiển truy nhập - gatekeeper sẽ chấp nhận một truy nhập mạng LAN bằng
cách sử dụng các bản tin H.225.0 là ARQ/ACF/ARJ . Việc điều khiển này dựa trên
độ rộng băng tần và đăng ký dịch vụ hoặc các thông số khác do nhà sản xuất qui
định.
8
KHOA CNTT –
ĐH KHTN
Đây cũng có thể là một thủ tục rỗng có nghĩa là chấp nhận mọi yêu cầu truy nhập của
các thiết bị đầu cuối.
- Điều khiển độ rộng băng tần - gatekeeper hỗ trợ việc trao đổi các bản tin H.225.0 là
BRQ/BCF/BRJ để điều khiển độ rộng băng tần của một cuộc gọi. Đây cũng có thể là
một thủ tục rỗng có nghĩa là nó chấp nhận mọi yêu cầu về sự thay đổi độ rộng băng
tần.
- Điều khiển miền - Một miền là một nhóm các đầu cuối H323, các gateway, MCU
được quản lí bởi 1 gatekeeper. Trong một miền có tối tiểu một đầu cuối H323, mỗi
miền chỉ có duy nhất một gatekeeper. Một miền hoàn toàn có thể độc lập với cấu trúc
mạng, bao gồm nhiều mạng được kết nối với nhau. Thông qua các chức năng ở trên:
dịch địa chỉ, điều khiển truy nhập, điều khiển độ rộng băng tần, gatekeeper cung cấp
khả năng quản lí miền.
Các chức năng không bắt buộc của Gatekeeper :
- Điều khiển báo hiệu cuộc gọi - gatekeeper có thể lựa chọn giữa hai phương thức
điều khiển báo hiệu cuộc gọi là: nó kết hợp với kênh báo hiệu trực tiếp giữa các đầu
cuối để hoàn thành báo hiệu cuộc gọi hoặc chỉ sử dụng các kênh báo hiệu của nó để
xử lý báo hiệu cuộc gọi.
Khi chọn phương thức định tuyến báo hiệu cuộc gọi trực tiếp giữa các đầu cuối, thì
gatekeeper sẽ không phải giám sát báo hiệu trên kênh H.225.0.
- Hạn chế truy nhập - Gatekeeper có thể sử dụng báo hiệu trên kênh H.225.0 để từ
chối một cuộc gọi của một thiết bị đầu cuối khi nhận thấy có lỗi trong việc đăng ký.
Những nguyên nhân từ chối bao gồm: một Gateway hoặc đầu cuối đăng ký hạn chế
gọi đi mà lại cố
gắng thực hiện một cuộc gọi đi và ngược lại hoặc một đầu cuối đăng ký hạn chế truy
nhập trong những giờ nhất định.
- Giám sát độ rộng băng tần - Gatekeeper có thể hạn chế một lượng nhất định các đầu
cuối H.232 cùng một lúc sử dụng mạng. Nó có thể thông qua kênh báo hiệu H.225.0
từ chối một cuộc gọi do không có đủ băng tần để thực hiện cuộc gọi. Việc từ chối
này cũng có thể xảy ra khi một đầu cuối đang hoạt động yêu cầu thêm độ rộng băng.
9
KHOA CNTT –
ĐH KHTN
Đây có thể là một thủ tục rỗng nghĩa là tất cả mọi yêu cầu truy nhập đều được đồng
ý.
- Giám sát cuộc gọi - Một ví dụ cụ thể về chức năng này của Gatekeeper là nó lưu
danh sách tất cả các cuộc gọi H.323 hướng đi đang thực hiện để chỉ thị các đầu cuối
bị gọi nào đang bận và cung cấp thông tin cho chức năng quản lý độ rộng băng tần.
Gatekeeper cũng có thể đóng vai trò trong đa kết nối. Để có thể hỗ trợ hội nghị đa
điểm, thì phải sử dụng gatekeeper để nhận kênh điều khiển H245 từ hai đầu cuối
trong hội nghị point-to-point. Khi hội nghị chuyển sang đa điểm, gatekeeper có thể
định hướng lại kênh điều khiển H245 sang bộ phận điều khiển đa điểm, gọi là MC.
Gatekeeper không cần xử lý tín hiệu H245, nó chỉ cần truyền đó sang các đầu cuối
hoặc giữa đầu cuối và MC.
Mạng LAN mà có sử dụng gateway cũng có thể có gatekeeper để chuyển đổi địa chỉ
vào E.164 sang Transport Address.
Hình 3-5: Kết hợp giữa đầu cuối (terminal), gatekeeper, gateway
3.4 MCU (Multipoint Control Unit):
MCU là một điểm cuối (Endpoint) trong mạng, nó cung cấp khả năng nhiều thiết bị
đầu cuối, gateway cùng tham gia vào một liên kết đa điểm (multipoint conference).
Nó bao gồm một MC (Multipoimt Controller) bắt buộc phải có và một MP
(Multipoint Process) có thể có hoặc không.
Nhiệm vụ của MC là điều tiết khả năng audio, video, data giữa các thiết bị đầu cuối
theo giao thức H245. Nó cũng điều khiển các tài nguyên của hội thoại bằng việc xác
định dòng audio, video, data nào cần được gửi đến các đầu cuối. Tuy nhiên, MC
10
KHOA CNTT –
ĐH KHTN
không thao tác trực tiếp trên các dòng dữ liệu mà nhiệm vụ này được giao cho MP.
MP sẽ thực hiện việc kết hợp, chuyển đổi, xử lí các bít dữ liệu.
3.5 Các giao thức sử dụng trong H323 :
Khuyến nghị H323 đưa ra một tập các giao thức phục vụ cho quá trình truyền dữ liệu
media thời gian thực trên mạng chuyển mạch gói. Kiến trúc phân tầng giao thức được
mô tả trên hình :
Hình 3-6: Các giao thức sử dụng trong H323
3.5.1 Giao thức H225 RAS ( Registration/Admission/Status) :
Các bản tin H225 RAS được dùng để trao đổi giữa các điểm cuối (các đầu
cuối, các gateway) và gatekeeper cho các chức năng như tìm gatekeeper, đăng kí,
quản lí giải thông...Kênh này độc lập với kênh báo hiệu cuộc gọi và kênh điều khiển
H.245. Thủ tục mở kênh logic H.245 không dùng để thiết lập kênh báo hiệu RAS.
Trong môi trường mạng không có Gatekeeper thì không sử dụng kênh báo hiệu RAS.
Nếu có Gatekeeper thì kênh báo hiệu RAS được mở giữa Endpoint và Gatekeeper và
được mở trước khi thiết lập các kênh khác giữa các H.323 Endpoint.
11
KHOA CNTT –
ĐH KHTN
Kênh báo hiệu RAS H.225.0 là kênh không tin cậy vì vậy chúng được tải đi
trong gói tin UDP, mang thông điệp dùng trong quá trình tìm Gatekeeper và đăng ký
Endpoint liên quan đến địa chỉ định danh của Endpoint trong địa chỉ chuyển tải kênh
báo hiệu cuộc gọi. Vì kênh báo hiệu RAS không tin cậy nên chuẩn H.225.0 đưa ra
thời gian Timeout và được đếm lại cho mỗi thông điệp khác nhau. Một Endpoint hay
Gatekeeper không đáp ứng được yêu cầu trong thời gian Timeout thì có thể dùng
thông điệp RIP (Request In Progress) để thông báo rằng nó vẫn đang tiếp tục yêu
cầu. Một Endpoint hay Gatekeeper nhận RIP sẽ xoá Timeout của nó và đếm lại.
- Tìm gatekeeper: Là quá trình điểm cuối tìm một gatekeeper để nó có thể đăng kí.
- Đăng kí: Để tham gia vào một miền do gatekeeper quản lí, các điểm cuối phải đăng
kí với gatekeeper và thông báo địa chỉ giao vận và các địa chỉ hình thức của nó.
(Trong hệ thống có gatekeeper thì địa chỉ hình thức chính là số được quay) .
- Định vị các điểm cuối: Là tiến trình tìm địa chỉ giao vận cho một điểm cuối khi biết
địa chỉ hình thức của nó (thông qua gatekeeper). Mỗi khi có cuộc gọi, gatekeeper
nhận được địa chỉ hình thức của phía bị gọi, nó phải thực hiện thủ tục này để xác
định được địa chỉ dùng để truyền tin của bị gọi.
- Các điều khiển khác: Giao thức RAS còn được dùng trong các cơ chế điều khiển
khác như điều khiển thu nhận để hạn chế số điểm cuối tham gia vào miền, điều khiển
giải thông, điều khiển giải phóng khỏi gatekeeper.
3.5.2 Giao thức báo hiệu cuộc gọi H225 :
Giao thức H225 dùng để thiết lập liên kết giữa các điểm cuối H323 (các đầu cuối, các
Gateway), qua liên kết đó các dữ liệu thời gian thực sẽ được truyền đi. Báo hiệu cuộc
gọi ở mạng H323 là trao đổi các bản tin của giao thức H225 qua một kênh báo hiệu
tin cậy. Do
yêu cầu tin cậy của báo hiệu nên các thông báo của H225 sẽ được truyền đi trong gói
tin TCP. Kênh báo hiệu cuộc gọi độc lập với kênh RAS và kênh điều khiển H.245.
Không dùng thủ tục mở kênh logic H.245 để thiết lập kênh báo hiệu cuộc gọi. Kênh
báo hiệu cuộc gọi được mở trước khi thiết lập kênh H.245 và các kênh logic giữa các
12
KHOA CNTT –
ĐH KHTN
H.323 Endpoint. Kênh báo hiệu cuộc gọi là một kênh tin cậy, được dùng để mang
thông điệp điều khiển cuộc gọi H.225.0.
Quá trình báo hiệu của cuộc gọi được bắt đầu bởi bản tin SETUP được gửi đi trên
kênh báo hiệu tin cậy H.225.0. Theo sau bản tin này sẽ là chuỗi các bản tin phục vụ
cho quá trình thiết lập cuộc gọi với trình tự dựa trên khuyến nghị H225 mà đầu tiên là
bản tin yêu cầu giám sát bắt buộc. Yêu cầu này cùng với những bản tin sau đó liên
quan đến quá trình khai báo/tìm kiếm giữa đầu cuối và Gatekeeper sẽ được truyền đi
trên kênh không tin cậy RAS (kênh
truyền thông tin về khai báo, giám sát và trạng thái). Quá trình này kết thúc khi thiết
bị đầu cuối nhận được trong bản tin CONNECT địa chỉ chuyển tải an toàn mà trên đó
sẽ gửi đi các bản tin điều khiển H.245. Bản tin báo hiệu H.225.0 sẽ không bị phân
đoạn khi đi qua các PDU (Protocol Datagram Unit), còn những bản tin được truyền
đi trên kênh RAS là những bản tin không chuẩn hoá.
Trong hệ thống không có Gatekeeper , kênh báo hiệu cuộc gọi được mở giữa hai
Endpoint liên quan đến cuộc gọi. Thông điệp báo hiệu cuộc gọi được truyền trực tiếp
giữa hai Endpoint chủ gọi và Endpoint bị gọi sử dụng địa chỉ chuyển tải kênh báo
hiệu. Trong trường hợp này, xem như Endpoint chủ gọi đã biết địa chỉ chuyển tải
kênh báo hiệu cuộc gọi của Endpoint bị gọi nên có thể truyền trực tiếp.
Trong hệ thống có Gatekeeper, kênh báo hiệu cuộc gọi được mở giữa Endpoint và
Gatekeeper, hoặc giữa các Endpoint với nhau ( do Gatekeeper quyết định).
Trong chương sau khi nghiên cứu về xử lí cuộc gọi sẽ nói rõ hơn về giao thức báo
hiệu cuộc gọi H225.
3.5.3 Giao thức điều khiển cuộc gọi H245 :
Giao thức điều khiển H245 dùng để thực hiện việc giám sát các hoạt động của các
thực thể H323 bao gồm: trao đổi khả năng các điểm cuối; đóng mở kênh logic; điều
khiển luồng; quyết định chủ tớ; và các lệnh và chỉ thị khác.
Kênh H245 được thiết lập giữa hai điểm cuối, một điểm cuối với MC, hoặc một điểm
cuối với gatekeeper. Các điểm cuối chỉ thiết lập một kênh H245 duy nhất cho mỗi
cuộc gọi mà nó tham gia.Kênh này sử dụng các thông điệp và thủ tục trong chuẩn
13
KHOA CNTT –
ĐH KHTN
H.245. Một Terminal, MCU, Gateway, hoặc Gatekeeper có thể hỗ trợ nhiều cuộc gọi,
do đó có nhiều kênh điều khiển H.245.
Khuyến cáo H.245 chỉ ra một số phương thức độc lập hỗ trợ báo hiệu Endpoint – to –
Endpoint. Một phương thức được chỉ rõ bởi cú pháp, ngữ nghĩa, và một tập các thủ
tục của nó để chỉ rõ sự trao đổi thông điệp và sự tương tác với người dùng. Các
Endpoint H.323 sẽ hỗ trợ cú pháp, ngữ nghĩa và các thủ tục bởi các giao thức sau:
- Trao đổi khả năng: Trước khi tiến hành cuộc gọi đa phương tiện, mỗi đầu cuối phải
biết được khả năng nhận và giải mã tín hiệu của đầu cuối kia. Biết được khả năng
nhận của đầu cuối nhận, đầu cuối truyền sẽ giới hạn nội dung của thông tin mà nó
truyền đi, ngược lại, thông báo khả năng truyền nó sẽ cho phép đầu cuối nhận lựa
chọn chế độ thu phù hợp. Tập hợp các khả năng của đầu cuối cho nhiều luồng thông
tin có thể được truyền đi đồng thời và đầu cuối có thể khai báo lại tập hợp các khả
năng của nó bất kỳ lúc nào. Tập hợp các khả năng của mỗi đầu cuối được cung cấp
trong bản tin H245 TerminalCapabilitySet.
- Báo hiệu kênh logic: Một kênh logic là một kênh mang thông tin từ điểm cuối này
tới điểm cuối khác (trong trường hợp hội thoại điểm - điểm) hoặc đến nhiều điểm
cuối khác (trong trường hợp hội thoại điểm - đa điểm). H245 cung cấp các bản tin để
đóng mở các kênh logic. Sau khi kênh logic được mở thông tin media mới được
truyền đi trên các kênh này.
- Xác định chủ tớ: Thủ tục này nhằm giải quyết vấn đề xung đột giữa hai điểm cuối
đều có khả năng MC khi cùng tham gia vào một cuộc gọi hội nghị, hoặc giữa hai
điểm cuối khi muốn mở một kênh thông tin một chiều.
Các thông điệp của H.245 gồm: Request, Respone, Command, và Indication.
3.5.4 Giao thức RTP (Real-time Transport Protocol) :
Realtime Protocol là một chuẩn Internet để truyền các luồng thông tin giữa các thành
phần tương tác trên mạng. RTP cung cấp các dịch vụ về dữ liệu mang tính thời gian
thực như video và audio. Thông thường các ứng dụng chạy RTP dựa trên UDP để tận
dụng khả năng multiplexing và kiểm lỗi. RTP hỗ trợ việc truyền dữ liệu đến nhiều
địa chỉ đích bằng cách dùng cơ chế multicast nếu được hỗ trợ bởi hệ thống mạng.
14
KHOA CNTT –
ĐH KHTN
Giao thức truyền thời gian thực (RTP) là một thủ tục dựa trên kỹ thuật IP tạo ra các
hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực, ví dụ như các dòng dữ liệu
hình ảnh và âm thanh. Các dịch vụ cung cấp bởi RTP bao gồm các cơ chế khôi phục
thời gian, phát hiện các lỗi, bảo an và xác định nội dung. RTP được thiết kế chủ yếu
cho việc truyền đa đối tượng nhưng nó vẫn có thể được sử dụng để truyền cho một
đối tượng. RTP có thể truyền tải một chiều như dịch vụ video theo yêu cầu cũng như
các dịch vụ trao đổi qua lại như điện thoại Internet.
Hoạt động của RTP được hỗ trợ bởi một thủ tục khác là RCTP để nhận các thông tin
phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên
hiện thời.
Hoạt động của giao thức.
RTP không có sẵn các cơ chế để đảm bảo việc truyền theo thời gian hay các kỹ thuật
về QoS mà dựa vào các dịch vụ ở lớp dưới để thực hiện những khả năng này. RTP
không đảm bảo an toàn hay thứ tự các packet khi truyền, số thứ tự trong RTP packet
cho phép bên nhận sắp xếp lại các packet theo thứ tự khi truyền của bên gửi. Ngoài ra
số thứ tự cũng có thể được tận dụng để xác định vị trí thích hợp của một packet, ví dụ
trong việc giải mã video, mà không cần phải giải mã các packet theo thứ tự.
Các gói tin truyền trên mạng Internet có trễ và jitter không dự đoán được. Nhưng các
ứng dụng đa phương tiện yêu cầu một thời gian thích hợp khi truyền các dữ liệu và
phát lại. RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các cơ chế khác
liên quan đến thời gian. Bằng các cơ chế này RTP cung cấp sự truyền tải dữ liệu thời
gian thực giữa các đầu cuối qua mạng.
Tem thời gian (time-stamping) là thành phần thông tin quan trọng nhất trong các ứng
dụng thời gian thực. Người gửi thiết lập các “tem thời gian” ngay thời điểm octet đầu
tiên của gói được lấy mẫu.
“Tem thời gian” tăng dần theo thời gian đối với mọi gói. Sau khi nhận được gói dữ
liệu, bên thu sử dụng các “tem thời gian” này nhằm khôi phục thời gian gốc để chạy
các dữ liệu này với tốc độ thích hợp.
15
KHOA CNTT –
ĐH KHTN
Ngoài ra, nó còn được sử dụng để đồng bộ các dòng dữ liệu khác nhau ( chẳng hạn
như giữa hình và tiếng). Tuy nhiên RTP không thực hiện đồng bộ mà các mức ứng
dụng phía trên sẽ thực hiện sự đồng bộ này.
Bộ phận nhận dạng tải xác định kiểu định dạng của tải tin cũng như các phương cách
mã hoá và nén. Từ các bộ phận định dạng này, các ứng dụng phía thu biết cách phân
tích và chạy các dòng dữ liệu tải tin. Tại một thời điểm bất kỳ trong quá trình truyền
tin, các bộ phát RTP chỉ có thể gửi một dạng của tải tin cho dù dạng của tải tin có thể
thay đổi trong thời gian truyền (thay đổi để thích ứng với sự tắc nghẽn của mạng).
Một chức năng khác mà RTP có là xác định nguồn . Nó cho phép các ứng dụng thu
biết được dữ liệu đến từ đâu. Ví dụ thoại hội nghị, từ thông tin nhận dạng nguồn một
người sử dụng có thể biết được ai đang nói.
Hình 3-7: Mã hoá gói tin RTP trong gói IP
Các cơ chế trên được thực hiện thông qua mào đầu của RTP. Cách mã hoá gói tin
RTP trong gói tin IP được mô tả trên hình vẽ.
RTP nằm ở phía trên UDP, sử dụng các chức năng ghép kênh và kiểm tra của UDP.
UDP và TCP là hai giao thức được sử dụng chủ yếu trên Internet. TCP cung cấp các
kết nối định hướng và các dòng thông tin với độ tin cậy cao trong khi UDP cung cấp
các dịch vụ không liên kết và có độ tin cậy thấp giữa hai trạm chủ. Sở dĩ UDP được
sử dụng làm thủ tục truyền tải cho RTP là bởi vì 2 lí do:
- Thứ nhất, RTP được thiết kế chủ yếu cho việc truyền tin đa đối tượng, các kết nối
có định hướng, có báo nhận không đáp ứng tốt điều này.
- Thứ hai, đối với dữ liệu thời gian thực, độ tin cây không quan trọng bằng truyền
đúng theo thời gian. Hơn nữa, sự tin cậy trong TCP là do cơ chế báo phát lại, không
thích hợp cho RTP. Ví dụ khi mạng bị tắc nghẽn một số gói có thể mất, chất lượng
dịch vụ dù thấp nhưng vẫn có thể chấp nhận được. Nếu thực hiện việc phát lại thì sẽ
gây nên độ trễ rất lớn cho chất lượng thấp và gây ra sự tắc nghẽn của mạng.
16
KHOA CNTT –
ĐH KHTN
Thực tế RTP được thực hiện chủ yếu trong các ứng dụng mà tại các mức ứng dụng
này có các cơ chế khôi phục lại gói bị mất, điều khiển tắc nghẽn.
3.5.5 Giao thức RTCP (Real-time Transport Control Protocol):
RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP cung cấp
các thông tin phản hồi về chất lượng truyền dữ liệu. Các dịch vụ mà RTCP cung cấp
là:
- Giám sát chất lượng và điều khiển tắc nghẽn: Đây là chức năng cơ bản của RTCP.
Nó cung cấp thông tin phản hồi tới một ứng dụng về chất lượng phân phối dữ liệu.
Thông tin điều khiển này rất hữu ích cho các bộ phát, bộ thu và giám sát. Bộ phát có
thể điều chỉnh cách thức truyền dữ liệu dựa trên các thông báo phản hồi của bộ thu.
Bộ thu có thể xác định được tắc nghẽn là cục bộ, từng phần hay toàn bộ. Người quản
lí mạng có thể đánh giá được hiệu suất mạng.
- Xác định nguồn: Trong các gói RTP, các nguồn được xác định bởi các số ngẫu
nhiên có độ dài 32 bít. Các số này không thuận tiện đối với người sử dụng RTCP
cung cấp thông tin nhận dạng nguồn cụ thể hơn ở dạng văn bản. Nó có thể bao gồm
tên người sử dụng, số điện thoại, địa chỉ e-mail và các thông tin khác.
- Đồng bộ môi trường: Các thông báo của bộ phát RTCP chứa thông tin để xác định
thời gian và nhãn thời gian RTP tương ứng.
Chúng có thể được sử dụng để đồng bộ giữa âm thanh với hình ảnh.
- Điều chỉnh thông tin điều khiển: Các gói RTCP được gửi theo chu kỳ giữa những
người tham dự. Khi số lượng người tham dự tăng lên, cần phải cân bằng giữa việc
nhận thông tin điều khiển mới nhất và hạn chế lưu lượng điều khiển. Để hỗ trợ một
nhóm người sử dụng lớn, RTCP phải cấm lưu lượng điều khiển rất lớn đến từ các tài
nguyên khác của mạng. RTP chỉ cho phép tối đa 5% lưu lượng cho điều khiển toàn
bộ lưu lượng của phiên làm việc. Điều này được thực hiện bằng cách điều chỉnh tốc
độ phát của RTCP theo số lượng người tham dự.
3.6 Mã hóa/giải mã (CODEC) tín hiệu Audio :
Ở bên phát, tín hiệu Audio từ microphone trước khi được truyền tiếp phải được mã
hoá. Còn ở bên nhận, chúng phải được giải mã trước khi đưa đến speaker. CODEC là
17
KHOA CNTT –
ĐH KHTN
dịch vụ tối thiểu mà đầu cuối H323 nào cũng phải có. Vì vậy một thiết bị đầu cuối
H323 phải được hỗ trợ tối thiểu là một chuẩn CODEC. Hiện nay đang tồn tại một số
chuẩn mã hoá như sau: G.711 (mã hoá tốc độ 64kbps); G.722 (64,56,48 kbps);
G.723.1 (5.3 và 6.3 kbps); G.728 (16 kbps); G.729 (8 kbps).
Bảng 3-1: Bảng so sánh các chuẩn CODEC
Việc lựa chọn thuật toán CODEC là một trong những yếu tố cơ bản để nâng cao chất
lượng thoại Internet.
3.7 Mã hoá/giải mã (CODEC)tín hiệu Video :
Video CODEC mã hoá tín hiệu hình ảnh từ camera để truyền dẫn và giải mã các tín
hiệu video nhận được (đã được mã hoá) để hiển thị hình ảnh. Trong H323, truyền
hình ảnh có thể có hoặc không, vì vậy việc hỗ trợ video CODEC là tuỳ chọn. Tuy
nhiên các đầu cuối cung cấp khả năng liên lạc hình ảnh phải được hỗ trợ giao thức
mã hoá, giải mã tín hiệu video. Các giao thức hỗ trợ là H261, H263...
Mã hóa hình ảnh là khả năng tùy chọn. Nếu được cung cấp nó sẽ theo các yêu cầu
trong khuyến cáo này. Mọi đầu cuối H.323 cung cấp truyền thông hình ảnh đều phải
18
KHOA CNTT –
ĐH KHTN
có khả năng mã hóa và giải mã hình ảnh theo chuẩn QCIF H.261. Một đầu cuối cũng
có thể tùy chọn khả năng mã hóa và giải mã hình ảnh theo H.261 hoặc H.263. Nếu
một đầu cuối hỗ trợ H.263 CIF hoặc cao hơn thì cũng hỗ trợ H.261 CIF. Tất cả đầu
cuối hỗ trợ H.263 sẽ hỗ trợ H.263 QCIF. Các bộ mã hóa hình ảnh khác và các dạng
hình ảnh khác cũng có thể được dùng thông qua thoả thuận trong H.245. Nhiều kênh
hình ảnh được truyền và nhận qua kênh điều khiển H.245.
Các tuỳ chọn về tốc độ truyền bit ảnh, dạng ảnh và giải thuật truyền có thể được chấp
nhận bởi bộ giải mã được định nghĩa trong suốt thời gian trao đổi khả năng sử dụng
H.245.Các đầu cuối H.323 có thể hoạt động ở các tốc độ bit hình ảnh, tốc độ khung
không cân đối và các giải pháp hình ảnh nếu có nhiều giải pháp hình ảnh hỗ trợ.
Chẳng hạn cho phép một đầu cuối CIF truyền hình ảnh QCIF trong khi nhận hình ảnh
CIF. Dòng hình ảnh được định dạng như mô tả trong chuẩn H.225.0
Trong những trường hợp các đầu cuối H.323 nhận nhiều kênh hình ảnh, đầu cuối cần
thực hiện chức năng trộn hoặc chuyển mạch hình ảnh để truyền báo hiệu hình ảnh
đến người dùng. Chức năng này có thể bao gồm truyền nhiều hình ảnh đến người
dùng.
3.8 Data channel (Kênh dữ liệu):
Truyền dữ liệu là khả năng tùy chọn. Khi được hỗ trợ, thì dữ liệu có thể được chia sẻ
cho các đầu cuối thông qua các ứng dụng như white board, chia sẻ ứng dụng, chia sẻ
tập tin. H323 hỗ trợ dữ liệu truyền thông thông qua chuẩn T120.Một hệ thống có thể
cung cấp dữ liệu bằng cách tích hợp khả năng T120 vào các client và multipoint
control unit (MCU). MCU có thể điều khiển và tổng hợp các thông tin lại với nhau.
Tóm lại, H323 sử dụng cả truyền thông tin cậy và không tin cậy. Các tín hiệu điều
khiển và dữ liệu cần sự truyền thông tin cậy bởi vì tín hiệu phải được nhận lại để có
thể xử lý được. Các dòng dữ liệu âm thanh và hình ảnh có thể bị thất lạc.
19
KHOA CNTT –
ĐH KHTN
Chương 4 Thiết lập cuộc gọi thông qua mạng H323 Trong chương này, trước tiên chúng ta nghiên cứu các thủ tục báo hiệu xử lí cuộc gọi
giữa hai điểm cuối (đầu cuối hoặc gateway) trong mạng H323 với các trường hợp
khác nhau. Các thủ tục này tuân theo các khuyến nghị H323, H225, H245 của ITU-T.
Có nhiều cách để thiết lập một cuộc hội thoại. Các đầu cuối có thể quảng bá thông tin
của mình cho các đầu cuối khác hoặc gởi đến MP, MP thực hiện trộn và phân phối,
chuyển các dữ liệu này đến các thành phần khác tham gia trong cuôc hội thoại. MCU
quản lý hội thoại bằng cách sử dụng các chức năng điều khiển của H.245. Các thông
tin điều khiển được truyền đến MC trên kênh điều khiển H.245. Trong trường hợp
các đẩu cuối tham gia hội thoại quảng bá thông tin của mình đến cách đầu cuối khác
thì MP không được sử dụng để trộn và xử lý dữ liệu, trong khi đó, các thông tin điều
khiển cuộc hội thoại vẫn được truyền trên kênh điều khiển H.245.Trong quá trình
nghiên cứu thủ tục xử lí cuộc gọi, chúng ta sẽ không đi sâu vào cấu trúc, các thành
phần thông tin của các gói tin mà ta chỉ xem xét hoạt động của các thủ tục này như
thế nào.
4.1 Các thủ tục thực hiện trên kênh H225 RAS :
Kênh H225 RAS là một kênh logic không tin cậy được dùng để truyền tải các bản tin
giữa gatekeeper và các phần tử khác trong mạng để thực hiện các thủ tục như: Tìm
gatekeeper, đăng kí...
Bởi vì các bản tin RAS được truyền trên kênh không tin cậy nên các bản tin này phải
được đặt một khoảng thời gian timeout và số lần phát lại khi không nhận được hồi
âm. Một điểm cuối hoặc gatekeeper không thể đáp ứng lại một yêu cầu trong thời
gian timeout thì nó phải trả lời bằng bản tin RIP (Request In Progress) để cho biết nó
đang xử lí yêu cầu. Khi nhận được bản tin RIP, chúng phải khởi động lại timeout và
số lần phát lại.
4.1.1 Tìm gatekeeper :
Thủ tục này được thực hiện khi một điểm cuối muốn tìm cho nó một gatekeeper để
đăng kí. Thủ tục này phải được thực hiện ngay khi điểm cuối đó hoạt động. Có hai
phương thức tìm gatekeeper:
20
KHOA CNTT –
ĐH KHTN
Hình 4-1: Tự động tìm gatekeeper
+ Trong cấu hình của điểm cuối có địa chỉ của gatekeeper (có thể đặt trong tập tin
khởi động).
+ Điểm cuối gửi bản tin GRQ theo địa chỉ multicast đến tất cả các gatekeeper (Địa
chỉ này được quy định trong khuyến nghị H225).
Nếu gatekeeper nào đó có thể quản lí được điểm cuối này thì có thể trả lời bằng bản
tin GCF có chứa địa chỉ của kênh RAS .
Với mục đích dự trữ, gatekeeper chỉ định các gatekeeper thay thế trong trường hợp
xảy ra lỗi. Danh sách các gatekeeper thay thế này được lưu ở trường
AlternateGatekeeper trong các bản tin GCF và RCF (xem mục sau).
Nếu một điểm cuối nhận thấy sự đăng kí của nó không hợp lệ, nó phải thực hiện lại
thủ tục tìm gatekeeper. Đăng kí là không hợp lệ khi điểm cuối nhận được bản tin RRJ
trả lời cho bản tin RRQ hoặc không nhận được trả lời cho bản tin RRQ trong thời
gian timeout.
4.1.2 Thủ tục đăng ký với gatekeeper :
Để tham gia vào một miền do gatekeepet quản lí, các điểm cuối phải thực hiện thủ
tục đăng kí. Đây là quá trình điểm cuối thông báo cho gatekeeper biết địa chỉ giao
vận cũng như địa chỉ hình thức (alias address) của nó. Thủ tục đăng kí phải được
thực hiện trước khi có các cuộc gọi xảy ra và sau khi đã thực hiện thủ tục tìm
gatekeeper.
21
KHOA CNTT –
ĐH KHTN
Điểm cuối gửi bản tin RRQ (Registration Request) đến gatekeeper trên kênh H225
RAS. Kênh H225 RAS được xác định trong thủ tục tìm gatekeeper. Gatekeeper có
thể trả lời bằng bản tin RCF (Request Confirm) hoặc RRJ (Request Reject) . Một
điểm cuối chỉ đăng kí với 1 gatekeeper.
Hình 4-2: Thủ tục đăng ký với gatekeeper
Điểm cuối có thể đăng kí thời hạn sử dụng bởi yêu cầu timeToLive (tính bằng giây)
trong bản tin RRQ. Gatekeeper trả lời bằng bản tin RCF với cùng giá trị timeToLive
hoặc bé hơn. Sau khoảng thời gian này, sự đăng kí này hết hiệu lực. Trước khi hết
thời gian đăng kí hết, điểm cuối có thể thiết lập lại timeToLive để kéo dài thời hạn
đăng kí bằng cách gửi đi bản tin RRQ với bit keepAlive được thiết lập (bản tin RRQ
này chỉ có một ít thông tin được chỉ rõ trong khuyến nghị H225.0). Sau khi hết thời
hạn, các điểm cuối phải đăng kí lại với gatekeeper với bản tin RRQ đầy đủ.
Gatekeeper phải đảm bảo mỗi địa chỉ hình thức được chuyển đổi thành một địa chỉ
giao vận. Tuy nhiên, điểm cuối có thể chỉ định một địa chỉ giao vận dự trữ hay thay
thế nhờ cấu trúc alternateEndpoint trong bản tin RAS cho phép điểm cuối có một
giao diện mạng thứ cấp. Gatekeeper sẽ từ chối đăng kí nếu xét thấy sự đăng kí đó là
mập mờ, không đủ thông tin.
Nếu điểm cuối không xác định một địa chỉ hình thức trong bản tin RRQ thì
gatekeeper sẽ cấp phát cho nó một địa chỉ hình thức và thông báo cho nó trong bản
tin xác nhận RCF.
22
KHOA CNTT –
ĐH KHTN
Điểm cuối có thể huỷ bỏ sự đăng kí bằng cách gửi bản tin URQ (Unregistration
Request) đến gatekeeper. Gatekeeper xác nhận bằng bản tin UCF (Unregistration
Confirm). Điều này cho phép điểm cuối thay đổi địa chỉ hình thức liêt kết với địa chỉ
giao vận hoặc ngược lại. Nếu nhận thấy điểm cuối chưa đăng kí, gatekeeper trả lời
bằng bản tin URJ (Unregistration Reject).
Gatekeeper cũng có thể yêu cầu huỷ bỏ đăng kí của điểm cuối (dùng bản tin URQ),
lúc đó điểm cuối phải trả lời bằng bản tin UCF.
Hình 4-3: Thủ tục đăng ký với gatekeeper
Sau khi huỷ bỏ đăng kí, điểm cuối phải đăng kí lại (có thể với một gatekeeper khác).
Một điểm cuối nếu không đăng kí sẽ không chịu sự quản lí của gatekeeper.
4.1.3 Định vị điểm cuối :
Một điểm cuối hoặc gatekeeper có địa chỉ hình thức của một điểm cuối khác và muốn
biết thông tin liên lạc của điểm cuối này, nó sẽ sử dụng bản tin LRQ (Location
Request). Bản tin này có thể được gửi đến một gatekeeper nào đó (có địa chỉ rõ ràng)
hoặc gửi theo địa chỉ multicast đến nhiều gatekeeper. Gatekeeper quản lí điểm cuối
có địa chỉ hình thức trong bản tin LRQ sẽ trả lời lại bằng bản tin LCF chứa các thông
tin liên lạc của điểm cuối đó. Thông tin liên lạc bao gồm địa chỉ kênh báo hiệu, địa
chỉ kênh RAS và một số thông tin khác.
Nếu một gatekeepr nào đó nhận được bản tin LRQ trên kênh RAS của nó thì phải trả
lời lại. Nếu gatekeeper nhận được trên kênh RAS multicast thì nó sẽ không trả lời
(trong trường hợp nó không quản lí điểm cuối).
23
KHOA CNTT –
ĐH KHTN
4.1.4 Các thủ tục khác :
Ngoài các thủ tục trên, kênh RAS còn dùng để truyền tải các bản tin điều khiển truy
nhập, thay đổi băng thông, giám sát trạng thái và giải phóng. Chi tiết về các thủ tục
này được trình bày ở phần sau.
Trong bản tin ARQ ( Admission Request) yêu cầu truy nhập, điểm cuối xác định một
giá trị băng thông để truyền và nhận thông tin. Giá trị này là giới hạn trên của tốc độ
luồng tổng hợp audio, video truyền và nhận (không kể các header ở các lớp giao
thức). Gatekeeper có thể giảm giá trị này xuống trong bản tin xác nhận ACF. Các
điểm cuối chỉ được phép truyền thông tin với tốc độ nằm trong giới hạn này.
4.2 Thiết lập cuộc gọi giữa hai điềm cuối qua mạng H323 :
Điểm cuối trong mạng H323 có thể là một thiết bị đầu cuối hoặc một gateway. Các
thủ tục xử lí cuộc gọi giữa hai điểm cuối trong mạng H323 tuân theo các thủ tục
trong khuyến nghị H323, H225.0 và H245. Đầu tiên, kênh báo hiệu được thiết lập
(bên gọi phải biết địa chỉ tầng mạng (IP) và địa chỉ tầng giao vận (TCP) của bên bị
gọi) , sau đó địa chỉ của kênh điều khiển được xác định trong quá trình trao đổi các
bản tin báo hiệu. Sau khi xác định được địa chỉ, kênh điều khiển được thiết lập và địa
chỉ của kênh thông tin sẽ được xác định qua các bản tin trên kênh đIều khiển. Cuối
cùng, kênh thông tin được thiết lập cho phép hai điểm cuối có thể trao đổi thông tin.
Ngoài ra, H323 còn hỗ trợ thủ tục kết nối nhanh (không cần mở kênh H245).
Hình 4-4: Các kênh logic trong một cuộc gọi
24
KHOA CNTT –
ĐH KHTN
4.2.1 Định tuyến kênh điều khiển và báo hiệu :
Báo hiệu xử lí cuộc gọi giữa hai điểm cuối trong mạng H323 liên quan đến ba kênh
báo hiệu tồn tại độc lập với nhau là: kênh điều khiển H.245, kênh báo hiệu cuộc gọi
và kênh báo hiệu RAS.
Trong mạng không có gatekeeper, các bản tin báo hiệu cuộc gọi được truyền trực tiếp
giữa hai điểm cuối chủ gọi và bị gọi bằng cách truyền báo hiệu địa chỉ trực tiếp.
Trong cấu hình mạng này thì phía chủ gọi phải biết địa chỉ báo hiệu của phía bị gọi
trong mạng và vì vậy có thể giao tiếp một cách trực tiếp.
Nếu trong mạng có gatekeeper, trao đổi báo hiệu giữa chủ gọi và gatekeeper được
thiết lập bằng cách sử dụng kênh RAS của gatekeeper để truyền địa chỉ. Sau khi trao
đổi bản tin báo hiệu đã được thiết lập, khi đó gatekeeper mới xác định truyền các bản
tin trực tiếp giữa hai điểm cuối hay định tuyến chúng qua gatekeeper.
4.2.1.1 Định tuyến kênh báo hiệu cuộc gọi :
Các bản tin báo hiệu cuộc gọi có thể được truyền theo một trong hai phương thức và
việc lựa chọn giữa các phương thức này do gatekeeper quyết định:
+ Thứ nhất là các bản tin báo hiệu của cuộc gọi được truyền từ điểm cuối nọ tới điểm
cuối kia thông qua gatekeeper giữa hai điểm cuối .
Hình 4-5: Gatekeeper tìm đường báo hiệu cuộc gọi
25
KHOA CNTT –
ĐH KHTN
+ Thứ hai là các bản tin báo hiệu của cuộc gọi được truyền trực tiếp giữa hai điểm
cuối .
Hình 4-6: Báo hiệu cuộc gọi trực tiếp giữa các Endpoint
Cả hai phương thức này đều sử dụng các kết nối giống nhau với cùng mục đích, dạng
bản tin được sử dụng cũng giống nhau, các bản tin thiết lập báo hiệu được trao đổi
trên kênh RAS của gatekeeper, sau đó tới trao đổi bản tin báo hiệu cuộc gọi trên kênh
báo hiệu cuộc gọi. Sau đó mới tới thiết lập kênh điều khiển H.245.
Trong phương thức gatekeeper định tuyến các bản tin thì nó có thể đóng kênh báo
hiệu cuộc gọi khi việc thiết lập cuộc gọi hoàn thành hoặc vẫn duy trì kênh này để hỗ
trợ các dịch vụ bổ xung. Chỉ có gatekeeper mới có thể đóng kênh báo hiệu cuộc gọi,
nhưng khi Gateway tham gia vào cuộc gọi thì các kênh này không được phép đóng.
4.2.1.2 Định tuyến kênh điều khiển :
Khi các bản tin báo hiệu cuộc gọi được gatekeeper định tuyến thì sau đó kênh điều
khiển H.245 sẽ được định tuyến theo 2 cách thể hiện trên hình :
- Kênh điều khiển H.245 được thiết lập một cách trực tiếp giữa các điểm cuối. Khi
đó chỉ cho phép kết nối trực tiếp 2 điểm cuối.
26
KHOA CNTT –
ĐH KHTN
Hình 4-7: Thiết lập kênh điều khiển H.245 trực tiếp giữa các Endpoint
- Kênh điều khiển H.245 được thiết lập từ điểm cuối này tới điểm cuối kia
thông qua gatekeeper. Khi đó cho phép gatekeeper định tuyến lại kênh điều
khiển H.245 tới một MC khi thực hiện dịch vụ hội nghị.
Hình 4-8: Gatekeeper định tuyến kênh điều khiển H.245
4.2.2 Quá trình thiết lập cuộc gọi qua mạng H323 :
• Endpoint đăng ký với Gatekeeper.
• Gatekeeper nhận đăng ký của endpoint và cho phép Endpoint thiết lập
cuộc gọi và thực hiện chuyển đổi địa chỉ (ARP)
27
KHOA CNTT –
ĐH KHTN
• Thiết lập các báo hiệu cuộc gọi tương ứng, khởi động cuộc gọi nếu thành
công hoặc từ chối cuộc gọi nếu không thể kết nôis
• Điều chỉnh các chức năng của hệ thống trong suốt cuộc gọi, trao đổi thông
tin và xác định chế độ hoạt động của hệ thống
• Định dạng và mở kênh truyền, thu và phát dòng dữ liệu
• Thay đổi người gọi, các thông số, phương tiện truyền thông
• Kết thúc cuộc gọi và loại bỏ đăng ký ban đầu ở Gatekeeper.
Người ta chia một cuộc gọi làm 5 giai đoạn gồm :
4.2.2.1 Thiết lập cuộc gọi :
Trong giai đoạn này các phần tử trao đổi với nhau các bản tin được định nghĩa trong
khuyến nghị H.225.0 theo một trong các thủ tục được trình bày sau đây.
Cuộc gọi cơ bản - Cả hai điểm cuối đều không đăng ký
Khi cả hai điểm cuối đều không đăng ký với gatekeeper, thì chúng sẽ trao đổi trực
tiếp các bản tin với nhau . Khi đó chủ gọi sẽ gửi bản tin thiết lập cuộc gọi trên kênh
báo hiệu đã biết trước địa chỉ của bị gọi.
Hình 4-9: Cuộc gọi cơ bản không có gatekeeper
Cả hai điểm cuối đều đăng ký tới một gatekeeper
Tình huống này có 2 trường hợp xảy ra:
+ Cả hai điểm cuối đều đăng ký tới một gatekeeper và gatekeeper chọn phương thức
truyền báo hiệu trực tiếp giữa 2 điểm cuối.
28
KHOA CNTT –
ĐH KHTN
Hình 4-10: Hai điểm cuối đều đăng ký với một gatekeeper
- Báo hiệu trực tiếp
Đầu tiên phía chủ gọi trao đổi với gatekeeper cặp bản tin ARQ (1)/ACF (2) để thiết
lập báo hiệu. Trong bản tin ACF do gatekeeper trả lời cho phía chủ gọi có chứa địa
chỉ kênh báo hiệu của phía bị gọi. Sau đó phía chủ gọi sẽ căn cứ vào địa chỉ này để
gửi bản tin Setup (3) tới phía bị gọi. Nếu phía bị gọi chấp nhận yêu cầu, nó sẽ trao
đổi cặp bản tin ARQ (5)/ ACF (6) với gatekeeper. Nếu phía bị gọi nhận được ARJ (6)
thì nó sẽ gửi bản tin Release Complete tới phía chủ gọi.
+ Cả hai đầu cuối đều đăng ký với một gatekeeper và báo hiệu cuộc gọi được định
tuyến qua gatekeeper .
29
KHOA CNTT –
ĐH KHTN
Hình 4-11: Hai điểm cuối đều đăng ký với một gatekeeper
– Báo hiệu qua gatekeeper
Khi nhận được ACF (2) có chứa địa chỉ kênh báo hiệu của gatekeeper, phía chủ gọi
sẽ căn cứ vào địa chỉ này gửi bản tin Setup (3) tới gatekeeper. Sau đó gatekeeper sẽ
gửi Setup (4) tới phía bị gọi. Nếu phía bị gọi chấp nhận cuộc gọi, nó sẽ trao đổi ARQ
(6)/ACF (7) với gatekeeper. Nếu nhận được ARJ (7) thì phía bị gọi sẽ gửi bản tin
Release Complete tới gatekeeper.
Chỉ có phía chủ gọi có đăng ký với gatekeeper
Trong trường hợp chỉ có phía chủ gọi có đăng ký với gatekeeper và báo hiệu cuộc gọi
được truyền trực tiếp giữa hai điểm cuối, thủ tục báo hiệu của nó được thể hiện trên
hình.
30
KHOA CNTT –
ĐH KHTN
Hình 4-12: Chỉ có phía chủ gọi đăng ký – Báo hiệu trực tiếp
Sau khi nhận được ACF (2), phía chủ gọi sẽ gửi bản tin Setup (3) tới phía bị gọi. Nếu
phía bị gọi chấp nhận cuộc gọi nó sẽ trả lời bằng bản tin Connect tới phía chủ gọi.
Khi các bản tin báo hiệu cuộc gọi do gatekeeper định tuyến, thì thủ tục thiết lập cuộc
gọi được thể hiện trên hình.
Hình 4-13: Chỉ có phía chủ gọi đăng ký – gatekeeper định tuyến báo hiệu
Trong trường hợp này các thứ tự bản tin của thủ tục giống hệt trường hợp trên, chỉ
khác duy nhất một điểm đó là tất cả các bản tin báo hiệu gửi từ đầu cuối này tới đầu
cuối kia đều thông qua phần tử trung gian là gatekeeper 1.
31
KHOA CNTT –
ĐH KHTN
Chỉ có phía bị gọi có đăng ký với gatekeeper
Trong trường hợp chỉ có phía bị gọi đăng ký với gatekeeper và các bản tin báo hiệu
truyền trực tiếp thì thủ tục báo hiệu của nó sẽ có dạng như hình.
Hình 4-14: Chỉ có phía bị gọi đăng ký – Báo hiệu truyền trực tiếp
Đầu tiên phía chủ gọi gửi bản tin Setup (1) trên kênh báo hiệu đã biết địa chỉ tới phía
bị gọi. Nếu phía bị gọi chấp nhận nó sẽ trao đổi cặp bản tin ARQ (3)/ACF (4) với
gatekeeper 2. Phía bị gọi cũng có thể nhận được ARJ (4), khi đó nó sẽ gửi bản tin
Release Complete tới phía chủ gọi. Trong trường hợp chấp nhận phía bị gọi sẽ trả lời
bằng bản tin Connect (6) có chứa địa chỉ kênh điều khiển H.245 cho phía chủ gọi.
Trường hợp báo hiệu do gatekeeper định tuyến, thủ tục báo hiệu được thể hiện trên
hình .
32
KHOA CNTT –
ĐH KHTN
Hình 4-15: Chỉ có phía bị gọi đăng ký gatekeeper định tuyến báo hiệu
Đầu tiên phía chủ gọi sẽ gửi bản tin Setup (1) trên kênh báo hiệu đã biết trước địa chỉ
tới phía bị gọi , nếu phía bị gọi chấp nhận cuộc gọi nó sẽ trao đổi bản tin ARQ
(3)/ARJ (4) với gatekeeper. Trong bản tin ARJ mà gatekeeper trả lời cho phía bị gọi
chứa mã yêu cầu định tuyến cuộc gọi qua gatekeeper (routeCallTogatekeeper). Khi
đó phía bị gọi sẽ gửi bản tin Facility (5) có chứa địa chỉ kênh báo hiệu của gatekeeper
tới phía chủ gọi. Sau đó phía chủ gọi gửi bản tin Release Complete (6) tới phía chủ
gọi và căn cứ vào địa chỉ kênh báo hiệu phía chủ gọi sẽ gửi bản tin Setup (7) tới
gatekeeper, gatekeeper gửi bản tin Setup (8) tới phía bị gọi. Sau đó phía bị gọi sẽ trao
đổi bản tin ARQ (9)/ACF (10) với gatekeeper, phía bị gọi gửi bản tin Connect (12)
có chứa địa chỉ kênh điều khiển H.245 tới gatekeeper. gatekeeper sẽ gửi bản tin
Connect (13) có chứa địa chỉ kênh điều khiển H.245 của phía bị gọi.
33
KHOA CNTT –
ĐH KHTN
Hai đầu cuối đăng ký với hai gatekeeper khác nhau
Tình huống này có 4 trường hợp xảy ra:
+ Cả hai gatekeeper đều chọn cách định tuyến báo hiệu trực tiếp giữa hai đầu cuối,
khi đó thủ tục báo hiệu được thể hiện trên hình .
Hình 4-16: Hai đầu cuối đăng ký với hai gatekeeper –
Cả hai gatekeeper đều truyền báo hiệu trực tiếp giữa hai đầu cuối
Đầu tiên phía chủ gọi trao đổi các bản tin ARQ (1)/ACF (2) với gatekeeper 1, trong
bản tin ACF sẽ chứa địa chỉ kênh báo hiệu của phía bị gọi. Căn cứ vào địa chỉ này
phía chủ gọi gửi bản tin Setup (3) tới đầu cuối bị gọi. Nếu phía bị gọi chấp nhận thì
nó sẽ trao đổi ARQ (5)/ACF (6) với gatekeeper 2, nếu phía bị gọi nhận được ARJ (6)
thì nó sẽ gửi bản tin Release Complete tới phía chủ gọi. phía bị gọi.
Khi nhận được ACF phía bị gọi sẽ gửi bảo tin Connect (8) có chứa địa chỉ kênh điều
khiển H.245 tới phía chủ gọi.
+ Trường hợp thứ hai là gatekeeper 1 phía chủ gọi truyền báo hiệu theo phương thức
trực tiếp còn gatekeeper 2 phía bị gọi định tuyến báo hiệu cuộc gọi qua nó. Thủ tục
báo hiệu trong trường hợp này được thể hiện trên hình.
34
KHOA CNTT –
ĐH KHTN
Hình 4-17: Hai bên đăng ký với hai gatekeeper – Phía gọi truyền trực tiếp còn
phía bị gọi thì định tuyến báo hiệu qua gatekeeper 2
Đầu tiên phía chủ gọi trao đổi ARQ (1)/ACF (2) với gatekeeper 1, sau đó phía chủ
gọi sẽ gửi bản tin Setup (3) tới phía bị gọi. Nếu phía bị gọi chấp nhận, nó sẽ trao đổi
ARQ (5)/ARJ (6) với gatekeeper 2, trong bản tin ARJ (6) có chứa địa chỉ kênh báo
hiệu của nó và chứa mã chỉ thị báo hiệu định tuyến tới gatekeeper 2
(routeCallTogatekeeper). Sau đó phía bị gọi sẽ trả lời phía chủ gọi bằng bản tin
Facility (7) có chứa địa chỉ kênh báo hiệu của gatekeeper 2. Tiếp theo phía chủ gọi sẽ
gửi bản tin Release
35
KHOA CNTT –
ĐH KHTN
Complete tới phía bị gọi và trao đổi cặp bản tin DRQ (9)/DCF (10) với gatekeeper 1.
Khi nhận được DCF phía chủ gọi sẽ lại bắt đầu trao đổi bản tin ARQ (11)/ACF (12)
với gatekeeper 1. Tiếp theo phía chủ Gọi sẽ gửi bản tin Setup (13) tới địa chỉ kênh
báo hiệu của gatekeeper 2, sau đó gatekeeper 2 sẽ gửi bản tin Setup (13) tới phía bị
gọi. Phía bị gọi sẽ bắt đầu trao đổi ARQ (15)/ACF (16) với gatekeeper 2, sau đó phía
bị gọi sẽ gửi bản tin Connect (18) có chứa địa chỉ kênh điều khiển H.245 của nó tới
gatekeeper 2. gatekeeper 2 sẽ gửi bản tin Connect (19) tới phía chủ gọi.
+ Trường hợp thứ 3 là gatekeeper 1 phía chủ gọi định tuyến báo hiệu qua nó còn
gatekeeper 2 phía bị gọi chọn phương thức truyến báo hiệu trực tiếp. Thủ tục báo
hiệu của trường hợp này được thể hiện trên hình :
Hình 4-18: Hai bên đăng ký với 2 gatekeeper – gatekeeper 1 phía gọi định tuyến
báo hiệu còn phía bị gọi thì truyền trực tiếp
Đầu tiên phía chủ gọi trao đổi bản tin ARQ (1)/ACF (2) với gatekeeper 1, khi nhận
được ACF có chứa địa chỉ kênh báo hiệu của gatekeeper 1 thì TB chủ gọi sẽ gửi bản
tin Setup (3) tới gatekeeper 1.
gatekeeper 1 sẽ gửi bản tin Setup (4) có chứa địa chỉ kênh báo hiệu của nó tới TB bị
gọi. Nếu TB bị gọi chấp nhận, nó sẽ trao đổi ARQ (6)/ACF (7) với gatekeeper 2, nếu
nhận được ARJ (7) thì nó sẽ gửi bản tin Release Complete tới phía chủ gọi. Nếu nhận
được ACF (7) thì TB bị gọi sẽ gửi bản tin Connect (9) có chứa địa chỉ kênh điều
36
KHOA CNTT –
ĐH KHTN
khiển H.245 của nó tới gatekeeper 1. gatekeeper 1 sẽ gửi bản tin Connect (10) có
chứa địa chỉ kênh điều khiển H.245 của TB bị gọi tới TB chủ gọi.
+ Trường hợp thứ 4 là hai điểm cuối đăng ký với 2 gatekeeper và cả hai gatekeeper
này đều chọn phương thức định tuyến báo hiệu cuộc gọi qua chúng. Thủ tục báo hiệu
của trường hợp này được thể hiện trên hình :
Hình 4-19: Hai đầu cuối đều đăng ký - Định tuyến qua hai gatekeeper
Đầu tiên TB chủ gọi trao đổi ARQ (1)/ACF (2) với gatekeeper 1, trong bản tin ACF
có chứa địa chỉ kênh báo hiệu của gatekeeper 1.
Tiếp theo TB chủ gọi căn cứ vào địa chỉ này gửi bản tin Setup (3) tới gatekeeper 1..
Quá trình trao đổi bản tin có trình tự gần giống các trường hợp trước nhưng chỉ khác
một điểm đó là các TB chỉ trao đổi bản tin báo hiệu với các gatekeeper quản lý nó và
các gatekeeper có trao đổi bản tin báo hiệu cuộc gọi với nhau.
37
KHOA CNTT –
ĐH KHTN
Báo hiệu kiểu Overlap
Các thành phần trong mạng H323 có thể được hỗ trợ khả năng báo hiệu kiểu
Overlap. Nếu trong mạng có gatekeeper thì thủ tục báo hiệu kiểu Overlap sẽ được
dùng, các điểm cuối gửi đến gatekeeper bản tin ARQ mỗi khi có thêm thông tin về
địa chỉ gọi. Địa chỉ này được lưu trong trường destinationInfo của bản tin ARQ. Nếu
địa chỉ này là chưa đầy đủ (gatekeeper không thể xác định được đích) thì gatekeeper
sẽ trả lời bằng bản tin ARJ với thành phần thông tin AddmissionRejectReason có giá
trị là incompleteAddress (nếu có giá trị khác thì cuộc gọi coi như bị huỷ bỏ). Vì vậy,
điểm cuối phải gửi tiếp các bản tin ARQ cho đến khi địa chỉ mà gatekeeper nhận
được là đầy đủ. Nếu đã nhận đủ địa chỉ, gatekeeper trả lời bằng bản tin ACF.
Khi điểm cuối nhận được địa chỉ kênh báo hiệu đích destCallSignalAddress (có thể là
của gatekeeper hoặc của đích tuỳ theo phương pháp định tuyến báo hiệu) từ
gatekeeper, nó gửi đến địa chỉ này gói tin Setup với trường canOverlapSend chỉ định
liệu phương pháp báo hiệu Overlap có được áp dụng hay không. Nếu phía nhận nhận
được bản tin Setup với địa chỉ chưa đầy đủ và thành phần thông tin canOverlapSend
có giá trị là TRUE thì nó sẽ khởi động thủ tục báo hiệu kiểu Overlap bằng cách trả
lời bằng bản tin Setup Acknowledge. Các thông tin thêm về địa chỉ sẽ được phía chủ
gọi gửi trong bản tin Information. Nếu địa chỉ nhận được là không đầy đủ và trường
canOverlapSend có giá trị FALSE thì phía nhận trả lời bằng bản tin ReleaseComplete
để huỷ bỏ cuộc gọi.
Thủ tục kết nối nhanh
Sau khi trao đổi các bản tin báo hiệu, kênh điều khiển được thiết lập, sau đó kênh
thông tin mới được mở. Tuy nhiên, có thể bỏ qua giai đoạn thiết lập kênh điều khiển
bằng cách dùng thủ tục kết nối nhanh trên kênh báo hiệu.
Phía chủ gọi khởi động thủ tục kết nối nhanh khi gửi bản tin Setup có kèm theo thành
phần thông tin fastStart đến phí bị gọi.
Thành phần thông tin fastSatrt này chứa một chuỗi cấu trúc OpenLogicalChanel mô
tả đầy đủ các thông tin về kênh thông tin mà nó đề nghị thiết lập.
38
KHOA CNTT –
ĐH KHTN
Phía bị gọi có thể từ chối thủ tục kết nối nhanh bằng cách không gửi thành phần
thông tin fastStart trong bất cứ gói tin trả lời nào. Lúc đó, kênh điều khiển H245 phải
được thiết lập. Ngược lại, nếu phía bị gọi chấp nhận, trong gói tin trả lời sẽ có chứa
thành phần thông tin fastStart lựa chọn một cấu trúc Open LogicalChanel trong số
các cấu trúc mà bên gọi đề nghị. Qua đó, kênh thông tin được thiết lập giống như thủ
tục đóng mở kênh logic của kênh H245.
Phía bị gọi có thể bắt đầu truyền thông tin (media) ngay sau khi nhận được gói tin
báo hiệu từ phía chủ gọi có chứa thành phần thông tin fastStart. Do đó phía chủ gọi
phải chuẩn bị sẵn sàng để nhận bất cứ một kênh thông tin nào mà nó đã đưa ra trong
bản tin Setup. Khi nhận được bản tin trả lời có chứa thành phần thông tin fastStart ,
phía chủ gọi có thể ngừng chuẩn bị nhận thông tin trên các kênh không được chấp
nhận. Phía chủ gọi có thể yêu cầu phía bị gọi chưa gửi thông tin trước khi trả lời bằng
bản tin Connect. Nếu như trong bản tin Setup, thành phần thông tin
mediaWaitForConnect được thiết lập là TRUE thì phía bị goi không được phép gửi
dòng thông tin media cho đến khi đã gửi đi bản tin Connect.
Phía chủ gọi có thể bắt đầu truyền thông tin media ngay khi nhận được bản tin trả lời
có thành phần thông tin fastStart.Vì vậy, bên bị gọi phải sẵn sàng nhận thông tin
media trên kênh mà nó đã chấp nhận.
Chuyển sang kênh H245
Sau khi thiết lập cuộc gọi sử dụng thủ tục kết nối nhanh, một trong hai bên có nhu
cầu sử dụng các thủ tục chỉ có ở kênh H245.
Một trong hai bên có thể khởi động thủ tục thiết lập kênh H245 trong bất kì thời điểm
nào của cuộc gọi, sử dụng phương thức mã hoá gói tin H245 trong gói tin H225 (xem
phần sau) hoặc sử dụng kết nối kênh H245 riêng. Khi sử dụng thủ tục kết nối nhanh,
kênh báo hiệu phải được mở cho đến khi cuộc gọi kết thúc hoặc kênh H245 được
thiết lập.
Khi sử dụng kênh H245 riêng, tất cả các thủ tục bắt buộc của H245 phải được thực
hiện trước khi khởi động các thủ tục khác.
39
KHOA CNTT –
ĐH KHTN
Kênh thông tin đã được thiết lập trong thủ tục kết nối nhanh sẽ được thừa kế và được
xem như chúng đã được mở bởi thủ tục mở kênh thông tin của H245.
Giải phóng cuộc gọi
Nếu kênh thông tin được thiết lập bằng thủ tục kết nối nhanh và không chuyển sang
kênh H245, cuộc gọi được giải phóng khi một trong hai bên gửi đi gói tin báo hiệu
ReleaseComplete.
4.2.2.2 Thiết lập kênh điều khiển :
Sau khi trao đổi csác bản tin thiết lập cuộc gọi, các điểm cuối sẽ thiết lập kênh điều
khiển H.245 với địa chỉ được xác định trong bước 1. Kênh điều khiển này có thể do
phía bị gọi thiết lập sau khi nó nhận được bản tin Setup hoặc do phía chủ gọi thiết lập
khi nó nhận được bản tin Alerting hoặc Call Proceeding. Trong trường hợp không
nhận được bản tin Connect hoặc một điểm cuối gửi Release Complete, thì kênh điều
khiển H.245 sẽ bị đóng. Đầu tiên các điểm cuối trao đổi các bản tin để trao đổi khả
năng thu phát luồng thông tin media. Sau đó chúng sẽ thực hiện thủ tục để xác định
chủ - tớ (master - slave). Trong trường hợp cả hai điểm cuối đều có khả năng của
MC, thủ tục này sẽ xác định điểm cuối nào là active MC (active MC sẽ là chủ trong
cuộc gọi hội nghị).
Sau khi thực hiện xong các thủ tục này, cuộc gọi chuyển sang bước thứ 3 để thiết lập
kênh thông tin.
Mã hoá bản tin H245 trong bản tin báo hiệu H225.0 Với mục đích duy trì tài nguyên,
đồng bộ hoá giữa báo hiệu và điều khiển cuộc gọi, giảm thời gian thiết lập cuộc gọi,
các bản tin H245 sẽ được mã hoá trong bản tin báo hiệu H225 truyền trên kênh báo
hiệu thay vì thiết lập một kênh điều khiển H245 riêng.
Điểm cuối muốn sử dụng phương thức này sẽ thiết lập thành phần thông tin
h245Tunneling lên giá trị TRUE trong bản tin Setup và các bản tin báo hiệu sau đó
trong thời gian phương thức này vẫn được sử dụng. Nếu chấp nhận phương thức này,
bên nhận sẽ thiết lập thành phần thông tin h245Tunneling lên giá trị TRUE trong bản
tin trả lời cho bản tin Setup và trong các bản tin tiếp theo trong thời gian phương thức
này vẫn được sử dụng.
40
KHOA CNTT –
ĐH KHTN
Một hoặc nhiều bản tin H245 có thể được mã hoá trong một bản tin H225.0. Trong
thời gian không cần truyền bản tin báo hiệu nào mà cần phải gửi bản tin điều khiển
H245 thì bản tin H245 sẽ đươc gửi đi trong bản tin báo hiệu Facility trên kênh báo
hiệu.
Nếu trong bản tin Setup có mã hoá bán tin H245 nhưng phía bị gọi lại không chấp
nhận thì phía chủ gọi phải coi như phía bị gọi đã bỏ qua thành phần thông tin này.
Phía chủ gọi không được phép sử dụng thành phần thông tin fastStart và gói tin H245
được mã hoá trong cùng bản tin Setup, bởi vì như vậy thì thủ tục kết nối nhanh sẽ bị
bỏ qua. Mặc dù vậy, cả hai bên vẫn có thể gửi thành phần thông tin fastStart và thiết
lập giá trị h245Tunneling bằng TRUE trong cùng bản tin Setup. Trong trường hợp
này, thủ tục kết nối nhanh sẽ được thực hiện và kết nối H245 vẫn chưa được thiết lập.
Khi khởi động thiết lập kênh H245 hoặc các bản tin H245 được mã hoá trong gói tin
H225.0 được truyền đi thì thủ tục kết nối nhanh được kết thúc.
Khi sử dụng phương thức này, kênh báo hiệu phải được duy trì cho đến khi cuộc gọi
kết thúc hoặc kênh H245 được thiết lập.
Chuyển sang kết nối H245 riêng
Khi phương thức mã hoá bản tin H245 trong bản tin báo hiệu hoặc thủ tục kết nối
nhanh được sử dụng, một trong hai điểm cuối có thể khởi động chuyển sang sử dụng
một kênh H245 riêng. Để có thể chuyển sang kênh H245 tại một thời điểm bất kì, các
bản tin báo hiệu phải luôn chứa địa chỉ của kênh H245. Nếu một điểm cuối muối
chuyển sang sử dụng kênh H245 riêng mà chưa nhận được địa chỉ của kênh H245
trong bản tin báo hiệu thì nó sẽ gửi đi một bản tin FACILITY kèm theo địa chỉ của
nó, đồng thời yêu cầu bên kia gửi trả lại địa chỉ của kênh H245. Sau khi đã có địa chỉ
chúng sẽ mở kết nối TCP để thiết lập kênh điều khiển. Bên khởi tạo kênh điều khiển
không được phép gửi thêm bất cứ bản tin báo hiệu nào có chứa bản tin H245, đồng
thời các bản tin H245 cũng chưa được phép truyền cho đến khi kết nối TCP được xác
nhận. Bên xác nhận kết nối TCP sau khi đã xác nhận không được phép gửi thêm các
bản tin báo hiệu có mã hoá bản tin điều khiển nữa.
41
KHOA CNTT –
ĐH KHTN
Bởi vì có thể trong thời gian khởi tạo kênh H245, các bản tin báo hiệu có mã hoá bản
tin H245 vẫn có thể được truyền đi, nên các điểm cuối phải có khả năng xử lí các bản
tin này cho đến khi nhận được bản tin báo hiệu có thành phần thông tin
h245Tunneling là FALSE. Trả lời cho các bản tin này sẽ được truyền trên kênh điều
khiển đã được thiết lập. Sau khi kênh H245 được thiết lập thì không thể quay trở lại
sử dụng phương thức mã hoá bản tin H245 trong bản tin báo hiệu nữa.
4.2.2.3 Thiết lập truyền thông :
Sau khi trao đổi khả năng (tốc độ nhận tối đa, phương thức mã hoá..) và xác định
master-slave trong giao tiếp trong giai đoạn 2, thủ tục điều khiển kênh H.245 sẽ thực
hiện việc mở kênh logic để truyền thông tin. Sau khi mở kênh logic để truyền tín hiệu
là âm thanh và hình ảnh thì mỗi điểm cuối truyền tín hiệu sẽ truyền đi một bản tin
h2250MaximumSkewIndication để xác định thông số truyền.
Thay đổi chế độ hoạt động
Trong giai đoạn này các điểm cuối có thể thực hiện thủ tục thay đổi cấu trúc kênh,
thay đổi khả năng và chế độ truyền cũng như nhận.
Trao đổi các luồng tín hiệu video
Việc sử dụng chỉ thị videoIndicateReadyToActive được định nghĩa trong khuyến
nghị H.245 là không bắt buộc, nhưng khi sử dụng thì thủ tục của nó như sau. Đầu
tiên phía chủ gọi sẽ không được phép truyền video cho đến khi phía bị gọi chỉ thị sẵn
sàng để truyền video. Phía chủ gọi sẽ truyền bản tin videoIndicateReadyToActive sau
khi kết thúc quá trình trao đổi khả năng, nhưng nó sẽ không truyuền tín hiệu video
cho đến khi nhận được bản tin videoIndicateReadyToActive hoặc nhận được luồng
tín hiệu video đến từ phía phía bị gọi.
Phân phối các địa chỉ luồng dữ liệu Trong chế độ một địa chỉ, một điểm cuối sẽ mở
một kênh logic tới MCU hoặc một điểm cuối khác. Địa chỉ của các kênh chứa trong
bản tin openLogicalChannel và openLogicalChannelAck.
Trong chế độ địa chỉ nhóm, địa chỉ nhóm sẽ được xác định bởi MC và được truyền
tới các điểm cuối trong bản tin communicationModeCommand. Một điểm cuối sẽ
42
KHOA CNTT –
ĐH KHTN
báo cho MC việc mở một kênh logic với địa chỉ nhóm thông qua bản tin
openLogicalChannel và MC sẽ truyền bản tin đó tới tất cả các điểm cuối trong nhóm.
4.2.2.4 Dịch vụ :
Lúc này, cuộc gọi đã được thiết lập, hai bên có thể trao đổi thông tin media. Các dịch
vụ giám sát chất lượng hoạt động, thay đổi độ rộng băng tần, các dịch vụ bổ trợ khác
cũng được tiến hành.
Thay đổi độ rộng băng tần
Độ rộng băng tần của một cuộc gọi được gatekeeper thiết lập trong khoảng thời gian
thiết lập trao đổi. Một điểm cuối phải chắc chắn rằng tổng tất cả luồng truyền, nhận
âm thanh và hình ảnh đều phải nằm trong độ rộng băng tần đã thiết lập.
Tại mọi thời điểm trong khi hội thoại, điểm cuối hoặc gatekeeper đều có thể yêu cầu
tăng hoặc giảm độ rộng băng tần. Một điểm cuối có thể thay đổi tốc độ truyền trên
một kênh logic mà không yêu cầu gatekeeper thay đổi độ rộng băng tần nếu như tổng
tốc độ truyền và nhận không vượt quá độ rộng băng tần hiện tại. Trong trường hợp
ngược lại thì điểm cuối phải yêu cầu gatekeeper mà nó đăng ký thay đổi độ rộng
băng tần.
Thủ tục thay đổi độ rộng băng tần - thay đổi thông số truyền được thể hiện trên hình .
Hình 4-20: Yêu cầu thay đổi độ rộng của băng tần – thay đổi thông số truyền
Khi điểm cuối 1 muốn tăng tốc độ truyền trên kênh logic trước hết nó phải xác định
xem có thể vượt quá độ rộng băng tần của cuộc gọi hiện tại không. Nếu có thể thì nó
sẽ gửi bản tin BRQ (1) tới gatekeeper 1. Khi nhận được bản tin BCF (2) có nghĩa là
43
KHOA CNTT –
ĐH KHTN
có đủ độ rộng băng tần cho yêu cầu, điểm cuối 1 sẽ gửi bản tin closeLogicalChannel
(3) để đóng kênh logic. Sau đó nó sẽ mở lại kênh logic bằng cách gửi bản tin
openLogicalChannel (4) có chứa giá trị tốc độ mới tới điểm cuối 2. Trước hết nó phải
xác định xem giá trị đó có vượt quá độ rộng băng tần của kênh hay không, nếu chấp
nhận giá trị này thì nó sẽ trao đổi bản tin yêu cầu thay đổi độ rộng băng tần BRQ
(5)/BCF (6) với gatekeeper 2. Nếu độ rộng băng tần đủ cho yêu cầu thay đổi thì điểm
cuối 2 sẽ trả lời điểm cuối 1 bằng bản tin openLogicChannelAck (7), trong trường
hợp ngược lại nó sẽ từ chối bằng bản tin openLogicChannelReject.
Thủ tục thay đổi độ rộng băng tần - Thay đổi thông số nhận được thể hiện trên hình:
Hình 4-21: Yêu cầu thay đổi độ rộng băng tần – thay đổi thông số nhận
Khi điểm cuối 1 muốn tăng tốc độ nhận trên kênh logic của mình, trước hết nó phải
xác định xem có thể vượt quá độ rộng băng tần của cuộc gọi hiện tại không. Nếu có
thể thì nó sẽ gửi BRQ (1) tới gatekeeper 1, khi nhận được BCF (2) thì nó sẽ gửi bản
tin flowControlCommand (3) có chứa giới hạn tốc độ mới của kênh tới điểm cuối 2.
Trước hết điểm cuối 2 phải xác định xem băng tần mới có vượt quá khả năng của
kênh không, nếu chấp nhận được thì nó sẽ gửi bản tin yêu cầu thay đổi độ rộng băng
tần BRQ (4) tới gatekeeper 2. Khi nhận được BCF (5) thì điểm cuối 2 sẽ gửi bản tin
closeLogiclChannel (6) để đóng kênh logic sau đó mở lại kênh logic bằng bản tin
44
KHOA CNTT –
ĐH KHTN
openLogicalChannel (7) có chứa tốc độ bit mới tới điểm cuối 1. Đầu cuối 1 sẽ xác
định tốc độ mới và trả lời điểm cuối 2 bằng bản tin openLogicalChannelAck (6).
Giám sát trạng thái
Để giám sát trạng thái hoạt động của điểm cuối, gatekeeper liên tục trao đổi cặp bản
tin IRQ/IRR với các điểm cuối do nó kiểm soát . Khoảng thời gian đều đặn giữa các
lần trao đổi các bản tin có thể lớn hơn 10 giây và giá trị của nó do nhà sản xuất quyết
định.
Gatekeeper có thể yêu cầu một điểm cuối gửi cho nó bản tin IRR một cách đều đặn
nhờ giá trị của trường irrFrequency trong bản tin ACF gửi cho điểm cuối đó để xác
định tốc độ truyền bản tin IRR.
Khi xác định được giá trị của trường irrFrequency, điểm cuối sẽ gửi bản tin IRR với
tốc độ đó trong suốt khoảng thời gian của cuộc gọi.
Trong khi đó gatekeeper có thể vẫn gửi IRQ tới điểm cuối và yêu cầu trả lời theo cơ
chế như đã trình bày ở trên.
Trong khoảng thời gian diễn ra cuộc gọi, một điểm cuối hoặc gatekeeper có thể đều
đặn hỏi trạng thái từ điểm cuối bên kia bằng cách sử dụng bản tin Status Enquiry.
Điểm cuối nhận được bản tin Status Enquiry sẽ trả lời bằng bản tin chỉ thị trạng thái
hiện thời.
Thủ tục hỏi đáp này có thể được gatekeeper sử dụng để kiểm tra một cách đều đặn
xem cuộc gọi có còn đang hoạt động không. Có một lưu ý là các bản tin này là bản
tin H.225.0 được truyền trên kênh báo hiệu cuộc gọi không ảnh hưởng đến các bản
tin IRR được truyền trên kênh RAS.
4.2.2.5 Kết thúc cuộc gọi :
Một điểm cuối có thể kết thúc cuộc gọi theo các bước của thủ tục sau:
Dừng truyền luồng tín hiệu video khi kết thúc truyền một ảnh, sau đó đóng tất
cả các kênh logic phục vụ truyền video.
Dừng truyền dữ liệu và đóng tất cả các kênh logic dùng để truyền dữ liệu.
Dừng truyền audio sau đó đóng tất cả các kênh logic dùng để truyền audio.
45
KHOA CNTT –
ĐH KHTN
Truyền bản tin H.245 endSessionCommand trên kênh điều khiển H.245 để
báo cho đầu kia biết nó muốn kết thúc cuộc gọi. Sau đó nó dừng truyền các
bản tin H.245 và đóng kênh điều khiển H.245.
Nó sẽ chờ nhận bản tin endSessionCommand từ bên kia và sẽ đóng kênh điều
khiển H.245
Nếu kênh báo hiệu cuộc gọi đang mở, thì nó sẽ truyền đi bản tin Release
Complete sau đó đóng kênh báo hiệu.
Nó cũng có thể kết thúc cuộc gọi theo các thủ tục sau đây: một điểm cuối nhận bản
tin endSessionCommand mà trước đó nó không truyền đi bản tin này, thì nó sẽ lần
lượt thực hiện các bước từ 1 đến 6 trên đây chỉ bỏ qua bước 5.
Chú ý: Kết thúc một cuộc gọi không có nghĩa là kết thúc một hội nghị (cuộc gọi có
nhiều điểm cuối tham gia), một hội nghị sẽ chắc chắn kết thúc khi sử dụng bản tin
H.245 dropConference. Khi đó các điểm cuối sẽ chờ MC kết thúc cuộc gọi theo thủ
tục trên.Trong một cuộc gọi không có sự tham gia của gatekeeper thì chỉ cần thực
hiện các bước từ 1 đến 6.
Nhưng trong cuộc gọi có sự tham gia của gatekeeper thì cần có hoạt động giải phóng
băng tần, thủ tục này được thể hiện trên hình.
Hình 4-22: Điểm cuối kết thúc cuộc gọi có sự tham gia của gatekeeper
46
KHOA CNTT –
ĐH KHTN
Vì vậy sau khi thực hiện các bước từ 1 đến 6, mỗi điểm cuối sẽ truyền đi bản tin
DRQ (3) tới gatekeeper để yêu cầu giải phóng khỏi gatekeeper. Sau đó gatekeeper sẽ
trả lời bằng bản tin DCF (4). Sau khi gửi DRQ, thì điểm cuối sẽ không gửi bản tin
IRR tới gatekeeper nữa và khi đó cuộc gọi kết thúc.
Trên đây là thủ tục kết thúc cuộc gọi có sự tham gia của gatekeeper do điểm cuối
thực hiện. Thủ tục kết thúc cuộc gọi do gatekeeper thực hiện được thể hiện trên hình
2.23. Đầu tiên gatekeeper gửi bản tin DRQ tới điểm cuối, khi nhận được bản tin này
điểm cuối sẽ lần lượt thực hiện các bước từ 1 đến 6 sau đó trả lời gatekeeper bằng
bản tin DCF. Đầu kia khi nhận được bản tin endSessionCommand sẽ thực hiện thủ
tục giải phóng giống trường hợp điểm cuối chủ động kết thúc cuộc gọi .
Hình 4-23: Kết thúc cuộc gọi bắt đầu từ gatekeeper
Nếu cuộc gọi là một hội nghị thì gatekeeper sẽ gửi DRQ tới tất cả các điểm cuối tham
gia hội nghị.
Tổng kết các phương pháp thiết lập cuộc gọi giữa các đầu cuối :
Cả hai Endpoint thiết lập cuộc gọi không thông qua Gatekeeper.
Cả hai Endpoint đăng ký cùng một Gatekeeper và báo hiệu cuộc gọi trực tiếp
giữa hai Endpoint với nhau.
Cả hai Endpoint đăng ký cùng một Gatekeeper và Gatekeeper báo hiệu cuộc gọi.
47
KHOA CNTT –
ĐH KHTN
Chỉ có Endpoint gọi đăng ký với Gatekeeper và sử dụng báo hiệu trực tiếp.
Chỉ có Endpoint gọi đăng ký với Gatekeeper và Gatekeeper báo hiệu cuộc gọi.
Chỉ có Endpoint được gọi đăng ký với Gatekeeper và sử dụng báo hiệu trực tiếp.
Chỉ có Endpoint được gọi đăng ký với Gatekeeper và Gatekeeper báo hiệu cuộc
gọi.
Cả hai Endpoint đăng ký hai Gatekeeper khác nhau và sử dụng báo hiệu cuộc
gọi trực tiếp.
Cả hai Endpoint đăng ký hai Gatekeeper khác nhau và hai Gatekeeper báo hiệu
cuộc gọi
48
KHOA CNTT –
ĐH KHTN
Chương 5 : Các khả năng của chuẩn H323 và ứng dụng Các chuẩn được cung cấp trong chuẩn H323 :
Hình 5-1: Các chuẩn được cung cấp trong chuẩn H323
Bảng tổng kết các chuẩn được công bố theo năm :
Bảng 5-1: Bảng tổng kết các chuẩn trong năm
49
KHOA CNTT –
ĐH KHTN
5.1 Chuẩn nén âm thanh :
5.1.1 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 – T đư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 µ.
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.
5.1.2 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.3kbit/s. 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 kbit/s 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.
5.1.3 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-T đư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 kbit/s .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 :
50
KHOA CNTT –
ĐH KHTN
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.
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.
Tính kinh tế : các công ty muốn tăng khả năng truyền âm thành, dữ liệu, nâng
cao chất lượng và giảm giá thành thì chuẩn này là một đề nghị có giá trị.
5.2 Chuẩn nén hình ảnh :
5.2.1 Chuẩn nén hình ảnh H261 : Chuẩn H.261được ITU-T đưa ra vào năm 1990. Chuẩn này đưa ra những phương
pháp mã hoá và giải mã hình ảnh, dùng trong việc truyền hình ảnh video của các dịch
vụ nghe nhìn với tốc độ px64Kbps ( p = 1- 30 ). Chuẩn này thực sự hiệu quả khi sử
dụng cho các ứng dụng sử dụng trong mạng chuyển mạch điện tử (SCN). H.261
thường được dùng với các chuẩn khác như: H221, H230, H242 và H320 hoặc những
chuẩn mới.
5.2.2 Chuẩn nén hình ảnh H263: H263 ra đời khoảng 5 năm sau chuẩn H261, là phần mới thêm vào trong loạt chuẩn H
của ITU và mục đích là để mở rộng khả năng mã hóa video cho việc truyền thông tốc
độ thấp (Low Bit Rate Communication). H.263 được thiết kế cho mạng có tốc độ nhỏ
hơn 64 Kbps, rất thích hợp cho các mạng truyền thông có băng thông thấp. Chuẩn
này chỉ mở rộng thêm một vài phần so với chuẩn H.261.
5.3 Chuẩn T120 :
5.3.1 Giới thiệu :
Chuẩn T120 bao gồm một tập hợp các dịch vụ, giao thức ứng dụng và truyền thông
mà cung cấp cho truyền thông dữ liệu đa điểm thời gian thực. Chuẩn T120 cung cấp
cho những khả năng xây dựng những ứng dụng dựa trên sự hợp tác giữa các điểm,
bao gồm chia sẻ ứng dụng, ứng dụng đa người dùng…
51
KHOA CNTT –
ĐH KHTN
Chuẩn T120 được đưa ra bởi International Telecommunications Union (ITU) . Chuẩn
này cũng được hỗ trợ bởi các công ty lớn như Apple, AT&T, British Telecom, Cisco
Sytems, Intel, MCI, Mircosoft, Picture Tel cho các dịch vụ, sản phẩm dựa trên T120.
5.3.2 Các ưu điểm của T120 :
5.3.2.1 Truyền dữ liệu đa điểm :
T120 cung cấp cho những người phát triển một cách nhìn thông thoáng về tạo và
quản lý đa điểm dễ dàng. Dữ liệu có thể truyền đến nhiều điểm trong thời gian thực.
5.3.2.2 Tính tương thích :
T120 cho phép các ứng dụng đầu cuối từ các nhà cung cấp khác nhau có thể tương
tác qua lại với nhau. T120 cũng chỉ ra làm thế nào những ứng dụng có thể tương tác
với hoặc thông qua các hệ thống mạng khác nhau mà cũng cung cấp chuẩn T120.
5.3.2.3 Truyền dữ liệu tin cậy :
Dữ liệu được truyền đi sẽ được đảm bảo rằng là truyền đúng.
5.3.2.4 Hiệu qủa trong multicast :
Bằng cách sử dụng multicast, kiến trúc T120 làm giảm sự tắc nghẽn và tăng hiệu suất
cho người sử dụng cuối. Kiến trúc T120 có thể dùng cả unicast, multicast đồng thời,
cung cấp một giải pháp linh hoạt cho tổng hợp các mạng dùng unicast và
multicast.Multicast Adaptation Protocol (MAP) được phê duyệt vào năm 1998.
5.3.2.5 Trong suốt mạng :
Những ứng dụng đuợc tách biệt hoàn toàn khỏi kỹ thuật truyền dữ liệu cơ sở mà
được dùng. Truyền thông sử dụng mạng LAN hay quay số đơn giản, người phát triển
ứng dụng chỉ cần quan tâm đến một tập hợp của những dịch vụ ứng dụng đơn, phù
hợp.
5.3.2.6 Độc lập hệ điều hành :
Chuẩn T120 được xây dựng độc lập với hệ điều hành. Sự chuyển đổi T120 giữa các
hệ điều hành với nhau là dễ dàng.
5.3.2.7 Độc lập mạng :
Chuẩn T120 cung cấp một phạm vi rộng của những lựa chọn truyền thông, bao gồm
Public Switched Telephone Network (PSTN hoặc POTS), Integrated Switched
52
KHOA CNTT –
ĐH KHTN
Digital Network (ISDN) , Packet Switched Digital Network (PSDN), Circuit
Switched Digital Network (CSDN) và những giao thức mạng thông dụng như
TCP/IP, IPX.
5.3.2.8 Hỗ trợ các kiểu mạng khác nhau :
Hội nghị đa điểm có thể được thiết lập mà không có sự giới hạn nào về các cấu hình
mạng. Cấu hình mạng sao với một Multipoint Control Unit (MCU) xuất hiện sớm.
Chuẩn cũng hỗ trợ số lượng lớn các cấu hình mạng khác nhau.
5.3.2.9 Độc lập ứng dụng :
Ngày nay, T120 được sử dụng trong nhiều ứng dụng thời gian thực.
5.3.2.10 Tính mang chuyển :
T120 được định nghĩa để có thể dễ dàng mang chuyển từ kiến trúc máy đơn sang
kiến trúc đa xử lý. Những tài nguyên của T120 thì phong phú .
5.3.2.11 Có thể tích hợp với các chuẩn khác :
T120 được thiết kế để có thể hoạt động một mình hoặc các chuẩn khác thuộc ITU
như là họ chuẩn H32x về hình ảnh. T120 cũng hỗ trợ và tham chiếu đến các chuẩn
quan trọng khác của ITU.
5.3.2.12 Tính mở rộng :
Chuẩn T120 có thể được bổ sung thêm những khả năng khác một cách dễ dàng, nâng
cao hiệu qủa bảo mật.
Các chuẩn đáng chú ý trong chuẩn T120 là :
T.126 : Whiteboard
T127 : Chia sẻ ứng dụng
T128 : Truyền file.
5.4 Phát triển dịch vụ điện thoại thông qua IP (VoIP):
5.4.1 Giới thiệu : VoIP là từ viết tắt của Voice Over Internet Protocol. Đúng như tên gọi của chúng,
nghi 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.
53
KHOA CNTT –
ĐH KHTN
5.4.2 Các ứng dụng của điện thoại IP : 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 PSTN.
Đ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.
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”. 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.
Intrnet sẽ thay đổi điều này. Kể từ khi Internet phủ khắp toàn cầu, 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 bạn 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
54
KHOA CNTT –
ĐH KHTN
mạnh mẽ thương mại điện tử. Dịch vụ này sẽ cho phép một khách hành 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 bạn 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 bạn 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 bạn 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 :
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
chẳng hạn Quicknet's Internet PhoneJACK. 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 bạn.
5.4.3 Các ưu điểm 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 bởi một người khác.
Đơn giản hoá :
55
KHOA CNTT –
ĐH KHTN
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ở 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 (multimedia) 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...
5.5 Xây dựng hội nghị đa truyền thông:
Chuẩn H323 có thể tổ chức được các hội nghị đa điểm theo nhiều phương pháp và
cấu hình khác nhau. Các mô hình hội nghị được đề nghị là hội nghị tập trung, hội
nghị phân tán, và hội nghị tập trung, phân tán.
5.5.1 Hội nghị đa điểm tập trung (Centralized multipoint
conference):
Hội nghị kiểu này cần MCU để có thể điều khiển hội nghị được linh hoạt, dễ dàng
hơn. Các đầu cuối gửi dữ liệu, âm thanh, hình ảnh và các dòng điều khiển đến MCU
trong mô hình điểm - điểm. MC quản lý hội nghị dùng các chức năng điều khiển của
H245 , đồng thời cũng xác định khả năng của các đầu cuối. Bộ phận MP sẽ thực hiện
việc tổng hợp âm thanh, phân phối dữ liệu, tổng hợp hoặc chuuyển mạch hình ảnh và
gửi đến các đầu cuối được xác định. MP có thể cung cấp sự chuyển đổi giữa các mã
56
KHOA CNTT –
ĐH KHTN
khác nhau, và tốc độ bit. MP cũng có thể dùng phân tán để phân phối hình ảnh đã
được xử lý. Do vậy, một MCU dùng cho hội nghị đa điểm tập trung phải có hai thành
phần là MC và MP.
5.5.2 Hội nghị đa điểm phân tán (Decentralized multipoint
conference):
Hội nghị này dùng kỹ thuật phân tán. Thiết bị đầu cuối H323 phát tán dữ liệu dữ liệu
hình ảnh, âm thanh đến các thiết bị đầu cuối khác mà không thông qua MCU Tuy
nhiên dữ liệu điều khiển vẫn được gửi về cho MCU, vì MCU vẫn là bộ phận quản lý,
và thông tin kênh điều khiển H245 vẫn được truyền cho MC .Những thiết bị đầu cuối
nhận được âm thanh, hình ảnh phải có trách nhiệm sử lý đa luồng âm thanh, hình
ảnh. Các đầu cuối dùng kênh điều khiển H245 để chỉ cho MC biết chúng có thể sử lý
được bao nhiêu luồng dữ liệu âm thanh, hình ảnh một lúc. Khả năng xử lý đồng thời
bao nhiêu luồng của một đầu cuối không ảnh hưởng đến số lượng bao nhiêu luồng
được phát tán trên hội nghị. MP cũng cung cấp lựa chọn hình ảnh và tổng hợp âm
thanh trong hội nghị đa điểm phân tán.
Hình 5-2: Hội nghị phân tán và tập trung
57
KHOA CNTT –
ĐH KHTN
5.5.3 Hội nghị đa điểm phân tán tập trung kết hợp: Hội nghị này kết hợp những đặc tính của hai loại hội trên. Những tín hiệu H245 và cả
âm thanh hay hình ảnh được xử lý thông qua những thông điệp điểm - điểm đến
MCU. Những tín hiệu còn lại được chuyển đến các đầu cuối H323 thông qua phân
tán.
Một lợi điểm của hội nghị tập trung là tất cả các đầu cuối H323 đều hỗ trợ trao đổi
thông tin điểm - điểm. Một MCU có thể phát đi nhiều tín hiệu đơn đến các đầu cuối
tham gia hội nghị mà không cần yêu cầu đặc biệt nào của mạng. Ngược lại, MCU có
thể nhận nhiều dòng tín hiệu đơn, tổng hợp âm thanh, chuyển mạch hình ảnh, phát
tán dòng dữ liệu, và duy trì băng thông cho mạng.
H323 cũng hỗ trợ hội nghị đa điểm hỗn hợp, trong đó một số đầu cuối thuộc hội nghị
đa điểm tập trung, số còn lại thuộc hội nghị đa điểm phân tán. MCU đóng vai trò là
cầu nối giữa hai hội nghị này. Các đầu cuối tham gia trong hội nghị không biết được
bản chất thật sử của hội nghị hỗn hợp mà chỉ hiểu đơn giản đó là một kiểu kết nối mà
trong đó nó gởi và nhận.
Bằng cách hỗ trợ hai loại truyền thông là truyền theo multicast và unicast nên H323
mở rông công nghệ mạng hiện tại và tương lai. Dùng multicast làm tăng khả sử dụng
băng thông của mạng. nhưng các đầu cuối phải xử lý nhiều. Hơn nữa, multicast được
dùng trong trong mạng có router và switch.
Một MC có thể được đặt trong một gatekeeper, một gateway, đầu cuối (terminal),
hoặc MCU . Ví dụ như ta có cách bố trí một hội nghị đa điểm gồm 3 đầu cuối theo
nhu hình dưới.
58
KHOA CNTT –
ĐH KHTN
Hình 5-3: Hội nghị đa điểm phân tán tập trung kết hợp
Một client B đóng vai trò là MC. Tất cả các đầu cuối có thể multicast trong mạng
phân tán. Một MP trên mỗi đầu cuối có tổng hợp, hiển thị các tín hiệu âm thanh, hình
ảnh đến người dùng. Cách này làm giảm đi sự cần thiết tài nguyên của hệ thống
mạng. Tuy nhiên, mạng này phải được cấu hình để có thể cung cấp được multicast.
Một MCU riêng biệt có thể được chỉ dùng để điều khiển âm thanh, dữ liệu, và các
chức năng điều khiển. Trong hệ thống này, hình ảnh vẫn có thể dùng multicast để có
thể bảo tồn băng thông.
5.6 Bộ thư viện OpenH323:
5.6.1 Giới thiệu :
5.6.2 Cấu trúc phân lớp của thư viên OpenH323 : • H225_RAS
o H323GatekeeperListener
o H323Gatekeeper
• H235Authenticator
o H235AuthSimpleMD5
o H235AuthProcedure1
• H245Negotiator
59
KHOA CNTT –
ĐH KHTN
o H245NegTerminalCapabilitySet
o H245NegRoundTripDelay
o H245NegRequestMode
o H245NegMasterSlaveDetermination
o H245NegLogicalChannels
o H245NegLogicalChannel
• H323Capabilities
• H323Capability
o H323_UserInputCapability
o H323RealTimeCapability
H323VideoCapability
H323_H261Capability
H323NonStandardVideoCapability
H323AudioCapability
H323_LIDCapability
H323_GSM0610Capability
H323_G729ACapability
H323_G7231Capability
H323_G711Capability
H323NonStandardAudioCapability
MicrosoftNonStandardAudioCapability
H323_LPC10Capability
o H323DataCapability
H323_T38Capability
H323_T120Capability
H323NonStandardDataCapability
• H323CapabilityRegistration
• H323Channel
o H323UnidirectionalChannel
60
KHOA CNTT –
ĐH KHTN
H323_RTPChannel
H323DataChannel
H323_T38Channel
H323_T120Channel
o H323BidirectionalChannel
• H323ChannelNumber
• H323Codec
o H323VideoCodec
H323_H261Codec
o H323AudioCodec
H323_LIDCodec
H323FramedAudioCodec
H323_LPC10Codec
H323_GSM0610Codec
H323_G729ACodec
H323_G7231Codec
H323StreamedAudioCodec
H323_muLawCodec
H323_ALawCodec
• H323Connection
• H323ControlPDU
• H323EndPoint
• H323GatekeeperCall
• H323GatekeeperServer
• H323Listener
o H323ListenerTCP
• H323NonStandardCapabilityInfo
o H323NonStandardVideoCapability
o H323NonStandardDataCapability
61
KHOA CNTT –
ĐH KHTN
o H323NonStandardAudioCapability
MicrosoftNonStandardAudioCapability
H323_LPC10Capability
• H323RasPDU
• H323RegisteredEndPoint
• H323SignalPDU
• H323Transport
o H323TransportIP
H323TransportUDP
• H323TransportAddress
• H323VideoDevice
o PPMVideoOutputDevice
o NullVideoOutputDevice
• H450ServiceAPDU
• OpalGloballyUniqueID
• OpalLineChannel
• OpalLineInterfaceDevice
o OpalVpbDevice
o OpalIxJDevice
• OpalMediaFormat
• OpalT120Protocol
• OpalT38Protocol
• Q931
• RTP_ControlFrame
• RTP_DataFrame
• RTP_JitterBuffer
• RTP_Session
o RTP_UDP
• RTP_SessionManager
62
KHOA CNTT –
ĐH KHTN
• RTP_UserData
o H323_RTP_Session
H323_RTP_UDP
• X224
5.6.3 Diễn giải ý nghĩa một số lớp :
H323EndPoint : Lớp này dùng để quản lý đầu cuối H323. Một đầu cuối có thể
không có hoặc nhiều trình listener để lắng nghe các kết nối vào hoặc dùng để kết nối
ra ngoài thông qua hàm MakeCall.
H323Connection : Thể hiện kết nối giữa hai điểm cuối.Có ít nhất hai tiến trình
được dùng, một dùng để lắng nghe các kênh điều khiển, tiến trình còn lại dùng để
lắng nghe kênh điều khiển.Cứ mỗi kênh dữ liệu được tạo ra bởi kênh điều khiển thì
tương ứng có một tiểu trình được tạo ra để quản lý.
H323TransportAddress : Tạo chuỗi chứa địa chỉ truyền thông.
H323Listener : Lớp này mô tả một listener trên một giao thức truyền thông.Một
listener là một đối tượng dùng để lắng nghe những kết nối đến. Nó được thực hiện
trên một tiến trình riêng biệt. Hàm Main() dùng để quản lý các kết nối H323 đến và
phân phối chúng trong những tiến trình mới khác dựa trên lớp H323Transport
H323Transport : Lớp này mô tả giao thức truyền thông I/O
H323TransportIP : Lớp này thể hiện một truyền thông H323 sử dụng IP
H323ListenerTCP : Quản lý kết nối sử dụng TCP/IP
H323TransportUDP :Thể hiện truyền thông dùng UDP/IP
H323RegisteredEndPoint : Thể hiện một đầu cuối đã đăng ký với gatekeeper
H323Channel : Thể hiện kênh logic giữa hai endpoint
H323UnidirectionalChannel : Thể hiện kênh logic một hướng giữa hai endpoint
H323DataChannel : Thể hiện kênh logic dữ liệu giữa hai đầu cuối
H323Capability : Mô tả bề mặt chung cho các khả năng của một endpoint. Nó được
dùng để truyền dữ liệu thông qua kênh logic mà được mở và quản bởi kênh điều
khiển H323
H323AudioCapability : Mô tả giao diện cho âm thanh, được dùng để truyền dữ liệu
thông qua kênh logic mà được mở và quản lý bởi kênh điều khiển H323
63
KHOA CNTT –
ĐH KHTN
H323VideoCapability : Mô tả giao diện cho hình ảnh, được dùng để truyền dữ liệu
thông qua kênh logic mà được mở và quản lý bởi kênh điều khiển H323
H323DataCapability : Mô tả giao diện cho dữ liệu, được dùng để truyền dữ liệu
thông qua kênh logic mà được mở và quản lý bởi kênh điều khiển H323
H323_G711Capability : Mô tả khả năng G711
H323_T120Capability : Mô tà kênh logic T120
Q931 : Lớp chứa một Q931 Protocol Data Unit
Chương 6 : Student - Hệ thống hỗ trợ học từ xa : 6.1 Giới thiệu :
Student là một hệ thống hỗ trợ cho việc dạy học trực tuyến thông qua mạng Internet
và Intranet . Hệ thống này được xây dựng theo dạng window application , sử dụng
chuẩn H323 trong truyền thông.
Với hệ thống này, giáo viên có thể tham gia trực tiếp vào việc giảng dạy trong một
lớp ảo do hệ thống tạo ra. Giáo viên được hệ thống hỗ trợ những công cụ để quản lý
các thành viên trong lớp. Hệ thống phải có chức năng cho phép hiển thị hình ảnh của
giáo viên khi cần thiết, đồng thời phải có chức năng thu giọng nói của giáo viên và
phát đi cho các thành viên trong lớp nghe thấy. Trong quá trình giảng dạy, nếu sinh
viên có ý kiến phát biểu thì hệ thống cũng phải có các chức năng hỗ trợ giúp thông
báo cho giáo viên đứng lớp biết. Khi có yêu cầu từ phía sinh viên , hệ thống phải
thông báo lại cho giáo viên đứng lớp, nếu được giáo viên cho phép thì sinh viên đó
mới được phát biểu.
Ngoài ra, hệ thống còn hỗ trợ chat bằng text. Việc này cũng do giáo viên đứng lớp
quản lý. Khi giáo viên cho phép thì mới được phép chat. Trong lúc chat, người sử
dụng có thể chọn đối tượng để chat bằng giao diện đơn giản, tiện dụng. Nếu giáo
viên không cho chat bằng text thì sinh viên không được chat tự do nữa, khi đó mọi
thông tin chat đều được gửi đến cho giáo viên. Nhưng đối với giáo viên thì vẫn còn
quyền được chat. Giáo viên vẫn chat được với các thành viên trong lớp. Hệ thống
cũng cho phép giáo viên chọn một thành viên bất kỳ đang tham gia lớp học để yêu
64
KHOA CNTT –
ĐH KHTN
cầu thành viên đó cho phép xem hình ảnh của họ. Hình ảnh phát đi là hình ảnh lấy từ
webcam.
Khi một thành viên có biểu hiện “quậy phá” trong lớp, thì hệ thống phải có chức
năng hỗ trợ giáo viên đuổi thành viên đó ra khỏi lớp.
Ngoài các lớp được tạo sẵn, hệ thống phải có chức năng cho giáo viên tạo ra một lớp
học hoặc một diễn đàn của riêng mình. Lớp được tạo ra có thể có mật khẩu bảo vệ
tuỳ theo yêu cầu của giáo viên. Khi tạo ra lớp học mới, giáo viên là người tạo sẽ là
chủ của lớp đó và có quyền hạn đối với lớp của mình như có thay đổi mật khẩu, thay
đổi người chủ của lớp, xoá lớp khi không còn dùng đến.
Sinh viên là người tham gia hệ thống thì phải có một tài khoản và một mật khẩu riêng
để có thể đăng nhập vào hệ thống. Đối với những người muốn tham gia lớp học thì
hệ thống phải hỗ trợ người đó đăng ký làm thành viên.
Hệ thống này được quản lý bởi một người quản trị. Người quản trị là người có quyền
cao nhất, có thể thực hiện tất cả các chức năng của giáo viên như tạo lớp học mới…
Ngoài ra, người quản trị cũng có trách nhiệm quản lý hệ thống, quản lý những người
sử dụng hệ thống.
Hệ thống được chia thành hai phần : phần server và phần client. Phần server đóng vai
trò quản lý các lớp học và duy trì các kết nối đến các thành viên tham gia lớp học.
Phần này đóng vai trò trung tâm trong việc sử lý các thông tin đến từ các thành viên.
Đồng thời nhận trách nhiệm phát hình ảnh, âm thanh đến đúng lớp. Phần thứ hai là
phần client giữ vai trò kết nối với server. Phần client này có thể dùng cho giáo viên
hoặc sinh viên. Tuỳ theo quyền của từng nhóm người sử dụng mà hệ thống sẽ hiển
thị các quyền tương ứng. Phần client cũng đóng vai trò thu nhận tín hiệu âm thanh,
hình ảnh của người sử dụng để truyền đến cho các thành viên khác.
6.2 Đối tượng sử dụng hệ thống:
Những đối tượng sử dụng hệ thống gồm có :
Admin : người quản trị hệ thống
Giáo viên : Người làm công tác giảng dạy
Sinh viên : Người học thông qua hệ thống
65
KHOA CNTT –
ĐH KHTN
Người vãng lai : Bất cứ người sử dụng không thuộc hệ thống đào tạo, có thể
đăng nhập vào hệ thống, và có thể đăng ký làm thành viên.
6.3 Các chức năng :
6.3.1 Chức năng dàng cho Admin :
6.3.1.1 Quản lý danh sách giáo viên, sinh viên :
Người quản trị có thể cấp cho giáo viên, sinh viên một username và một
passwod. Password này có thể do giao viên, sinh viên thay đổi về sau.
Người quản trị có thể thay đổi mật khẩu của những người tham gia hệ thống
Người quản trị có thể xoá những người sử dụng không còn hiệu lực trong hệ
thống
6.3.1.2 Quản lý danh sách lớp học :
Tạo sẵn lớp học : Lớp học được tạo sẵn có thể có mật khẩn bảo vệ. Chỉ có
admin hoặc người biết mật khẩu mới có thể vào được lớp.
Chỉnh sửa lớp học : Admin có thể thay đổi được người chủ của lớp, có thể
thay đổi mật khẩu của lớp đó.
Xoá lớp học : Khi lớp học không còn hiệu lực thì có thể xoá đi, là admin nên
không cần mật khẩu mới có thể xoá được.
6.3.1.3 Thay đổi người chủ của lớp học :
Người quản trị có thể thay đổi người chủ của lớp học, khi đã login vào trong
hệ thống là quyền admin thì không cần phải là người chủ, và có mật khẩu của
lớp đó (nếu có) mà vẫn có thể thay đổi được.
6.3.1.4 Thay đổi quyển đăng nhập cho người sử dụng :
Đối với mỗi người sử dụng, khi đăng ký vào hệ thống thì được hệ thống cấp
cho một quyền nhất định. Có bốn loại quyền trong hệ thống : quyền admin,
quyền người chủ, quyền giáo viên, quyền sinh viên. Mặc định khi đăng nhập
vào hệ thống, thì hệ thống cấp cho quyền là quyền sinh viên. Admin là người
chủ, do vậy cũng có thể thay đổi quyền cho những người dùng.
66
KHOA CNTT –
ĐH KHTN
6.3.1.5 Quản lý hệ thống Server:
Khởi động hệ thống Server : Chỉ có admin mới có thể khởi động được hệ
thống
Dừng hệ thống Server : Chỉ có admin mới có thể dừng được hệ thống
6.3.1.6 Thay đổi thông tin cá nhân :
Người quản trị có thể thay đổi thông tin cá nhân của mình như thay đổi mật
khẩu
6.3.2 Chức năng dành cho giáo viên :
6.3.2.1 Quản lý lớp học của mình :
Ngoài các lớp học do admin tạo ra sẵn, giáo viên có thể tự tạo ra cho mình lớp
học riêng. Lớp học do giáo viên tạo ra cũng có thể có mật khẩu. Những sinh
viên biết mật khẩu thì mới có thể tham gia lớp học. Mặc định là các lớp được
tạo ra là không có mật khẩu, mọi sinh viên hoặc người có username, password
trong hệ thống đều có thể tham gia vào lớp học được.
Giáo viên có thể thay đổi mật khẩu của lớp mình
Giáo viên là người chủ của một lớp học cũng có thể xoá đi lớp học đó. Khi
xoá lớp học thì phải có quyền là người chủ, phải nhập đúng mật khẩu.
6.3.2.2 Thay đổi người chủ của lớp học :
Giáo viên là người chủ của lớp học có thể thay đổi người chủ của lớp học
mình sở hựu. Khi thay đổi người chủ của lớp học, giáo viên phải là người chủ
của lớp đó, phải nhập đúng mật khẩu (nếu có) của lớp học thì mới có thể thay
đổi người chủ của lớp được.
6.3.2.3 Thay đổi thông tin cá nhân của mình :
Giáo viên có thể thay đổi thông tin cá nhân của mình như thay đổi mật khẩu
6.3.2.4 Cho phép – không cho phép text chat :
Giáo viên là người đứng lớp có quyền quản lý lớp của mình, giáo viên sẽ cho
phép những người tham gia lớp học có thể text chat được hay không.
67
KHOA CNTT –
ĐH KHTN
Khi giáo viên bật chức năng cho phép text chat, những người tham gia lớp học
mới có quyền được chat với nhau. Người dùng có thể chọn người chat với
mình.
Khi giáo viên tắt chức năng cho text chat đi, lớp học đó không thể thực hiện
text chat được. Người dùng chỉ có thể text chat được với giáo viên đứng lớp.
Còn riêng với giáo viên thì vẫn có thể chat được với các thành viên còn lại
trong lớp học.
6.3.2.5 Cho xem – không cho xem hình ảnh giáo viên (lấy từ webcam):
Hệ thống hỗ trợ cho người sử dụng có thể thấy hình ảnh của giáo viên.
Khi vào lớp, giáo viên đứng lớp có thể cho phép thấy hoặc không cho thấy
hình ảnh của mình cho những người tham gia trong lớp thấy. Mặc định là các
sinh viên tham gia lớp học không thể thấy được hình ảnh của giáo viên, khi
giáo viên bật chức năng cho phép xem thì mới có thể thấy được hình ảnh của
giáo viên thông qua webcam.
6.3.2.6 Cho phép sinh viên (hoặc người tham gia lớp học ) có thể phát biểu :
Khi vào lớp, chỉ có giáo viên mới có thể nói cho các thành viên còn lại nghe.
Khi có nhu cầu nói, sinh viên phải xin phép và được giáo viên cho phép thì
mới được nó.
Giáo viên cũng có thể chọn nhiều người cùng nói một lúc.
6.3.2.7 Cho phép xem – không cho xem hình ảnh của thành viên trong lớp :
Những người tham gia lớp học không thể gửi hình ảnh của mình đi được, chỉ
khi giáo viên yêu cầu cho xem thì lúc đó mới có thể gửi hình ảnh của mình đi
được.
Đến một thời gian nào đó, giáo viên sẽ lấy lại quyền phát hình của người đó
để chuyển cho người khác.
6.3.2.8 “Đuổi” sinh viên ra khỏi lớp học :
Khi một sinh viên làm gì đó, giáo viên có thể “đuổi” sinh viên đó ra khỏi lớp
học.
68
KHOA CNTT –
ĐH KHTN
6.3.3 Chức năng dành cho sinh viên :
6.3.3.1 Đăng nhập vào lớp học :
Khi sinh viên đã có một tài khoản trong hệ thống, sau khi đăng nhập vào hệ
thống, sinh viên đó mới có quyền tham gia vào trong lớp học được mở.
6.3.3.2 Đăng ký là thành viên :
Khi muốn là tham gia hệ thống, sinh viên đó phải đăng ký là thành viên của hệ
thống. Sau khi đăng ký thì sinh viên đó có thể tham gia vào lớp học ngay sau
đó.
6.3.3.3 Phát biểu trong lớp học :
Khi sinh viên muốn phát biểu trong lớp học, hệ thống sẽ cung cấp cho sinh
viên chức năng xin phép được phát biểu. Nếu được giáo viên đứng lớp đồng ý,
sinh viên đó có thể phát biểu ý kiến của mình.
6.3.3.4 Cho phép phát hình ảnh của mình :
Khi được giáo viên yêu cầu cho phép xem hình ảnh, hệ thống sẽ cung cấp
chức năng cho sinh viên đó trả lời lại yêu cầu đó.
6.3.3.5 Thực hiện text chat :
Hệ thống cung cấp cho sinh viên chức năng text chat. Sinh viên có thể chọn
đối tượng mà mình muốn chat.
6.3.3.6 Thay đổi thông tin cá nhân :
Sinh viên có thể thay đổi thông tin cá nhân của mình
69
KHOA CNTT –
ĐH KHTN
Chương 7 : Phân tích 7.1 Mô hình Use case :
Hình 7-1: Mô hình UseCase
7.2 Danh sách các Actor :
STT Actor Ý nghĩa
1 Quản trị Người quản trị hệ thống
2 Giáo viên Người tham gia đứng lớp để quản lý lớp
70
KHOA CNTT –
ĐH KHTN
3 Sinh viên Người tham gia hệ thống để học tập
4 Người dùng Tổng quát hoá các người dùng
Bảng 7-1: Danh sách các actor
7.3 Danh sách các Use-case:
STT Use-case Ý nghĩa
1 KetNoi Người dùng khi muốn tham gia vào hệ thống thì
phải thực hiện kết nối vào trong server của hệ
thống bằng cách dùng địa chỉ IP
2 DangKy Người dùng muốn tham gia vào hệ thống thì phải
là thành viên của hệ thống đó
3 ThayDoiThongTinCaNhan Người dùng có thể thay đổi thông tin cá nhân của
mình ví dụ thay đổi mật khẩu đăng nhập hệ thống
4 DangNhap Sau khi kết nối được với hệ thống, người dùng
phải thực hiện đăng nhập
5 QuanLyLop Người quản trị co thể tạo sẵn lớp học, xoá các lớp
học, thay đổi thông tin của lớp học như thay đổi
mật khẩu của lớp học
6 QuanLyTextChat Giáo viên đứng lớp có thể cho phép chat hay
không chat trong lớp học. Khi không được chat
thì chỉ có giáo viên mới có thể chat được với các
thành viên khác trong lớp, còn các thành viên thì
chỉ có thể chat với giáo viên đứng lớp. Khi được
phép chat, sinh viên có thể chọn cho mình những
đối tượng muốn chat.
7 QuanLyHinhAnh Giáo viên đứng lớp có quyền cho hay không cho
xem hình ảnh của mình cũng như chọn người sẽ
phát hình ảnh của họ cho các thành viên khác
trong lớp thấy.
8 QuanLyAmThanh Giáo viên đứng lớp có quyền cho hay không cho
71
KHOA CNTT –
ĐH KHTN
nói trong lớp học. Người muốn nói phải xin phép
và phải được chấp nhận thì mới có thể nói. Giáo
viên có thể chọn nhiều thành viên nói trong cùng
một lúc.
9 QuanLyThanhVien Các thành viên tham gia trong lớp học phải chịu
sự quản lý của giáo viên đứng lớp. Nếu thành
viên nào trong lớp mà không nghiêm túc thì giáo
viên có thể đuổi sinh viên đó ra khỏi lớp học hiện
tại.
10 ThayDoiChuLop Là người chủ của một lớp hay là người quản trị
thì có thể thay đổi người chủ quản lý lớp học.
11 TaoLopHoc Là giáo viên hay người quản trị đều có thể tạo ra
lớp học. Lớp học được tạo ra có thể có mật khẩu
12 QuanLyDSNguoiDung Người quản trị quản lý người sử dụng hệ thống
13 ThayDoiQuyenNguoiDung Người quản trị có quyền thay đổi quyền đăng
nhập của người sử dụng
14 QuanLyHeThong Chỉ có người quản trị mới có thể quản lý được hệ
thống
15 QuanLyDSLopHoc Người quản trị quản lý các lớp học hiện có trên
hệ thống.
16 ChatText Người dùng có thể dùng text để chat với nhau
17 TruyenHinhAnh Sinh viên có thể cho phép truyền hình ảnh của
mình
18 TruyenAmThanh Sinh viên có thể phát biểu trong lớp học
Bảng 7-2: Danh sách các use case
72
KHOA CNTT –
ĐH KHTN
7.4 Đặc tả các use-case chính :
7.4.1 Đặc tả use-case “KetNoi”:
7.4.1.1 Tóm tắt :
Use-case này thực hiện việc kết nối giữa những đầu cuối với Server. Use-case này
quan trọng ví phải thực hiện kết nối với server trước thì mới thực hiện được các chức
năng khác sau này.
7.4.1.2 Dòng sự kiện :
Use-case này bắt đầu khi người sử dụng muốn đăng nhập vào hệ thống.
1. Dòng sự kiện chính :
Use-case này bắt đầu khi người sử dụng chọn chức năng tạo kết nối.
Người dùng nhập địa chỉ IP của server
Sau khi nhập xong, người dùng nhấn nút MakeCall để thưc hiện việc
kết nối với sever
Chương trình thực hiện kết nối với server, nếu server đang hoạt động
và kết nối thành công, thì server sẽ báo trở lại với người dùng là kết nối
thành công
2. Các dòng sự kiện khác:
Kết nối không thành công : Có nhiều lý do
o Server chưa hoạt động
o Người dùng nhập sai địa chỉ của sever
Lúc này chương trình của người sử dụng dùng để kết nối với server không
thay đổi trạng thái. Người dùng có thể nhập lại địa chỉ kết nối hoặc huỷ nỏ
việc kết nối, lúc này use-case kết thúc.
7.4.1.3 Các yêu cầu đặc biệt :
Không có.
7.4.1.4 Điều kiện tiên quyết:
Không có.
73
KHOA CNTT –
ĐH KHTN
7.4.1.5 Kết quả :
Nếu kết nối thành công, thì server sẽ thông báo màn hình login, và actor sẽ thực hiện
việc login.
7.4.1.6 Điểm mở rộng:
Không có.
7.4.2 Đặc tả use-case “DangNhap” :
7.4.2.1 Tóm tắt :
Use-case này mô tả cách một người dùng đăng nhập vào hệ thống.
7.4.2.2 Dòng sự kiện :
Use-case này bắt đầu khi hệ thống yêu cầu người dùng đăng nhập.
1. Dòng sự kiện chính :
Sau khi kết nối thành công, hệ thông sẽ hiển thị một màn hình yêu cầu người
sử dụng nhập tên và mật khẩu.
Người dùng nhập tên và mật khẩu
Sau khi nhập xong, nhấn nút login
Hệ thống sẽ chuyển thông tin lên server để xử lý
Hệ thống sẽ kiểm tra tên và mật khẩu xem có trong cơ sở dữ liệu hay không
Hệ thống dựa vào quyền của người đăng nhập để cấp cho các chức năng tương
ứng.
Sau đó hệ thống báo cho người sử dụng biết đăng nhập thành công
2. Các dòng sự kiện khác :
Tên/mật khẩu sai :
o Nếu trong dòng sự kiện chính, actor nhập sai tên và mật khẩu thì hệ
thống sẽ thông báo là nhập tên và mật khẩu sai. Hệ thống sẽ hiện thỉ lại
màn hình đăng nhập yêu cầu người sử dụng đăng nhập lại.
o Người dùng có thể đăng nhập lại hoặc là hủy bỏ việc đăng nhập. Nếu
người sử dụng hủy bỏ việc đăng nhập thì hệ thống sẽ tự động ngắt kết
nối đã thực hiện trước khi thực hiện việc đăng nhập, lúc này use-case
74
KHOA CNTT –
ĐH KHTN
kết thúc. Nếu người dùng muốn đăng nhập lại thì phải quay lại use-case
KetNoi.
7.4.2.3 Các yêu cầu đặc biệt :
Không có
7.4.2.4 Điều kiện tiên quyết :
Hệ thống phải được kết nối thành công với server trước khi thực hiện việc đăng nhập
7.4.2.5 Kết qủa :
Nếu đăng nhập thành công, hệ thống sẽ hiện thị ra màn hình các lớp học đang được
mở trên hệ thống. Đồng thời dựa vào quyền của người đăng nhập mà hiển thị các
chức năng tương ứng với quyền đó.
7.4.2.6 Điểm mở rộng :
Không có.
7.4.3 Đặc tả use-case “ThayDoiThongTinCaNhan” :
7.4.3.1 Tóm tắt :
Use-case này mô tả cách mà người dùng thay đổi thông tin cá nhân. Use-case này
dùng chung cho tất cả các actor sử dụng hệ thống.
7.4.3.2 Dòng sự kiện :
Use-case này hoạt động khi actor muốn thay đổi thông tin cá nhân của mình(thay đổi
mật khẩu).
1. Dòng sự kiện chính :
Sau khi đăng nhập thành công, hệ thống sẽ hiển thị màn hình trên đó sẽ
liệt kê các lớp đang được mở và các chức năng tương ứng với quyền
của người đăng nhập đó.
Actor chọn chức năng thay đổi mật khẩu
Hệ thống sẽ hiển thị một màn hình yêu cầu nhập mật khẩu mới và cũ
Sau khi actor nhập xong, nhấn nút để thay đổi.
Hệ thống sẽ tự động lấy tên đăng nhập hiện tại, và chuyển các thông tin
mới nhập của actor lên server và tiến hành thay đổi thông tin.
Sau khi thay đổi thành công sẽ thông báo lại cho người sử dụng biết.
75
KHOA CNTT –
ĐH KHTN
Hệ thống sẽ quay lại màn hình trước lúc gọi chức năng thay đổi thông
tin.
2. Các dòng sự kiện khác :
Actor nhập sai mật khẩu cũ :
o Nếu trong dòng sự kiện chính, actor nhập sai mật khẩu thì hệ thống sẽ
thông báo lại cho actor biết để yêu cầu nhập lại hoặc actor kết thúc việc
thay đổi thông tin cá nhân. Lúc này, hệ thống sẽ quay lại màn hình
trước khi gọi chức năng thay đổi thông tin cá nhân và use-case kết thúc.
7.4.3.3 Các yêu cầu đặc biệt :
Không có
7.4.3.4 Điều kiện tiên quyết :
Hệ thống phải được kết nối thành công với server trước khi thực hiện việc đăng nhập.
7.4.3.5 Kết qủa :
Nếu thay đổi thành công hệ thống sẽ thông báo lại cho actor biết.
7.4.3.6 Điểm mở rộng :
Không có.
7.4.4 Đặc tả use-case “DangKy” :
7.4.4.1 Tóm tắt :
Use-case thể hiện cách thức đăng ký là thành viên của hệ thống.
7.4.4.2 Dòng sự kiện :
Use-case này bắt đầu khi actor nhấn muốn SignIn
1. Dòng sự kiện chính :
Sau khi kết nối thành công với server, hệ thống bên actor sẽ hiện thị
màn hình dùng để đăng nhập và để đăng ký là thành viên.
Actor khi không có tài khoản trên hệ thống sẽ phải thực hiện chức năng
đăng ký
Hệ thống sẽ hiển thị màn hình để cho actor đăng ký
Actor nhập vào các thông tin cá nhân như tên đăng nhập, mật khẩu.
Actor nhấn nút đắng ký.
76
KHOA CNTT –
ĐH KHTN
Hệ thống sẽ chuyển các thông tin của actor lên server để được xử lý
Trên server, tài khoản mới được tạo ra và trả lại kết quả cho actor,
quyền của tài khoản này là quyền sinh viên.
Nếu thành công, hệ thống trên server sẽ trả về danh sách các lớp đang
được mở trên hệ thống.
Với tài khoản mới này, actor có thể tham gia vào lớp học ngay lúc đó.
2. Các dòng sự kiện khác :
Actor không nhập tên đăng nhập hoặc mật khẩu.
Actor nhập hai lần mật khẩu không đúng
Actor đăng ký với tên đăng nhập đã có trong hệ thống
o Khi đó hệ thống sẽ thông báo cho người dùng biết là đăng ký không
thành công.
o Hệ thống sẽ hiển thị lại màn hình đăng ký cho actor hoặc actor kết thúc
đăng ký vào hệ thống. Lúc này use-case kết thúc.
7.4.4.3 Các yêu cầu đặc biệt :
Không có
7.4.4.4 Điều kiện tiên quyết :
Hệ thống phải được kết nối thành công với server trước khi thực hiện việc đăng ký
7.4.4.5 Kết qủa :
Nếu đăng ký thành công, trên database của server sẽ có một tài khoản mới với quyền
đăng nhập là quyền sinh viên.
7.4.4.6 Điểm mở rộng :
Không có.
7.4.5 Đặc tả use-case “QuanLyLop” :
7.4.5.1 Tóm tắt :
Use-case thể hiện chức năng quản lý các lớp của giáo viên là chủ của các lớp đó.
77
KHOA CNTT –
ĐH KHTN
7.4.5.2 Dòng sự kiện :
1. Dòng sự kiện chính :
Sau khi actor đăng nhập thành công với quyền là giáo viên hệ thống sẽ
hiển thị danh sách các lớp đang có trên hệ thống, actor đó sẽ chọn một
lớp và thực hiện các chức năng cần thiết đối với lớp đó.
Giáo viên có thể chọn các chức năng như : thay đổi mật khẩu của lớp
học, xóa lớp hoc.
1.1. Thay đổi mật khẩu :
Giáo viên chọn chức năng thay đổi mật của lớp.
Hệ thống sẽ hiển thị màn hình yêu cầu nhập mật khẩu cũ và mật khẩu
mới của lớp học
Actor nhấn nút thay đổi mật khẩu
Hệ thống sẽ tự động lấy tên đăng nhập hiện tại và mật khẩu do actor
cung cấp chuyển đến server xử lý.
Trên server sẽ kiểm tra xem tên đăng nhập có phải là người chủ của lớp
không, đồng thời kiểm tra xem co đúng mật khẩu không.
Nếu các điều kiện đúng thì sẽ thực hiện thay đổi mật khẩu
Sau khi làm xong sẽ thông báo lại cho actor biết.
1.2. Xoá lớp học :
Actor chọn lớp học và chọn chức năng xoá lớp học
Hệ thống sẽ hiển thị màn hình cho actor nhập mật khẩu của lớp
Actor nhập xong, nhấn nút xóa lớp học
Hệ thống sẽ tự động lấy tên đăng nhập hiện tại, mật khẩu do actor cung
cấp và truyền đến server
Trên server sẽ kiểm tra xem tên đăng nhập có phải là chủ của lớp học
đó không , đồng thời kiểm tra mật khẩu xem có đúng không
Sau đó thực hiện xoá lớp
Thông báo lại cho client biết
78
KHOA CNTT –
ĐH KHTN
2. Các dòng sự kiện khác :
Actor nhập mật khẩu sai
Actor không là chủ của lớp đó
o Hệ thống thông báo cho client biết là thực hiện chức năng đó không
được
o Hiển thị lại màn hình trước đó.
7.4.5.3 Các yêu cầu đặc biệt :
Không có
7.4.5.4 Điều kiện tiên quyết :
Phải đăng nhập với quyền là giáo viên, và phải có quyền là chủ của lớp học đó.
7.4.5.5 Kết qủa :
Nếu thành công, lớp học sẽ thay đổi mật khẩu, hoặc sẽ bị xoá khỏi database.
7.4.5.6 Điểm mở rộng :
Không có.
7.4.6 Đặc tả use-case “QuanLyTextChat” :
7.4.6.1 Tóm tắt :
Use-case này thể hiện chức năng quản lý chat của giáo viên chính trong lớp
7.4.6.2 Dòng sự kiện :
Use-case này bắt đầu khi giáo viên thực hiện chức năng quản lý text chat trong lớp
học.
1. Dòng sự kiện chính :
Sau khi đăng nhập đăng nhập vào hệ thống với quyền là giáo viên hệ
thống sẽ hiện thị lên chức năng cho phép hoặc không cho chat bằng
text.
Mặc định là không cho chat, khi giáo viên cho phép, thì sẽ nhấn vào
chức năng cho phép chat
Hệ thống sẽ gửi tín hiệu đến các thành viên trong lớp học đó là được
phép chat trong lớp.
79
KHOA CNTT –
ĐH KHTN
Khi giáo viên tắt chức năng cho chat, thì hệ thống sẽ gửi thông điệp đến
các thành viên trong lớp học biết, và hệ thống sẽ không cung cấp chức
năng chat. Nếu các thành viên khác mà vẫn gửi message đi thì tất cá
message đó đều được gửi đến cho giáo viên. Còn giáo viên vẫn có thể
chọn đối tượng chat.
2. Các dòng sự kiện khác :
Không có
7.4.6.3 Các yêu cầu đặc biệt :
Không có
7.4.6.4 Điều kiện tiên quyết :
Actor đăng nhập phải có quyền là giáo viên.
7.4.6.5 Kết qủa :
Hệ thống sẽ thay đổi trạng thái là được chat bằng text hay không được chat bằng text.
7.4.6.6 Điểm mở rộng :
Không có.
7.4.7 Đặc tả use-case “QuanLyHinhAnh” :
7.4.7.1 Tóm tắt :
Use-case này thể hiện chức năng quản lý hình ảnh gửi đi của giáo viên chính trong
lớp
7.4.7.2 Dòng sự kiện :
Use-case này bắt đầu khi giáo viên thực hiện chức năng quản lý hình ảnh trong lớp
học.
1. Dòng sự kiện chính :
Sau khi đăng nhập đăng nhập vào hệ thống với quyền là giáo viên hệ
thống sẽ hiện thị lên chức năng cho phép hoặc không cho gửi hình ảnh
của giáo viên.
Mặc định là không cho gửi hình ảnh của giáo viên, khi giáo viên cho
phép, thì sẽ nhấn vào chức năng cho phép gửi hình ảnh đi.
80
KHOA CNTT –
ĐH KHTN
Hệ thống sẽ lấy hình ảnh của giáo viên và gửi đi cho các thành viên
trong lớp có thể thấy được.
Khi không muốn cho gửi hình ảnh của mình thì giáo viên chọn chức
năng không cho gửi hình ảnh đi. Lúc này hệ thống sẽ ngừng cung cấp
hình ảnh của giáo viên.
2. Các dòng sự kiện khác :
7.4.7.3 Các yêu cầu đặc biệt :
Không có
7.4.7.4 Điều kiện tiên quyết :
Actor đăng nhập phải có quyền là giáo viên.
7.4.7.5 Kết qủa :
Hệ thống sẽ thay đổi trạng thái từ cho phép gửi hình ảnh giáo viên sang không cho
phép và ngược lại
7.4.7.6 Điểm mở rộng :
Không có.
7.4.8 Đặc tả use-case “QuanLyAmThanh” :
7.4.8.1 Tóm tắt :
Use-case này thể hiện chức năng quản lý âm thanh gửi đi của giáo viên chính trong
lớp
7.4.8.2 Dòng sự kiện :
Use-case này bắt đầu khi giáo viên thực hiện chức năng quản lý âm thanh trong lớp
học.
1. Dòng sự kiện chính :
Sau khi đăng nhập đăng nhập vào hệ thống với quyền là giáo viên hệ
thống sẽ hiện thị lên chức năng cho phép hoặc không cho gửi tiếng nói
của giáo viên.
Mặc định là không cho gửi tiếng nói của giáo viên, khi giáo viên cho
phép, thì sẽ nhấn vào chức năng cho phép gửi tiếng nói đi.
81
KHOA CNTT –
ĐH KHTN
Hệ thống sẽ lấy tiếng nói của giáo viên và gửi đi cho các thành viên
trong lớp có thể nghe được.
Khi không muốn cho gửi tiếng nói của mình thì giáo viên chọn chức
năng không cho gửi tiếng nói đi. Lúc này hệ thống sẽ ngừng cung cấp
tiếng nói của giáo viên.
2. Các dòng sự kiện khác :
Không có.
7.4.8.3 Các yêu cầu đặc biệt :
Không có
7.4.8.4 Điều kiện tiên quyết :
Hệ thống phải được kết nối thành công với server trước khi thực hiện việc đăng nhập
7.4.8.5 Kết qủa :
Hệ thống sẽ thay đổi trạng thái từ cho phép gửi tiếng nói của giáo viên sang không
cho phép và ngược lại
7.4.8.6 Điểm mở rộng :
Không có.
7.4.9 Đặc tả use-case “QuanLyThanhVien” :
7.4.9.1 Tóm tắt :
Use-case này thể hiện chức năng quản lý các thành viên trong lớp của giáo viên.
7.4.9.2 Dòng sự kiện :
Use-case bắt đầu khi giáo viên chọn một trong các chức năng trong quản lý các thành
viên trong lớp của mình quản lý,
1. Dòng sự kiện chính :
Sau khi đăng nhập thành công với quyền là giáo viên, hệ thống sẽ hiện
thị các chức năng cho việc quản lý các thành viên trong lớp học
Giáo viên chọn một thành viên trong lớp, và thực hiện một trong các
chức năng sau : cho phép hiển thi hình ảnh của thành viên đó cho các
thành viên khác trong lớp có thể thấy được, chọn chức năng cho phép
phát biểu trong lớp, hoặc đuổi sinh viên đó ra khỏi lớp.
82
KHOA CNTT –
ĐH KHTN
1.1. Cho phép phát hình ảnh của một thành viên khác trong lớp :
Giáo viên chọn một thành viên trong lớp cho phép hiển thị hình ảnh
của thành viên đó.
Hệ thống sẽ gửi thông điệp đến thành viên đó và yêu cầu được hiển thị
hình ảnh của thành viên đó.
Nếu được thành viên đó chấp nhận thì hệ thống sẽ ngưng phát hình ảnh
của người hiện thời và lấy hình ảnh của người mới và phát đi.
Sau đó, giáo viên có thể lấy lại quyền phát hình ảnh.
1.2. Cho phép nhiều thành viên phát biểu trong lớp cùng lúc :
Giáo viên chọn các thành viên trong lớp để yêu cầu phát biều
Hệ thống sẽ gửi tín hiệu đến các thành viên được chọn trong lớp và yêu
cầu phát biểu.
Nếu đồng ý, thì các thành viên này sẽ phát biểu.
Sau đó giáo viên có thể ngừng việc phát biểu của những thành viên này
và có thể chuyển cho các thành viên khác.
1.3. Đuổi một thành viên ra khỏi lớp :
Giáo viên chọn 1 thành viên và nhấn chức năng đuổi ra khỏi lớp
Hệ thống sẽ gửi thông điệp đến server và yêu cầu ngắt kết nối của
thành viên này ra khỏi lớp đang tham gia.
Sau khi thành viên đó bị đuổi ra khỏi lớp học, server sẽ cập nhật lại
trạng thái là có bao nhiêu người đang tham gia lớp học.
2. Các dòng sự kiện khác :
Thành viên được yêu cầu cho xem hình từ chối thực hiện
Thành viên được yêu cầu phát biểu từ chối thực hiện
7.4.9.3 Các yêu cầu đặc biệt :
Không có
7.4.9.4 Điều kiện tiên quyết :
Actor làm chủ phải đăng nhập vào hệ thống có quyền là quyền giáo viên.
83
KHOA CNTT –
ĐH KHTN
7.4.9.5 Kết quả:
Nếu giáo viên chọn người để thực hiện phát hình hoặc phát biểu trong lớp thì quyền
phát hình và phát tiếng nói sẽ thuộc về người đó.
Nếu giáo viên cho đuổi sinh viên đó ra khỏi lớp học thì số thành viên tham gia lớp
học sẽ giảm đi.
7.4.9.6 Điểm mở rộng :
Không có.
7.4.10 Đặc tả use-case “TaoLopHoc” :
7.4.10.1 Tóm tắt :
Use-case này thể hiện cách một người quản trị hay một giáo viên tạo một lớp học
7.4.10.2 Dòng sự kiện :
Use-case này bắt đầu khi actor muốn tạo một lớp học mới
1. Dòng sự kiện chính :
Sau khi đăng nhập thành công, hệ thống sẽ hiển thị danh sách các lớp
học đang có cùng với các chức năng tương ứng với quyền của actor.
Giáo viên chọn chức năng tạo mới một lớp học
Hệ thống hiển thị một màn hình yêu cầu actor nhập tên của lớp học,
mật khuẩu của lớp học (nếu cần)
Actor nhấn nút tạo lớp
Hệ thống tự động lấy tên người đang đăng nhập, và các thông tin do
người đó cung cấp chuyển đến server.
Trên server, sẽ tạo ra một lớp học trong cơ sở dữ liệu với người chủ là
người đã thực hiện chức năng tạo lớp.
Sau khi tạo xong, server sẽ thực hiện việc cập nhật lại danh sách các
lớp và gửi lại cho giáo viên.
Sau khi tạo xong thì có thể tham gia vào được.
2. Các dòng sự kiện khác :
Không có
84
KHOA CNTT –
ĐH KHTN
7.4.10.3 Các yêu cầu đặc biệt :
Không có
7.4.10.4 Điều kiện tiên quyết :
Actor đăng nhập vào trong hệ thống phải có quyền là giáo viên.
7.4.10.5 Kết qủa :
Nếu tạo lớp thành công thì trong cơ sở dữ liệu sẽ có một lớp mới.
7.4.10.6 Điểm mở rộng :
Không có.
7.4.11 Đặc tả use-case “ThayDoiChuLop” :
7.4.11.1 Tóm tắt :
Use-case này cho phép giáo viên là chủ của lớp học và người quản trị có thể thay đổi
được người chủ của lớp học.
7.4.11.2 Dòng sự kiện :
1. Dòng sự kiện chính :
Sau khi đăng nhập vào hệ thống với quyền là giáo viên hoặc quản trị,
hệ thống sẽ hiển thị các lớp học hiện có trên hệ thống.
Actor chọn một lớp học muốn thay đổi người chủ và nhấn vào chức
năng thay đổi người chủ.
Hệ thống sẽ hiển thị màn hình yêu cầu nhập vào mật khẩu nếu có, nhập
vào tên người chủ lớp học.
Actor nhấn vào nút thay đổi
Hệ thống sẽ chuyễn dữ liệu đến server và thực hịên việc thay đổi
Trên server sẽ tiến hành kiểm tra hợp lệ và thay đổi
Sau khi thay đổi xong báo lại cho actor biết.
2. Các dòng sự kiện khác :
Actor không là người chủ của lớp học : actor không thể thay đổi được
Actor nhập sai mật khẩu của lớp học
7.4.11.3 Các yêu cầu đặc biệt :
Không có
85
KHOA CNTT –
ĐH KHTN
7.4.11.4 Điều kiện tiên quyết :
Actor phải có quyền là chủ của lớp học hoặc là người quản trị.
7.4.11.5 Kết qủa :
Nếu thay đổi thành công, lớp học đó sẽ có người chủ mới.
7.4.11.6 Điểm mở rộng :
Không có.
7.4.12 Đặc tả use-case “QuanLyDSNguoiDung” :
7.4.12.1 Tóm tắt :
Use-case thể hiện chức năng quản lý người dùng của người quản trị.
7.4.12.2 Dòng sự kiện :
1. Dòng sự kiện chính :
Actor đăng nhập là quyền quản trị
Actor chọn một trong các chức năng sau : đăng ký một tài khoản mới,
chỉnh sửa tài khoản, xoá tài khoản đó.
1.1. Đăng ký một tài khoản mới :
Actor chọn đăng ký tài khoản mới
Hệ thống hiển thị màn hình yêu cầu nhập thông tin : tên đăng nhập, mật
khẩu, quyền đăng nhập.
Actor nhấn nút thực hiện
Hệ thống thực hiện việc thêm tài khoản mới.
1.2. Chỉnh sửa tài khoản :
Actor chọn một tài khoản cần thay đổi
Hệ thống hiện màn hình yêu cầu nhập mật khẩu mới
Actor nhập mật khẩu và nhấn nút thực hiện
Hệ thống sẽ cập nhật lại vào trong database.
1.3. Xoá một tài khoản :
Actor chọn một tài khoản
Thực hiện xoá
Hệ thống xoá tài khoản đó trong cở sở dữ liệu.
86
KHOA CNTT –
ĐH KHTN
2. Các dòng sự kiện khác :
Không có.
7.4.12.3 Các yêu cầu đặc biệt :
Không có
7.4.12.4 Điều kiện tiên quyết :
Actor phải là người quản trị.
7.4.12.5 Kết qủa :
Trong cơ sở dữ liệu sẽ thay đổi tương ứng với chức năng mà người quản trị thực
hiện.
7.4.12.6 Điểm mở rộng :
Không có.
7.4.13 Đặc tả use-case “ThayDoiQuyenNguoiDung” :
7.4.13.1 Tóm tắt :
Use-case thể hiện chức năng thay đổi quyền đối với người dùng.
7.4.13.2 Dòng sự kiện :
1. Dòng sự kiện chính :
Actor đăng nhập với quyền là người quản trị
Chọn chức năng thay đổi quyền người dùng
Hệ thống sẽ hiển thị danh sách người dùng
Actor chọn quyền tương ứng cho người dùng và nhấn nút thực hiện
Hệ thống sẽ cập nhật lại trong cơ sở dữ liệu.
2. Các dòng sự kiện khác :
Không có
7.4.13.3 Các yêu cầu đặc biệt :
Không có
7.4.13.4 Điều kiện tiên quyết :
Actor phải là người quản trị,
7.4.13.5 Kết quả:
Cơ sở dữ liệu thay đổi theo như người quản trị thực hiện.
87
KHOA CNTT –
ĐH KHTN
7.4.13.6 Điểm mở rộng :
Không có.
7.4.14 Đặc tả use-case “TruyenAmThanh” :
7.4.14.1 Tóm tắt :
Use-case thể hiện chức năng xin được phép nói của sinh viên.
7.4.14.2 Dòng sự kiện :
1. Dòng sự kiện chính :
Actor khi muốn nói thì sẽ nhấn vào nút xin phát biểu
Hệ thống sẽ truyền tín hiệu đến giáo viên đứng lớp
Nếu giáo viên cho phép thì sẽ bật chức năng cho phép nói.
Khi sinh viên phát biểu xong thì giáo viên sẽ lấy lại quyền nói.
2. Các dòng sự kiện khác :
Giáo viên không cho phép nói : khi đó actor đợi hoặc hủy bỏ việc xin
được phát biểu.
7.4.14.3 Các yêu cầu đặc biệt :
Không có
7.4.14.4 Điều kiện tiên quyết :
Không có
7.4.14.5 Kết qủa :
Actor đó có thể phát biểu trong lớp hoặc không được phát biểu trong lớp.
7.4.14.6 Điểm mở rộng :
Không có.
7.5 Phân tích kiến trúc hệ thống :
Từ mô hình use case, ta phân chia hệ thống thành các phân hệ nhóm theo các chức
năng cho từng Actor cụ thể.
- Quản trị :
o Quản lý người dùng
o Quản lý hệ thống
o Thay đổi quyền người dùng
88
KHOA CNTT –
ĐH KHTN
o Quản lý danh sách lớp học
- Giáo viên :
o Quản lý thành viên trong lớp
o Quản lý lớp
o Quản lý phát hình ảnh
o Quản lý phát âm thanh
o Quản lý text chat
o Thay đổi chủ lớp
o Tạo lớp học
- Sinh viên :
o Đăng ký
o Truyền hình ảnh
o Truyền am thanh
o Chat text
- Người dùng :
o Thay đổi thông tin cá nhân
o Kết nối
o Đăng nhập
o Đăng ký
89
KHOA CNTT –
ĐH KHTN
7.6 Phân tích các use-case chính :
7.6.1 Phân tích Use case “KetNoi”:
7.6.1.1 Sơ đồ lớp đối tượng :
CMainDlg
CKetNoiDlg
CServerEndPointCtrl
CClientEndPointCtrl
Hình 7-2: Sơ đồ lớp đối tượng của Use case “KetNoi”
7.6.1.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CKetNoiDlg Boundary Màn hình yêu cầu nhập địa chỉ kết nối
2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
Bảng 7-3: Danh sách các lớp đối tượng của Use case “KetNoi”
90
KHOA CNTT –
ĐH KHTN
7.6.2 Phân tích Use case “DangNhap”:
7.6.2.1 Sơ đồ lớp đối tượng
CMainDlg
CManHinhDangNhapDlg
CClientEndPointCtrl
CServerEndPointCtrl
CUsersDB
CUsersUtility
Hình 7-3: Sơ đồ lớp đối tượng của Use case “DangNhap”
7.6.2.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CManHinhDangNhapDlg Boundary Màn hình đăng nhập
2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CUsersUtility Control Control thực hiện lấy dữ liệu về
người sử dụng trong hệ thống
91
KHOA CNTT –
ĐH KHTN
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
Bảng 7-4: Danh sách các lớp đối tượng của Use case “DangNhap”
7.6.3 Phân tích Use case “DangKy”:
7.6.3.1 Sơ đồ lớp đối tượng
CUsersUtility
CUsersDB
CServerEndPointCtrl
CClientEndPointCtrl
CDangKyDlgCMainDlg
CDSLopDlg
Hình 7-4: Sơ đồ lớp đối tượng của Use case “DangKy”
7.6.3.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CDangKyDlg Boundary Màn hình đăng ký thành viên mới
2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CUsersUtility Control Control thực hiện lấy dữ liệu về người
sử dụng trong hệ thống
92
KHOA CNTT –
ĐH KHTN
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
7 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp
Bảng 7-5: Danh sách các lớp đối tượng của Use case “DangKy”
7.6.4 Phân tích Use case “QuanLyLopHoc”:
7.6.4.1 Sơ đồ lớp đối tượng :
Thay đổi mật khẩu :
CMainDlg
CMatKhauDlg
CDSLopDlg
CClientEndPointCtrl
CServerEndPointCtrl
CClassDB
CClassUtility
Hình 7-5: Sơ đồ lớp đối tượng của Use case “QuanLyLopHoc” – Thay doi mat
khau
93
KHOA CNTT –
ĐH KHTN
Xoá lớp học :
CMainDlg
CDSLopDlgCMatKhauDlg
CClientEndPointCtrl
CServerEndPointCtrl
CClassUtility
CClassDB
Hình 7-6: Sơ đồ lớp đối tượng của Use case “QuanLyLopHoc” – Xoa lop hoc
7.6.4.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CDangKyDlg Boundary Màn hình đăng ký thành viên mới
2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CUsersUtility Control Control thực hiện lấy dữ liệu về người
sử dụng trong hệ thống
6 CUsersDB Entity Cơ sở dữ liệu vể người dùng
7 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp
8 CMatKhauDlg Boundary Màn hình yêu cầu nhập mật khẩu
Bảng 7-6: Danh sách các lớp đối tượng của Use case “QuanLyLopHoc”
94
KHOA CNTT –
ĐH KHTN
7.6.5 Phân tích Use case “QuanLyThanhVien”:
7.6.5.1 Sơ đồ lớp đối tượng :
Cho phép phát biểu trong lớp :
CMainDlg
CUsersDlg
CServerEndPointCtrlCClientEndPointCtrl
CThongBaoDlg
Hình 7-7: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép
phát biểu
Cho phép phát hình ảnh :
CMainDlg
CUsersDlg
CServerEndPointCtrlCClientEndPointCtrl
CThongBaoDlg
Hình 7-8: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép
phát hình ảnh
95
KHOA CNTT –
ĐH KHTN
Đuổi sinh viên:
CMainDlgCServerEndPointCtrl
CUsersDlg
CThongBaoDlg
CClientEndPointCtrl
Hình 7-9: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Đuổi sinh
viên
7.6.5.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CMainDlg Boundary Màn hình chính
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server
4 CDSLopDlg Boundary Màn hình hiển thị danh sách các lớp
5 CThongBaoDlg Boundary Màn hình yêu cầu nhập mật khẩu
Bảng 7-7: Danh sách các lớp đối tượng của Use case “QuanLyThanhVien”
96
KHOA CNTT –
ĐH KHTN
7.6.6 Phân tích Use case “TaoLopHoc”:
7.6.6.1 Sơ đồ lớp đối tượng :
CClassUtility
CClassDB
CMainDlg
CServerEndPointCtrl
CClientEndPointCtrl
CTaoLopDlg
Hình 7-10: Sơ đồ lớp đối tượng của Use case “TaoLopHoc”
7.6.6.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CtaoLopDlg Boundary Màn hình đăng tạo lớp mới
2 CMainDlg Boundary Màn hình chính
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
dữ liệu lớp và boundary
6 CThongBaoDlg Boundary Màn hình yêu cầu nhập mật khẩu
7 CClassDB Entity Cơ sở dữ liệu liên quan đến lớp
Bảng 7-8: Danh sách các lớp đối tượng của Use case “TaoLopHoc”
97
KHOA CNTT –
ĐH KHTN
7.6.7 Phân tích Use case “ThayDoiChuLop”:
7.6.7.1 Sơ đồ lớp đối tượng :
CMatKhauDlg
(from Logical View)CDSLopDlg
(from Logical View)
CClientEndPointCtrl
(from Logical View)
CServerEndPointCtrl
(from Logical View)
CClassUtility
(from Logical View)
CClassDB
(from Logical View)
Hình 7-11: Sơ đồ lớp đối tượng của Use case “ThayDoiChuLop”
7.6.7.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CDSLopDlg Boundary Màn hình đăng tạo lớp mới
2 CMatKhauDlg Boundary Màn hình nhập mật khẩu
3 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
4 CServerEndPointCtrl Control Điều khiển hoạt động ở server
5 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
98
KHOA CNTT –
ĐH KHTN
dữ liệu lớp và boundary
6 CClassDB Entity Cơ sở dữ liệu liên quan đến lớp
Bảng 7-9: Danh sách các lớp đối tượng của Use case “ThayDoiChuLop”
7.6.8 Phân tích Use case “ThayDoiQuyenNguoiDung”:
7.6.8.1 Sơ đồ lớp đối tượng :
CUsersDlg
CClientEndPointCtrl
CServerEndPointCtrl
CUsersUtility
CUsersDB
Hình 7-12: Sơ đồ lớp đối tượng của Use case “ThayQuyenNguoiDung”
7.6.8.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CUesrsDlg Boundary Màn hình hiển thị danh sách người
dùng
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server
4 CClassUtility Control Control dùng để giao tiếp giữa cơ sở
dữ liệu lớp và boundary
5 CClassDB Entity Cơ sở dữ liệu liên quan đến lớp
99
KHOA CNTT –
ĐH KHTN
Bảng 7-10: Danh sách các lớp đối tượng của Use case “ThayDoiNguoiDung”
7.6.9 Phân tích Use case “TruyenAmThanh”:
7.6.9.1 Sơ đồ lớp đối tượng :
CMainDlg
CServerEndPointCtrl
CClientEndPointCtrl
CAudioUI
CAudioCtrl
Hình 7-13: Sơ đồ lớp đối tượng của Use case “TruyenAmThanh”
7.6.9.2 Danh sách các lớp đối tượng :
STT Lôùp ñoái töôïng Loaïi YÙ nghóa
1 CMainDlg Boundary Màn hình hiển thị danh sách người
dùng
2 CClientEndPointCtrl Control Điều khiển các hoạt động ở client đối
với server
3 CServerEndPointCtrl Control Điều khiển hoạt động ở server
4 CAudioCtrl Control Control dữ trách nhiệm liên quan đến
audio
5 CAudioUI Boundary Dùng để phát âm thanh
Bảng 7-11: Danh sách các lớp đối tượng của Use case “TruyenAmThanh”
100
KHOA CNTT –
ĐH KHTN
Chương 8 : Thiết kế và cài đặt 8.1 Lược đồ triển khai của hệ thống :
Client
GiaoVien Client
SinhVien Client
QuanTri Client
<<network>>
RemoteLearningServer
Hình 8-1: Lược đồ triển khai của hệ thống
8.1.1 Các node và chức năng của các node
STT Node Chức năng 1 RemoteLearning
Server Có chức năng làm Server và quản lý database
2 Các client Giáo viên, sinh viên, người quản trị…
Các client truy xuất vào trong hệ thống của các người dùng khác nhau
8.1.2 Triển khai hệ thống :
Do hệ làm việc trên môi trường mạng nên cần bổ sung thiết bị làm giao diện mạng.
Mạng ở đây có thể là intranet hoặc internet.
Server được đặt ở nơi mà người quản trị có thể dễ dàng kiểm soát được. Server cần
được đặt ở trên máy chủ có cấu hình mạnh để có thể giúp cho hệ thống hoạt động
nhanh chóng và có đủ khả năng hỗ trợ nhiều lớp học cùng mở cùng lúc. Server nên
đặt cùng máy có cơ sở dữ liệu của hệ thống.
101
KHOA CNTT –
ĐH KHTN
Các client được đặt trên các máy do người sử dụng quyết định. Các máy tính này
phải có khả năng nối mạng để có thể kết nối với server được. Ngoài ra các máy tính
này cần có microphone và webcam cho việc tham gia lớp học. Các client cần cấu
hình mạng trước khi kết nối vào trong hệ thống.
8.2 Thiết kế dữ liệu : 8.2.1 Sơ đồ lớp :
USER
ĐANGKY
ROOM
QUYEN
8.2.2 Thiết kế bảng lưu thông tin của lớp học :
Ánh xạ từ lớp entity CClassDB sang lớp CRoomSet :
Hình 8-2: Ánh xạ từ lớp entity CClassDB sang lớp CRoomSet
102
KHOA CNTT –
ĐH KHTN
Thông tin các trường :
STT Thuộc tính Kiểu Mô tả
1 RoomID Integer Chỉ số của room
2 RoomName CString Tên của room
3 Owner CString Tên người tạo ra room
4 Content CString Nội dung tóm tắt của room
Bảng 8-1: Danh sách các thuộc tính của bảng CRoomSet
8.2.3 Thiết kế bảng lưu thông tin người sử dụng : Ánh xạ từ lớp CUserDB sang lớp CusersSet :
Hình 8-3: Ánh xạ từ lớp entity CuserDB sang lớp CusersSet
Thông tin các trường :
STT Thuộc tính Kiểu Mô tả
1 Tên Cstring Tên đăng nhập
2 MatKhau CString Mật khẩu đăng nhập
3 Quyen Integer Quyền của người sử dụng
Bảng 8-2: Danh sách các thuộc tính của bảng CUsersSet
103
KHOA CNTT –
ĐH KHTN
8.3 Thiết kế giao diện :
8.3.1 Thiết kế màn hình chính :
Hình 8-4: Màn hình chính
Mô tả các trường trên màn hình :
STT Moâ taû
1 ComboBox đển gõ địa chỉ IP vào, có thể chọn địa chỉ IP được lưu sẵn trong dữ
liệu của chương trình
2 Menu dùng để thực hiện kết nối như hình
3 Menu cho viện quản lý text chat trong lớp học
4 Menu hỗ trợ sinh viên phát biểu trong lớp học
5 Menu hỗ trợ giáo viên trong trong việc quản lý về hình ảnh
6 Hỗ trợ người sử dụng trong việc điều chỉnh độ lớn của âm thanh
7 Hỗ trợ người sử dụng trong việc điều chỉnh độ lớn của micro trong việc thu
giọng nói
104
KHOA CNTT –
ĐH KHTN
8 Log của những lần chat bằng text
9 Vị trí để gõ text chat, dùng control_Enter để gửi text đi
10 Cho biết trạng thái hiện giờ của chương trình, theo như hình là đang lắng nghe
chờ kết nối hoặc kết nối với server
11 Cho biết địa chỉ IP hiện thời của máy tính trong mạng
12 Cho xem hoặc không xem phần hình ảnh được gửi từ server và hình ảnh hiện
tại lấy được từ webcam
13 Hiển thị danh sách của các thành viên hiện tại trong lớp học
14 Menu Setting : dùng để cấu hình này hệ thống.
Bảng 8-3: Các trường trên màn hình chính
Khi nhấn vào nút mang số 12 ta có hình ảnh sau :
Hình 8-5: Màn hình thể hiện webcam
105
KHOA CNTT –
ĐH KHTN
Mô tả các trường trên màn hình :
STT Moâ taû
15 Hình ảnh thu được từ giáo viên, do server gửi về
16 Hình ảnh lấy được từ webcam của máy đang sử dụng
Bảng 8-4: Các trường trên màn hình thể hiện webcam
Khi nhấn vào nút mang số 13 ta có hình :
Hình 8-6: Màn hình danh sách thành viên
Liệt kê theo thứ tự từ trên xuống, từ trái sang phải :
STT Moâ taû
17 Phía trên là danh sách những thành viên hiện có trong lớp
18 Nút thêm 1 thành viên để chat
19 Thêm tất cả thành viên để chat
20 Xoá 1 thành viên ra khỏi nhóm đang chat
106
KHOA CNTT –
ĐH KHTN
21 Xoá tất cả thành viên ra khỏi nhóm đang chat
22 Danh sách các thành viên đang chat
Bảng 8-5: Các trường trên màn hình danh sách thành viên
Hình 8-7: Menu call
Danh sách các chức năng được thể hiện trong menu :
STT Moâ taû
23 Thực hiện chức năng tạo kết nối
24 Thực hiện chức năng ngắt kết nối
Bảng 8-6: Các trường trên menu call
Hình 8-8: Menu chat
Mô tả các trường trên màn hình :
STT Moâ taû
25 Cho phép sinh viên chat trong lớp học
26 Không cho phép sinh viên chat trong lớp học, duy chỉ có giáo viên mới có
quyền chat khi bật chức năng này lên.
Bảng 8-7: Các trường trên menu chat
Hình 8-9: Menu audio
107
KHOA CNTT –
ĐH KHTN
Mô tả các trường trên màn hình :
STT Moâ taû
27 Sinh viên xin được phát biểu
28 Khi đang xin phát biểu thì có thể không phát biểu nữa
Bảng 8-8: Các trường trên menu audio
Hình 8-10: Menu video
Mô tả các trường trên màn hình :
STT Moâ taû
29 Giáo viên Cho phép xem hình của giáo viên, hình ảnh thu được từ webcam
30 Giáo viên không cho phép xem hình ảnh của mình, ngưng việc cung cấp hình
ảnh
31 Giáo viên cho phép sinh viên xem màn hình, chức năng này dùng để hỗ trợ
giáo viên giảng những bài giảng được thực hiện trên desktop như giảng bàng
slide
32 Giáo viên không cho phép xem màn hình của mình
Bảng 8-9: Các trường trên menu video
108
KHOA CNTT –
ĐH KHTN
Khi thực hiện kết nối và đăng nhập thành công, ta được màn hình sau :
Hình 8-11: Màn hình sau khi kết nối
Do đăng nhập là quyền giáo viên, và cho thu webcam ta mới có màn hình như vậy.
8.3.2 Thiết kế màn hình đăng nhập : Màn hình này chỉ xuất hiện khi đã kết nối thành công với máy chủ.
Hình 8-12: Màn hình đăng nhập
109
KHOA CNTT –
ĐH KHTN
Mô tả các trường trên màn hình :
STT Moâ taû
1 Textbox dùng để gõ tên đăng nhập
2 Textbox dùng để gõ mật khẩu
3 Button Login dùng để thực hiện chức năng đăng nhập vào hệ thống (đối với
những người dùng đã có tài khoản đăng nhập)
4 Button Sign in dùng để thực hiện chức năng đăng ký làm thành viên mới
5 Button Cancel dùng để kết thúc việc đăng nhập, việc này đồng nghĩa với việc
ngắt khỏi server.
Bảng 8-10: Các trường trên màn hình đăng nhập
8.3.3 Thiết kế màn hình hiển thị danh sách lớp : Màn hình này chỉ xuất hiện khi đã đăng nhập thành công vào trong hệ thống. Sau khi
đăng nhập thành công sẽ hiển thị danh sách của các lớp đang được mở trên hệ thống.
Đồng thời dựa vào bước đăng nhập ban đầu để xác định quyền của người sử dụng, và
hiển thị các chức năng tương ứng. Hình dưới là thể hiện người đăng nhập có quyền là
giáo viên.
110
KHOA CNTT –
ĐH KHTN
Hình 8-13: Màn hình danh sách lớp
Mô tả các trường trên màn hình :
STT Moâ taû
1 ListCtrl hiển thị danh sách các lớp đang được mở, đồng thời hiển thị số lượng
người đang có trong lớp, giáo viên có ở trong lớp không. Người dùng phải
chọn một trong các lớp đang mở trước khi nhấn vào button Join in
2 Tên đăng nhập hiện tại, chương trình tự động lấy
3 Textbox để nhập mật khẩu vào trong lớp, nếu lớp đó có bảo vệ bằng mật khẩu
4 Button Join thực hiện chức năng tham gia vào lớp học
5 Button Room : hiển thị các chức năng liên quan đến lớp học như tạo lớp học,
xoá lớp học, thay đổi mật khẩu của lớp học, thay đổi người chủ của lớp học
6 Button User : hiển thị các chức năng liên quan đến người sử dụng như thay
đổi mật khẩu, xoá tài khoản, thay đổi quyền của người sử dụng (chức năng của
người quản trị)
7 Button đóng : ngắt kết nối với hệ thống server
Bảng 8-11: Các trường trên màn hình thể hiện danh sách lớp
111
KHOA CNTT –
ĐH KHTN
Hình 8-14: Menu lớp học
Mô tả các trường trên màn hình :
STT Moâ taû
1 Thực hiện chức năng tạo lớp học mới
2 Thực hiện chức năng xoá lớp học
3 Thực hiện chức năng thay đổi mật khẩu lớp học
Bảng 8-12: Các trường trên menu lớp học
Hình 8-15: Menu người dùng
Mô tả các trường trên màn hình :
STT Moâ taû
1 Thực hiện chức năng thay đổi mật khẩu người sử dụng
2 Thực hiện chức năng xoá người sử dụng
Bảng 8-13: Các trường trên menu người dùng
8.3.4 Thiết kế màn hình tạo lớp học mới : Khi người dùng đăng nhập vào có quyền là giáo viên hoặc người quản trị thì mới có
quyền thực hiện chức năng này :
112
KHOA CNTT –
ĐH KHTN
Hình 8-16: Màn hình tạo lớp học
Mô tả các trường trên màn hình :
STT Moâ taû
1 TextBox dùng để nhập tên lớp học
2 CheckBox dùng để xác nhận xem lớp học này có cần mầt khẩu không
3 TextBox dùng để nhập mật khẩu của lớp
4 TextBox dùng để nhập lại mật khẩu trong trường hợp lớp có dùng mật khẩu
5 Button CreateRoom : thực hiện chức năng tạo lớp học mới
6 Button Cancel : hủy bỏ việc tạo lớp học mới, quay trở về màn hình trước đó
Bảng 8-14: Các trường trên màn hình tạo lớp học
8.3.5 Thiết kế màn hình xoá một lớp : Màn hình này xuất hiện khi người dùng muốn tham gia vào lớp học :
Hình 8-17: Màn hình xoá lớp học
113
KHOA CNTT –
ĐH KHTN
Mô tả các trường trên màn hình :
STT Moâ taû
1 TextBox hiển thị lớp muốn xoá
2 TextBox dùng để nhập mật khẩu của lớp muốn xoá
3 Button Remove thực hiện chức năng xoá lớp
4 Button Cancel : hủy bỏ chức năng xoá lớp
Bảng 8-15: Các trường trên màn hình xóa lớp học
8.3.6 Thiết kế màn hình thay đổi mật khẩu : Màn hình này được sử dụng khi người sử dụng thực hiện các chức năng thay đổi mật
khẩu của lớp, thay đổi mật khẩu của người sử dụng
Hình 8-18: Màn hình thay đổi mật khẩu
Mô tả các trường trên màn hình :
STT Moâ taû
1 TextBox : dùng để nhập mật khẩu cũ
2 CheckBox dùng để xác nhận là có cần mật khẩu không
3 TextBox : dùng để nhập mật khẩu mới
4 TextBox : gõ lại mật khẩu trong trường hợp có sử dụng mật khẩu
5 Button Change : dùng để thực hiện chức năng thay đổi mật khậu
114
KHOA CNTT –
ĐH KHTN
6 Button Cancel : hủy bỏ việc thay đổi mật khẩu
Bảng 8-16: Các trường trên màn hình thay đổi mật khẩu
8.3.7 Thiết kế màn hình server : Màn hình server được thiết kế để cho người quản trị có thể kiểm soáat được có bao
nhiêu lớp đang được mở, các lớp này có giáo viên đang dạy hay không.
Hình 8-19: Màn hình server
Mô tả các trường trên màn hình :
STT Moâ taû
1 ListCtrl thể hiện danh sách các lớp học đang được mở
2 Button Start : thực hiện chức năng khởi động server
3 Button Shutdown : thực hiện chức năng ngừng server
4 Button Exit : chấm dứt hoạt động của chương trình.
Bảng 8-17: Các trường trên màn hình server
115
KHOA CNTT –
ĐH KHTN
8.4 Thiết kế xử lý :
8.4.1 Danh sách các xử lý :
STT Xöû lyù Moâ taû Use Case töông öùng
1 XL1 Đăng ký làm thành viên mới DangKy
2 XL2 Kết nối client với server KetNoi
3 XL3 Đăng nhập vào hệ thống DangNhap
4 XL4 Thay đổi thông tin cá nhân ThayDoiThongTinCaNhan
5 XL5 Thay đổi mật khẩu của lớp QuanLyLop
6 XL6 Xoá lớp học QuanLyLop
7 XL7 Cho phép lớp học có text chat QuanLyTextChat
8 XL8 Không cho phép lớp học có text chat QuanLyTextChat
9 XL9 Cho phép xem hình ảnh của giáo viên QuanLyHinhAnh
10 XL10 Khong cho phép xem hình ảnh giáo
viên
QuanLyHinhAnh
11 XL11 Cho phép phát tiếng nói QuanLyAmThanh
12 XL12 Không cho phép phát tiếng nói QuanLyAmThanh
13 XL13 Yêu cầu phát biểu QuanLyThanhVien
14 XL14 Phát giọng nói của thành viên khác QuanLyThanhVien
15 XL15 Phát hình ảnh của thành viên khác QuanLyThanhVien
16 XL16 Thay đổi người chủ của lớp ThayDoiChuLop
17 XL17 Tạo một lớp học mới TaoLopHoc
18 XL18 Quản lý danh sách người dùng QuanLyDSNguoiDung
19 XL19 Thay đổi quyền đăng nhập của người
dùng
ThayDoiQuyenNguoiDung
20 XL20 Quản lý hệ thống QuanLyHeThong
21 XL21 Quản lý danh sách lớp học QuanLyDSLopHoc
22 XL22 Chat bằng text trong lớp học ChatText
23 XL23 Truyền hình ảnh của thành viên trong TruyenHinhAnh
116
KHOA CNTT –
ĐH KHTN
lớp
24 XL24 Truyền tiếng nói của thành viên trong
lớp
TruyềnHìnhAnh
Bảng 8-18: Danh sách các xử lý
8.4.2 Thiết kế các xử lý chính : 8.4.2.1 Thiết kế xử lý XL1 (Use case “DangKy”)
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-20: Lược đồ tuần tự của xử lý XL1
117
KHOA CNTT –
ĐH KHTN
Biểu đồ cộng tác (Collaboration Diagram)
Hình 8-21: Biểu đồ cộng tác của xử lý XL1
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 YeuCauDangKy Ngừơi dùng có yêu cầu đăng ký là thành viên
của hệ thống
2 HienThiDangKy Hiển thị màn hình đăng ký
3 NhapTenMatKhau Người dùng nhập vào tên mật khẩu đăng nhập
hệ thống
4 ThucHienDangKy Người dùng nhấn vào nút thực hiện việc đăng
ký
5 GuiThongTinDangKy Thông tin của người dùng được gửi đến cho
server
6 KiêmTraThongTinDangKy Thực hiện việc kiểm tra xem có hợp lệ không
118
KHOA CNTT –
ĐH KHTN
7 ThucHienDangKy Thực hiện việc đăng ký
8 LayThongTin Thực hiện lấy thông tin trong cơ sở dữ liệu
9 XuLyDangKy Xử lý việc tạo thêm tài khoản mới
10 GuiThongBao Gửi thông báo cho việc đăng ký
11 ThongBaoKetQua Server gửi thông báo lại cho người dùng biết
12 HienThiDanhSachLop Đăng ký thành công thì hiển thị danh sách lớp
hiện có trên hệ thống
13 XuLyPhanQuyen Dựa vào quyền của người mới đăng ký hiển
thị các chức năng tương ứng.
14 ThongBaoKetQua Thông báo lại kết qủa cho người sử dụng biết
Bảng 8-19: Danh sách các hành động của xử lý XL1
8.4.2.2 Thiết kế xử lý XL2 (Use case KetNoi):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-22: Lược đồ tuần tự của xử lý XL2
119
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-23: Biểu đồ cộng tác của xử lý XL2
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 ThucHienKetNoi Người dùng muốn kết nối với server
2 HienThiManHinhKetNoi Hiển thị màn hình kết nối
3 NhapDiaChiIP Nhập địa chỉ Ip vào
4 NhanKetNoi Người dùng thực hiện nhấn kết nối
5 ThucHienKetNoi Chương trình bắt đầu thực hiện việc kết nối
6 KetNoiServer Chương trình yêu cầu kết nối với server
7 XuLyKetNoi Xử lý kết nối trên server
8 ThongBaoKetNoi Server ee4 gửi thông báo kết nối nếu thành công
120
KHOA CNTT –
ĐH KHTN
9 XuLyKetNoi Trên client sẽ xử lý kết nối với server thành
công
10 ThôngBaoKetNoi Thông báo lại cho người dùng biếtt
11 ThongBao Hiển thị thông báo
Bảng 8-20: Danh sách các hành động của xử lý XL2
8.4.2.3 Thiết kế xử lý XL3 (Use case DangNhap ):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-24: Lược đồ tuần tự của xử lý XL3
121
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-25: Biểu đồ cộng tác của xử lý XL3
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 Yeu CauDangNhap Khi kết nối với server thành công, thì server yêu
cầu đăng nhập
2 HienThiDangNhap Hiển thị màn hình đăng nhập
3 NhapMatKhau Người dùng cung cấp thông tin về mật khầu, tên
đăng nhập
4 ThucHienDangNhap Người dùng thực hiện việc đăng nhập
5 GuiThongTinDangNhap Yêu cầu gửi thông tin đăng nhập
6 DangNhap Xử lý thông tin đăng nhập
7 KiemTraDangNhap Kiểm tra việc đăng nhập
8 LayThông Tin Lấy thông tin từ cơ sở dữ liệu
122
KHOA CNTT –
ĐH KHTN
9 XuLyDangNhap Xử lý viêc đăng nhập
10 ThongBaoKetQua Thông báo kết quả của việc đăng nhập
11 GuiThongTinDangNhap Server yêu cầu gửi thông tin đăng nhập cho
người sử dụng
12 PhanQuyen Dựa vào thông tin do server gửi trả lại, client
thực hiện việc phân quyền.
13 ThongBaoKetQua Thông báo kết qủa lại cho người ử dụng biết
Bảng 8-21: Danh sách các hành động của xử lý XL3
8.4.2.4 Thiết kế xử lý XL5 (Use case QuanLyLop):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-26: Lược đồ tuần tự của xử lý XL5
123
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-27: Biểu đồ cộng tác của xử lý XL5
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 YeuCauhienThiDSLop Khi kết nối thành công, server sẽ yêu cầu hiển
thị danh sách lớp
2 HienThi Hiển thị danh sách lớp
3 ChonLop Người dùng chọn 1 lớp
4 ThayDoiMatKhau Người dùng thực hiện chức năng thay đổi mật
khẩu
124
KHOA CNTT –
ĐH KHTN
5 HienThi Hiển thị màn hình nhập mật khẩu
6 NhâpThongTin Nhập thông tin mật khẩu của lớp cần đổi
7 TraThongTin Trả thông tin lại cho màn hình trước đó
8 GuiThongTinMatKhau Yêu cầu gửi thông tin mật khẩu về cho server
9 XuLyThongTin Server xử lý thông tin nhận được
10 ThayDoiMatKhau Thực hiện việc thay đổi mật khẩu
11 KiemTraHopLe Kiểm tra xem thông tin có hợp lệ không
12 CapNhatThongTin Cập nhật lại thông tin đã được thay đổi
13 GuiKetQua Yêu cầu gửi kết qủa lại cho client
14 ThongBaoKetQua Thông báo kết qủa lại cho người xử dụng
15 Cập nhật lại lớp Cập nhật lại thông tin của lớp
16 ThongBaoKetQua Thông báo lại kết quả cho người sử dụng
Bảng 8-22: Danh sách các hành động của xử lý XL5
8.4.2.5 Thiết kế xử lý XL6 (Use case QuanLyLop):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-28: Lược đồ tuần tự của xử lý XL6
125
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-29: Biểu đồ cộng tác của xử lý XL6
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 YeuCauHienThiDSLop Server yêu cầu hiển thị danh sách lớp
2 HienThi Hiển thị danh sách lớp
3 ChọnLop Người dùng chọn lớp
4 XoaLop Người dùng thực hiện chức năng xoá lớp
5 HienThi Hiên thị màn hình yêu cầu nhập thông tin về lớp
để xoá
126
KHOA CNTT –
ĐH KHTN
6 NhapThongTin Người dùng nhập thông tin vào
7 TraThongTin Trả lại thông tin cho màn hình trước đó
8 GuiThongTin Yêu cầu gửi thông tin của lớp bị xoá
9 XuLyThongTin Server nhận được thông tin về xoá lớp học
10 XoaLop Thực hiện việc xoá lớp
11 KiemTraHopLe Kiểm tra điều kiện hợp lệ để xoá
12 XoaLop Cập nhật lại trong cơ sở dữ liệu
13 GuiKetQua Yêu cầu gửi kết qủa lại cho người dùng
14 ThôngBáoKetQua Nhận thông báo do server gửi trở lại
15 CapNhatLop Cập nhật lại danh sách lớp
16 ThôngBaoKetQua Thông báo kết quả lại cho người dùng biết
Bảng 8-23: Danh sách các hành động của xử lý XL6
8.4.2.6Thiết kế xử lý XL13 (Use case QuanLyThanhVien):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-30: Lược đồ tuần tự của xử lý XL13
127
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-31: Biểu đồ cộng tác của xử lý XL13
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 HienThiDS Người dùng yêu cầu hiển thị danh sách thành
viên trong lớp
2 HienThi Hiển thị danh sách lớp
3 ChonUsersPhatAmThanh Chọn người sẽ nói
4 GuiThongTinYeuCau Yêu cầu gửi thông tin đến server
5 XuLyThongTin Server nhậm được yêu cầu, và tiến hành xử lý
6 ThôngBao Thông báo yêu cầu của giáo viên cho người
được chọn
7 HienThiThongBao Hiện thị thông báo cho người được chọn biết
8 ChapNhan Người được chọn chấp nhận
9 GuiThongBaoChapNhan Yêu Cầu gừi thông báo chấp nhận
128
KHOA CNTT –
ĐH KHTN
10 XuLyThongTin Xử lý thông tin
11 GuiChapNhan Nhận thông báo chấp nhận
12 ThongBaoChapNhan Thông báo lại cho người dùng biết
13 ThongBao Hiển thị thông báo
Bảng 8-24: Danh sách các hành động của xử lý XL13
8.4.2.7Thiết kế xử lý XL14 (Use case QuanLyThanhVien):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-32: Lược đồ của xử lý XL14
129
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-33: Biểu đồ cộng tác của xử lý XL14
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 HienThiDS Hiển thị danh sách thành viên trong lớp
2 HienThi Hiển thị danh sách các thành viên
3 ChoUserDuoi Chọn một thành viên
4 GuiThongTinYeuCau Gửi thông tin yêu cầu đuổi thành viên
5 XuLyThongTin Xử lý thông tin nhận được
6 ThôngBaoDuoi Gửi thông báo đuổi đến thành viên
7 HienThongBao Hiển thị thông báo
8 NgatKetNoi Thực hiện ngắt kết nối
9 ThongBaoNgatKetNoi THông báo lại ngắt kết nối cho giáo viên
130
KHOA CNTT –
ĐH KHTN
10 CapNhatDanhSach Cập nhật danh sách các thành viên
11 Thông báo Hiển thị thông báo cho giáo viên
Bảng 8-25: Danh sách các hành động của xử lý XL14
8.4.2.8 Thiết kế xử lý XL15 (Use case QuanLyThanhVien):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-34: Lược đồ tuần tự của xử lý XL15
131
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-35: Biểu đồ cộng tác của xử lý XL15
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 HienThiDS Người dùng yêu cầu hiển thị danh sách thành
viên trong lớp
2 HienThi Hiển thị danh sách lớp
3 ChonUsersPhatHinh Chọn người sẽ phát hình
4 GuiThongTinYeuCau Yêu cầu gửi thông tin đến server
5 XuLyThongTin Server nhậm được yêu cầu, và tiến hành xử lý
6 GuiThongTinYeuCau Gửi thông tin yêu cầu đến cho thành viên được
132
KHOA CNTT –
ĐH KHTN
chọn
7 ThôngBao Thông báo yêu cầu của giáo viên cho người
được chọn
8 HienThiThongBao Hiện thị thông báo cho người được chọn biết
9 ChapNhan Người được chọn chấp nhận
10 GuiThongBaoChapNhan Yêu Cầu gừi thông báo chấp nhận
11 XuLyThongTin Xử lý thông tin
12 GuiChapNhan Nhận thông báo chấp nhận
13 ThongBaoChapNhan Thông báo lại cho người dùng biết
14 ThongBao Hiển thị thông báo
Bảng 8-26: Danh sách các hành động của xử lý XL15
8.4.2.9Thiết kế xử lý XL16 (Use case ThayDoiChuLop):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-36: Lược đồ tuần tự của xử lý XL16
133
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-37: Biểu đồ cộng tác của xử lý XL16
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 ChonLop Chọn lớp cần thay đồi
2 ThayDoiChuLop Thực hiện việc thay đối chủ lớp
3 hienThi Hiện thị màn hình nhập mật khẩu
4 NhapMatKhau Người dùng nhập mật khẩu
5 TraLaiGiaTri Trả lại giá trị cho màn hình trước đó
6 GuiThongTin Yêu cầu gửi thông tin cho server
7 XuLyThongTin Xử lý thông tin nhận đựơc
134
KHOA CNTT –
ĐH KHTN
8 ThayDoiChu Tiến hành thay đổi chủ lớp học
9 CapNhatDuLieu Cập nhật lại dữ liệu
10 ThongBaoThanhCong Yêu cầu gừi lại thông báo
11 NhanThongTin Nhận thông tin trả lại từ server
12 ThôngBáoThànhCong Thông báo thành công cho giáo viên
13 HienThiThôngBao Hiển thị thông báo
Bảng 8-27: Danh sách các hành động của xử lý XL16
8.4.2.10 Thiết kế xử lý XL17 (Use case TaoLopHoc):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-38: Lược đồ tuần tự của xử lý XL17
135
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-39: Biểu đồ cộng tác của xử lý XL17
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 YeuCauTaoLop Yêu cầu tạo lớp mới
2 HienThiTaoLop Hiển thị màn hình tạo lớp
3 NhapThongTinLop Nhập thông tin cần tạo lớp
4 ThucHienTaoLop Thực hiện việc tạo lớp
5 GuiThôngTin Yêu cầu gửi thông tin đến cho server
6 XuLyThongTin Server nhận được yêu cầu tiến hành xử lý thông
tin
7 TaoLop Tiến hành tạo lớp mới
136
KHOA CNTT –
ĐH KHTN
8 CapNhatDuLieu Thêm lớp mới vào trong dữ liệu
9 ThongBaoThanhCong Yêu cầu gửi thông báo lại cho giáo viên
10 XuLyThongTin Clien xử lý thông tin
11 NhanThongTin Nhận thông tin được gừi lại
12 ThongBaoThanhCong Thông báo thành công
13 CapNhatHienThi Cập nhật lại việc hiển thị
14 HienThiThongBao Hiển thị thông báo cho giáo viên
Bảng 8-28: Danh sách các hành động của xử lý XL17
8.4.2.11 Thiết kế xử lý XL19 (Use case ThayDoiQuyenNguoiDung):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-40: Lược đồ tuần tự của xử lý XL19
137
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-41: Biểu đồ cộng tác của xử lý XL19
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 HienThiDS Hiển thị danh sách người dùng
2 ChonThayDoiQuyen Chọn người và quyền để thay đổi
3 GuiThongTin Yêu cầu gửi thông tin
4 XuLyThongTin Xử lý thông tin nhận được trên server
5 ThayDoiQuyen Thực hiện thay đổi quyền
6 CapNhatDuLieu Cập nhật vào trong dữ liệu
7 ThongBaoThanhCong Thông báo cập nhật thành công
8 GuiThongTin Nhận thông tin từ phía server
9 CapNhatHienThi Cập nhật lại việc hiện thị
138
KHOA CNTT –
ĐH KHTN
10 ThongBaoThanhCong Thông báo thành công cho người quản trị
Bảng 8-29: Danh sách các hành động của xử lý XL19
8.4.2.12 Thiết kế xử lý XL24 (Use case TruyenAmThanh):
Lược đồ tuần tự (Sequence Diagram) :
Hình 8-42: Lược đồ tuần tự của xử lý XL24
139
KHOA CNTT –
ĐH KHTN
Biều đồ cộng tác (Collaboration Diagram)
Hình 8-43: Biểu đồ cộng tác của xử lý XL24
Danh sách các hành động :
STT Haønh ñoäng YÙ nghóa
1 YeuCauDuocNoi Sinh viên yêu cầu được phát biểu
2 TruyenYeuCau Yêu cầu truyền đến cho server
3 XyLyThongTin Server xử lý yêu cầu nhận được
4 GuiYeuCauDuocNoi Gửi yêu cần được nói đến cho giáo viên
5 ThongBao Thông báo yêu cầu cho giáo viên
6 HienThongBao Hiện thông báo cho giáo viên
7 ChapNhanYeuCau Chấp nhận yêu cầu của giáo viên
8 GuiChapNhan Gửi trả lại yêu cầu được chấp nhận
140
KHOA CNTT –
ĐH KHTN
9 XuLyThongTin Server xử lý thông tin nhận được
10 ThôngBaoDuocChapNhan Thông báo được chấp nhận
11 ThongBao Truyền thông báo cho màn hình chính
12 Hiên Thong Bao Hiện thông báo được chấp nhận
13 GửiAmThanh Sau khi chap nhận thì gừi âm thanh
14 NhanAmThanh Nhận âm thanh của các thành viên khác trong
lớp
15 XuLyAmThanh Xử lý âm thanh nhận được
16 PhatAmThanh Chuẩn vị phát âm thanh
Bảng 8-30: Danh sách các hành động của xử lý XL24
8.5 Sơ đồ lớp của một số lớp xử lý chính :
141
KHOA CNTT –
ĐH KHTN
H323Connection
Lock()Unlock() OnEstablished()OnCleared() ClearCall(…) OnIncomingCall AnsweringCall
H323ConnectionClient H323ConnectionServer
H323EndPoint
AddCapabilitySetCapability RemoveCapabilitiesSetGatekeeper LocateGatekeeper CreateGatekeeper MakeCall ClearCall ClearAllCalls HasConnection OpenAudioChannel OpenVideoChannel
ServerEndPointCtrl ClientEndPointCtrl
8.6 Công cụ và môi trường phát triển hệ thống
Hệ thống Student được xây dựng trên các công cụ và môi trường sau :
Công cụ phân tích và thiết kế : Rational Rose 2001
Môi trường cài đặt ứng dụng : Microsoft WindowXP
Môi trường lập trình : Mircosoft Visual C++ 6.0
Hệ quản trị cơ sở dữ liệu : Mircosoft Access 2003
Ngoài ra trong quá trình phát triển hệ thống Student, nhóm chúng em còn sử dụng
thêm bộ thư viện sau :
142
KHOA CNTT –
ĐH KHTN
Thư viện OpenH323
8.7 Yêu cầu về phần cứng :
Hệ thống chạy được phải có tốt thiểu là 3 máy tính và được nối mạng lại với nhau.
Trong đó có một máy đóng vai trò là server, 2 máy còn lại đóng vai trò là client.
Các máy đóng vai trò client cần phải có microphone và webcam để có thể tham gia
vào lớp học.
8.8 Hướng dẫn sử dụng hệ thống :
8.8.1 Khởi động Server :
Chạy chương trình : MyMCU.exe để đóng vai trò là server. Cần chép thêm tập
tin StudyOnlineDB.mdb. Sau khi chạy MyMCU.exe xong nhấn nút Start để
cho server hoạt động.
Hình 8-44: Khởi động server
Muống dừng server thì nhấn nút Shutdown.
143
KHOA CNTT –
ĐH KHTN
8.8.2 Khởi động các client : Chạy chương trình Student.exe ở các máy còn lại.
Gõ địa chỉ IP của máy server
Nhấn nút Call
Hình 8-45: Khởi động client
Sau khi kết nối thành công thì chương trình sẽ hiển thị bằng đăng nhập, có thể
đăng nhập hoặc đăng ký mới :
144
KHOA CNTT –
ĐH KHTN
Hình 8-46: Client đăng nhập
Khi muốn kết thúc nhấn vào nút Call và chọn Hang Up
Chương 9 : Tổng kết 9.1 Kết luận :
Dựa trên tìm hiểu và nghiên cứu công nghệ truyền thông đa phương tiện sử dụng
công nghệ H323, chúng em bước đầu xây dựng hệ thống hỗ trợ cho việc đào tạo từ
xa thông qua mạng Internet/Intranet.
Hệ thống cung cấp cho giáo viên những công cụ giúp việc thu hình, phát hình, và âm
thanh. Hệ thống đã giúp cho giáo viên thực sự tham gia vào một lớp học ảo, giúp cho
sinh viên có điều kiện giao tiếp trực tiếp với giáo viên đứng lớp.
Hệ thống cũng giúp cho giáo viên tạo ra một lớp học riêng của chính mình hoặc tạo
ra một diễn đàn thảo luận. Đồng thời cũng giúp cho sinh viên có thể đăng ký làm
thành viên của lớp học.
Hệ thống được tổ chức thành hai phần :
Phần Server : Giữ trách nghiệm tạo, quản lý các lớp học trong hệ thống. Làm
nhiệm vụ giữ kết nối với các thành viên khác trên hệ thống.Hỗ trợ người dùng
có thể truyền nhận được tín hiệu âm thanh và hình ảnh.
Phần Client : Giữ trách nhiệm kết nối với server. Hỗ trợ người sử dụng liên lạc
với các thành viên khác trong hệ thống. Nhận và phát tín hiệu âm thanh, hình
ảnh cho các thành viên khác có tham gia hệ thống.
9.2 Hướng phát triển :
Cải tiến chất lượng truyền thông về hình ảnh, âm thanh
Xây dựng hệ thống có hỗ trợ các chuẩn nén âm thanh khác như G723, G729
Xây dựng hệ thống có hỗ trợ các chuẩn nén hình ảnh khác như H263
Hỗ trợ chuẩn T120 trong việc truyền file, và chia sẻ ứng dụng
Cho phép sinh viên lưu lại bài giảng của giáo viên lên máy tính.
145
KHOA CNTT –
ĐH KHTN
THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
ACF Admissions Confirm
AFC Application Foudation Code
API Application Program Interface
ASIC Application Specific Integrated Circuit
ASR Automatic Speech Recognization
ARJ Admissions Reject
ARQ Admissions Request
BCF Bandwidth Confirm
BRJ Bandwidth Reject
BRQ Bandwidth Request
CP Control Processor
CT Computer Telephony
DCF Disengage Confirm
DNI Digital Network Interface
DTMF Dual-Tone MultiFrequency
DRJ Disengage Reject
DRQ Disengage Request
GCF Gatekeeper Confirmation
GK Gatekeeper
GCF Gatekeeper Confirm
GRJ Gatekeeper Reject
GRQ Gatekeeper Request
GW Gateway
IRQ Information Request
IRR Information Request Response
ISDN Integrated Services Digital Network
IE Information Element
146
KHOA CNTT –
ĐH KHTN
IP Internet Protocol
LCF Location Confirm
LRJ Location Reject
LRQ Location Request
LAN Local Area Network
MC Multipoint Controller
MCU Multipoint Control Unit
MP Multipoint Processor
MMA Mediastream Management ASIC
PC Personal Computer
PCM Pulse Code Modulation
PDU Protocol Data Unit
QoS Quality of Service
RAS Registration, Admission and Status
RIP Request In Progress
RRJ Registration Reject
RRQ Registration Request
RTCP Real-time Transport Control Protocol
RTOS Real-Time Operating System
RTP Real-time Transport Protocol
SCN Switched Circuit Network
SP Signal Processor
TCP Transport Control Protocol
TSAP Transport Service Access Point
TSP Telephone Service Provider.
UDP User Datagram Protocol
UCF Unregistration Confirm
URJ Unregistration Reject
URQ Unregistration Request
147
KHOA CNTT –
ĐH KHTN
CÁC TÀI LIỆU THAM KHẢO
[ 1] ITU-T Recommendation H.323 Series H
[ 2] ITU-T Recommendation H.245
[ 3] ITU-T Recommendation H.225.0
[ 4] ITU-T Recommendation H.323
[ 5] ITU-T Recommendation H.261
[ 6] ITU-T Recommendation G.723.1
[ 7] ITU-T Recommendation G.729
[ 8] ITU-T Recommendation G.711
[ 9] A Primer on the H.323 Series Standard
[ 10] A Primer on the T.120 Series Standard
[ 11] OpenH323 Library
[ 12] www.OpenH323.org
148