Tài liệu Luận văn đề tài xây dựng phần mềm dạy học trực tuyến

  • Số trang: 160 |
  • Loại file: PDF |
  • Lượt xem: 396 |
  • Lượt tải: 0

Mô tả:

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 nghiệp này. K H TN 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 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 H 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 C N TT 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 K H O A 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 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 K H TN 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 H 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ó C N TT 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 K H O A 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 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 K H TN 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 H 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 K H O A C N TT lai của hệ thống iii MỤC LỤC K H O A C N TT – Đ H K H TN 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 K H O A C N TT – Đ H K H TN 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 K H O A C N TT – Đ H K H TN 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 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 K H TN 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 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 C N TT 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 K H O A 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 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 K H TN 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 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 C N TT 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 K H O A 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 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 K H TN 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 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 C N TT 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 K H O A 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 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 K H O A C N TT – Đ H K H TN Hình 8-46: Client đăng nhập.............................................................................................145 x 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 K H TN 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 H 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 C N TT 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 K H O A 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 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 K H TN 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 H 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 K H O A C N TT – Bảng 8-30: Danh sách các hành động của xử lý XL24....................................................141 xii 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 K H TN 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 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 thiếu sự giao tiếp trực tiếp với giáo viên. Đ đ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 – 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 đã C N TT 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 K H O A 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 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 K H TN 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 H 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í C N TT 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 K H O A đả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 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 : 2.2.5 Hỗ trợ đa điểm : K H TN H.322 không bị ràng buộc với phần cứng hay hệ điều hành. 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. H 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 C N TT 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 : K H O A 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 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 K H TN 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. PSTN H Intenet Gateway Đ Cell phone Router – MCU Mang H323 Gateway C N TT Gatekeeper IBM Compatible H323 terminal Mang H320 (ISDN) ISDN videophone Laptop computer H323 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 K H O A 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 - 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ã hoá và giải mã các tín hiệu audio, video. K H TN Một đầu cuối H323 cũng có thể được trang bị thêm các tính năng như: - Hỗ trợ giao thức T120 phục vụ cho việc trao đổi thông tin số liệu (data). K H O A C N TT – Đ H - 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 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 K H TN 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 K H O A C N TT – Đ H 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 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ó C N TT – Đ H K H TN 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à: K H O A • 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 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 K H TN 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 H 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 C N TT 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. K H O A 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 Đâ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 K H TN 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 H 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 C N TT 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ừ K H O A 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 Đâ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. K H TN 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. H Mạng LAN mà có sử dụng gateway cũng có thể có gatekeeper để chuyển đổi địa chỉ C N TT – Đ vào E.164 sang Transport Address. Hình 3-5: Kết hợp giữa đầu cuối (terminal), gatekeeper, gateway K H O A 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 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 C N TT – Đ H K H TN mô tả trên hình : Hình 3-6: Các giao thức sử dụng trong H323 K H O A 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 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 K H TN 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ó. H (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 C N TT đị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 : K H O A 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 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à K H TN 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 H đ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 C N TT 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). K H O A 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 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 K H TN 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 H 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 C N TT 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 K H O A đề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 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 các dịch vụ trao đổi qua lại như điện thoại Internet. K H TN đố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ư 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. H 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 C N TT 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 K H O A 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 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 K H TN 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 Đ H 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 N TT 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 K H O A 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 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 K H TN 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. lí mạng có thể đánh giá được hiệu suất mạng. H 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 Đ - 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 C N TT 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 K H O A 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 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); C N TT – Đ H K H TN 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 K H O A 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 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 K H TN 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 H 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 dùng. C N TT – đế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 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ể K H O A 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 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 K H TN 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 H 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. C N TT 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 K H O A đượ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 K H TN 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). H + Đ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 . C N TT 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 K H O A 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 Đ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 K H TN điểm cuối chỉ đăng kí với 1 gatekeeper. Đ H 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 C N TT 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 đủ. K H O A 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 Đ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). K H TN 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), Đ H lúc đó điểm cuối phải trả lời bằng bản tin UCF. C N TT – 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 K H O A 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 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 K H TN 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 : H Đ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 C N TT 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. K H O A 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 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 K H TN 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 H 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: C N TT + 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 K H O A 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 + 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 K H TN cuối . H 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 C N TT 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. K H O A 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 K H TN - H 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 K H O A C N TT – 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 • 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 K H TN • 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 H 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 K H O A C N TT 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 K H TN H 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 C N TT 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 K H O A tuyến qua gatekeeper . 29 K H TN H Đ Hình 4-11: Hai điểm cuối đều đăng ký với một gatekeeper – – Báo hiệu qua gatekeeper C N TT 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. K H O A 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 K H TN H 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. K H O A C N TT gọi được thể hiện trên hình. – 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 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 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 Đ H K H TN 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 C N TT Đầ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. K H O A 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 K H TN H Đ – C N TT 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 K H O A 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 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, C N TT – Đ H K H TN 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 K H O A 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 K H TN H Đ – C N TT 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 K H O A 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 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 K H TN 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 C N TT – Đ H hiệu của trường hợp này được thể hiện trên hình : K H O A 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 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 N TT – Đ H K H TN của trường hợp này được thể hiện trên hình : K H O A 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 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 K H TN đị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à H 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 N TT 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. K H O A 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 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ủ K H TN 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 H 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. C N TT 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 K H O A 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 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 K H TN 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 H 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 C N TT 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, K H O A đồ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 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 K H TN 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. H 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. C N TT 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 K H O A 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 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 K H TN 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 H 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. C N TT 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 K H O A 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 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 K H TN 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 H 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 băng tần. C N TT – ngược lại thì điểm cuối phải yêu cầu gatekeeper mà nó đăng ký thay đổi độ rộng K H O A 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 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 K H TN (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. C N TT – Đ H 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 K H O A 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 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 K H TN 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 H 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 C N TT đặ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 K H O A 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 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 K H TN 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ó H 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ủ hiện các bước từ 1 đến 6. – 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 C N TT 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 K H O A 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 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. K H TN 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ủ C N TT – Đ H 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 . K H O A 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 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. K H TN 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 K H O A C N TT – Đ H cuộc gọi 48 Chương 5 : Các khả năng của chuẩn H323 và ứng dụng Đ H K H TN 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 K H O A C N TT 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 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 K H TN 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 H 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ã C N TT 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. K H O A 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 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 thích với những nhà phát triển khác. K H TN tốn kém. Do vậy các nhà cung cấp sẽ sử dụng những chuẩn chung để tương 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 : H 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 chuẩn mới. C N TT thường được dùng với các chuẩn khác như: H221, H230, H242 và H320 hoặc những 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ỏ K H O A 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 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 : K H TN 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. H 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 C N TT 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à K H O A đượ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 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 K H TN 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 H 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 C N TT 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à : K H O A 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 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ổ K H TN 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 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 để thống có sẵn. C N TT – 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ệ 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 K H O A 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 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ụ K H TN 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 : H 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. C N TT 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í: K H O A 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 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 K H TN 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 H 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ụ. C N TT 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 K H O A 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 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): K H TN 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ý H đượ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 K H O A C N TT – 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 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. K H TN 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ị H đ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 trong đó nó gởi và nhận. – 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à C N TT 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), K H O A 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 K H TN Đ H 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 C N TT ả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: K H O A 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 H245NegTerminalCapabilitySet o H245NegRoundTripDelay o H245NegRequestMode o H245NegMasterSlaveDetermination o H245NegLogicalChannels o H245NegLogicalChannel • H323Capabilities • H323Capability o H323_UserInputCapability o H323RealTimeCapability K H TN o H323VideoCapability H H323_H261Capability Đ H323NonStandardVideoCapability H323AudioCapability – H323_LIDCapability C N TT H323_GSM0610Capability H323_G729ACapability H323_G7231Capability H323_G711Capability K H O A H323NonStandardAudioCapability o MicrosoftNonStandardAudioCapability H323_LPC10Capability H323DataCapability H323_T38Capability H323_T120Capability H323NonStandardDataCapability • H323CapabilityRegistration • H323Channel o H323UnidirectionalChannel 60 H323_RTPChannel H323DataChannel H323_T38Channel H323_T120Channel H323BidirectionalChannel • H323ChannelNumber • H323Codec o K H TN o H323VideoCodec H323_H261Codec o H323AudioCodec H323FramedAudioCodec H H323_LIDCodec Đ H323_LPC10Codec H323_GSM0610Codec – H323_G729ACodec C N TT H323_G7231Codec H323StreamedAudioCodec H323_muLawCodec H323_ALawCodec H323Connection • H323ControlPDU • H323EndPoint • H323GatekeeperCall • H323GatekeeperServer • H323Listener K H O A • o • H323ListenerTCP H323NonStandardCapabilityInfo o H323NonStandardVideoCapability o H323NonStandardDataCapability 61 o H323NonStandardAudioCapability MicrosoftNonStandardAudioCapability • H323RasPDU • H323RegisteredEndPoint • H323SignalPDU • H323Transport o K H TN H323_LPC10Capability H323TransportIP H323TransportAddress • H323VideoDevice PPMVideoOutputDevice o NullVideoOutputDevice H450ServiceAPDU • OpalGloballyUniqueID • OpalLineChannel • OpalLineInterfaceDevice o o C N TT • – o Đ • H H323TransportUDP OpalVpbDevice OpalIxJDevice OpalMediaFormat • OpalT120Protocol • OpalT38Protocol • Q931 • RTP_ControlFrame • RTP_DataFrame • RTP_JitterBuffer • RTP_Session K H O A • o • RTP_UDP RTP_SessionManager 62 • RTP_UserData o H323_RTP_Session H323_RTP_UDP • X224 5.6.3 Diễn giải ý nghĩa một số lớp : K H TN 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ì H 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à C N TT 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 K H O A 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 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 Q931 : Lớp chứa một Q931 Protocol Data Unit K H TN H323_T120Capability : Mô tà kênh logic T120 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 H 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 C N TT 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 đó K H O A 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 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 K H TN 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 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 C N TT 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à K H O A 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 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 : K H TN 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 H 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 đó. C N TT 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 K H O 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 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 : 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 : K H TN Người quản trị có thể thay đổi thông tin cá nhân của mình như thay đổi mật 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 H 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 C N TT 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ủ K H O A 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 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. K H TN 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 H 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 : C N TT 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 : K H O A 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 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 : K H TN 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 ý, Đ 6.3.3.4 Cho phép phát hình ảnh của mình : H sinh viên đó có thể phát biểu ý kiến 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 đó. C N TT 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 : K H O A Sinh viên có thể thay đổi thông tin cá nhân của mình 69 Chương 7 : Phân tích K H O A C N TT – Đ H K H TN 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 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: 1 Use-case KetNoi Ý nghĩa Người dùng khi muốn tham gia vào hệ thống thì K H TN STT 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 đó ThayDoiThongTinCaNhan Người dùng có thể thay đổi thông tin cá nhân của H 3 mình ví dụ thay đổi mật khẩu đăng nhập hệ thống DangNhap Sau khi kết nối được với hệ thống, người dùng Đ 4 5 QuanLyLop – phải thực hiện đăng nhập Người quản trị co thể tạo sẵn lớp học, xoá các lớp C N TT 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 K H O A thì chỉ có giáo viên mới có thể chat được với các 7 QuanLyHinhAnh 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. 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 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 K H TN 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ị 11 H thì có thể thay đổi người chủ quản lý lớp học. 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 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 – 12 14 C N TT nhập của người sử dụng 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. 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 K H O A 16 18 TruyenAmThanh mình 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 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 năng khác sau này. 7.4.1.2 Dòng sự kiện : K H TN 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 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 H 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 C N TT 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 K H O A 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 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: 7.4.2 Đặc tả use-case “DangNhap” : 7.4.2.1 Tóm tắt : K H TN Không có. 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 : Người dùng nhập tên và mật khẩu Đ sử dụng nhập tên và mật khẩu. H 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 – Sau khi nhập xong, nhấn nút login C N TT 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 K H O A 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 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 : K H TN 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 : H 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 C N TT 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 : K H O A 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 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ẽ K H TN 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ó H 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 : Không có. C N TT 7.4.3.6 Điểm mở rộng : – Nếu thay đổi thành công hệ thống sẽ thông báo lại cho actor biết. 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 : K H O A 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 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. 2. Các dòng sự kiện khác : K H TN Với tài khoản mới này, actor có thể tham gia vào lớp học ngay lú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 H 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 Không có C N TT 7.4.4.3 Các yêu cầu đặc biệt : – đăng ký vào hệ thống. Lúc này use-case kết thú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 K H O A đă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 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 đó. K H TN 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 H 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 C N TT 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 K H O A 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 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 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 : K H TN được 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 đó. H 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” : C N TT 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. K H O A 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 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. K H TN 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 : H 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ó. C N TT 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 : K H O A 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 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. K H TN 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. H 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ó. C N TT 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 : K H O A 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 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. K H TN 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 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 Không có. C N TT 7.4.8.6 Điểm mở rộng : – cho phép và ngược lại 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 : K H O A 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 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 đó. K H TN 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 H 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. C N TT 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 K H O A 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 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 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 : K H TN học sẽ giảm đi. 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 H 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. C N TT 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 K H O A 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 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 : K H TN 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 : H 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ị, C N TT 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. K H O A 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 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 : K H TN 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 : H 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 : C N TT 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. K H O A 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 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 : K H TN 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 : H Không có. 7.4.13 Đặc tả use-case “ThayDoiQuyenNguoiDung” : Đ 7.4.13.1 Tóm tắt : 7.4.13.2 Dòng sự kiện : – Use-case thể hiện chức năng thay đổi quyền đối với người dùng. C N TT 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 K H O A 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 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. K H TN 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. H 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 7.4.14.3 Các yêu cầu đặc biệt : C N TT Không có – được phát biểu. 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. K H O A 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 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 K H TN 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ý H o Truyền hình ảnh o Truyền am thanh - Đ o Chat text Người dùng : C N TT o Kết nối – o Thay đổi thông tin cá nhân o Đăng nhập K H O A o Đăng ký 89 7.6 Phân tích các use-case chính : 7.6.1 Phân tích Use case “KetNoi”: K H TN 7.6.1.1 Sơ đồ lớp đối tượng : CKetNoiDlg CClientEndPointCtrl H CMainDlg Đ CServerEndPointCtrl – Hình 7-2: Sơ đồ lớp đối tượng của Use case “KetNoi” STT C N TT 7.6.1.2 Danh sách các lớp đối tượng : Lôùp ñoái töôïng Loaïi YÙ nghóa 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 K H O A 1 4 CServerEndPointCtrl Control Điều khiển các hoạt động ở client đối với server 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 7.6.2 Phân tích Use case “DangNhap”: 7.6.2.1 Sơ đồ lớp đối tượng CMainDlg K H TN CManHinhDangNhapDlg CClientEndPointCtrl CUsersUtility – Đ H CServerEndPointCtrl C N TT CUsersDB 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 : Lôùp ñoái töôïng Loaïi 1 CManHinhDangNhapDlg Boundary Màn hình đăng nhập 2 CMainDlg Boundary Màn hình chính 3 CClientEndPointCtrl K H O A STT Control YÙ nghóa Đ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 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”: CMainDlg K H TN 7.6.3.1 Sơ đồ lớp đối tượng CServerEndPointCtrl H CDangKyDlg CClientEndPointCtrl Đ CDSLopDlg C N TT – CUsersUtility CUsersDB Hình 7-4: Sơ đồ lớp đối tượng của Use case “DangKy” K H O A 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 6 CUsersDB 7 CDSLopDlg Entity Cơ sở dữ liệu vể người dùng 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” K H TN 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 – Đ H CDSLopDlg CMatKhauDlg C N TT CClientEndPointCtrl CServerEndPointCtrl CClassDB K H O A CClassUtility Hình 7-5: Sơ đồ lớp đối tượng của Use case “QuanLyLopHoc” – Thay doi mat khau 93 Xoá lớp học : CServerEndPointCtrl K H TN CClassUtility CClassDB CClientEndPointCtrl CDSLopDlg Đ H CMatKhauDlg – CMainDlg C N TT 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 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 K H O A 1 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 7.6.5 Phân tích Use case “QuanLyThanhVien”: 7.6.5.1 Sơ đồ lớp đối tượng : CClientEndPointCtrl K H TN Cho phép phát biểu trong lớp : CServerEndPointCtrl CMainDlg H CThongBaoDlg Đ CUsersDlg – Hình 7-7: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép C N TT phát biểu K H O A Cho phép phát hình ảnh : CMainDlg CClientEndPointCtrl CServerEndPointCtrl CThongBaoDlg CUsersDlg Hình 7-8: Sơ đồ lớp đối tượng của Use case “QuanLyThanhVien” – Cho phép phát hình ảnh 95 Đuổi sinh viên: CClientEndPointCtrl CServerEndPointCtrl K H TN CMainDlg CThongBaoDlg H CUsersDlg Đ 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 : Lôùp ñoái töôïng Loaïi YÙ nghóa C N TT STT 1 CMainDlg 2 CClientEndPointCtrl Boundary Màn hình chính Control Điều khiển các hoạt động ở client đối với server CServerEndPointCtrl 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 K H O A 3 Control Điều khiển hoạt động ở server Bảng 7-7: Danh sách các lớp đối tượng của Use case “QuanLyThanhVien” 96 7.6.6 Phân tích Use case “TaoLopHoc”: 7.6.6.1 Sơ đồ lớp đối tượng : K H TN CServerEndPointCtrl CTaoLopDlg CClassDB CMainDlg CClassUtility H CClientEndPointCtrl Đ Hình 7-10: Sơ đồ lớp đối tượng của Use case “TaoLopHoc” Lôùp ñoái töôïng Loaïi C N TT STT – 7.6.6.2 Danh sách các lớp đối tượng : 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 CServerEndPointCtrl K H O A 4 5 CClassUtility 6 CThongBaoDlg 7 CClassDB Control Điều khiển các hoạt động ở client đối với server Control Điều khiển hoạt động ở server Control Control dùng để giao tiếp giữa cơ sở dữ liệu lớp và boundary Boundary Màn hình yêu cầu nhập mật khẩu 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 7.6.7 Phân tích Use case “ThayDoiChuLop”: 7.6.7.1 Sơ đồ lớp đối tượng : K H TN CMatKhauDlg (from Logical View) CDSLopDlg (from Logical View) CClassDB (from Logical Vi ew) H CClientEndPointCtrl CClassUtility (from Logical Vi ew) – Đ (from Logical View) C N TT CServerEndPointCtrl (from Logical View) Hình 7-11: Sơ đồ lớp đối tượng của Use case “ThayDoiChuLop” K H O A 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 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”: K H TN 7.6.8.1 Sơ đồ lớp đối tượng : CClientEndPointCtrl Đ H CUsersDlg CUsersDB C N TT – CServerEndPointCtrl CUsersUtility 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 : Lôùp ñoái töôïng K H O A STT 1 2 CUesrsDlg CClientEndPointCtrl Loaïi YÙ nghóa Boundary Màn hình hiển thị danh sách người dùng 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 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”: CAudioCtrl CMainDlg K H TN 7.6.9.1 Sơ đồ lớp đối tượng : CAudioUI H CClientEndPointCtrl Đ CServerEndPointCtrl C N TT – 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 1 CMainDlg CClientEndPointCtrl K H O A 2 Lôùp ñoái töôïng Loaïi Boundary Control YÙ nghóa Màn hình hiển thị danh sách người dùng Đ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 5 CAudioUI audio 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 Chương 8 : Thiết kế và cài đặt 8.1 Lược đồ triển khai của hệ thống : K H TN Client GiaoVien Client <> H SinhVien Client RemoteLearning Server – Đ QuanTri Client C N TT 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 K H O A STT Node 1 RemoteLearning Server 2 Các client Giáo viên, sinh viên, người quản trị… Chức năng Có chức năng làm Server và quản lý database 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 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. K H TN 8.2 Thiết kế dữ liệu : 8.2.1 Sơ đồ lớp : QUYEN H USER – C N TT ROOM Đ ĐANGKY 8.2.2 Thiết kế bảng lưu thông tin của lớp học : K H O A Á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 Thông tin các trường : STT Thuộc tính Kiểu Mô tả 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 K H TN 1 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 : C N TT – Đ H Á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 K H O A 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 8.3 Thiết kế giao diện : C N TT – Đ H K H TN 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 ComboBox đển gõ địa chỉ IP vào, có thể chọn địa chỉ IP được lưu sẵn trong dữ K H O A 1 Moâ taû 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 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 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 K H TN 11 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 K H O A C N TT – Đ H 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 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 K H O A C N TT – Đ H K H TN 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 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 Hình 8-7: Menu call Danh sách các chức năng được thể hiện trong menu : 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 H STT K H TN Bảng 8-5: Các trường trên màn hình danh sách thành viên C N TT – Đ 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û 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ó K H O A 25 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 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 K H TN Bảng 8-8: Các trường trên menu audio Hình 8-10: Menu video H Mô tả các trường trên màn hình : Moâ taû Đ STT 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 C N TT – 29 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 Giáo viên không cho phép xem màn hình của mình K H O A 32 Bảng 8-9: Các trường trên menu video 108 Đ H K H TN 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. C N TT 8.3.2 Thiết kế màn hình đăng nhập : K H O A 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 Mô tả các trường trên màn hình : STT Moâ taû 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) K H TN 1 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. H 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à K H O A giáo viên. C N TT 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à 110 K H TN H Đ 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 : ListCtrl hiển thị danh sách các lớp đang được mở, đồng thời hiển thị số lượng C N TT 1 Moâ taû – STT 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 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, K H O A 2 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 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 K H TN Hình 8-14: Menu lớp học – Đ H Bảng 8-12: Các trường trên menu lớp học C N TT 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 K H O A 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 K H TN 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û 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 đó C N TT – Đ H 1 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 : K H O A 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 Mô tả các trường trên màn hình : STT Moâ taû 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 K H TN 1 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 C N TT – Đ H khẩu của lớp, thay đổi mật khẩu của người sử dụng K H O A 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 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 C N TT – Đ H K H TN 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û 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. K H O A 1 Bảng 8-17: Các trường trên màn hình server 115 8.4 Thiết kế xử lý : 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 5 XL5 Thay đổi mật khẩu của lớp 6 XL6 Xoá lớp học 7 XL7 Cho phép lớp học có text chat 8 XL8 Không cho phép lớp học có text chat 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 QuanLyHinhAnh K H TN STT Đ 8.4.1 Danh sách các xử lý : ThayDoiThongTinCaNhan QuanLyLop QuanLyLop QuanLyTextChat 11 XL11 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 K H O A Cho phép phát tiếng nói C N TT viên – H QuanLyTextChat 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 ThayDoiQuyenNguoiDung dùng 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 lớp 24 XL24 Truyền tiếng nói của thành viên trong TruyềnHìnhAnh lớp 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”) C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : K H TN Bảng 8-18: Danh sách các xử lý K H O A Hình 8-20: Lược đồ tuần tự của xử lý XL1 117 – Đ H K H TN Biểu đồ cộng tác (Collaboration Diagram) C N TT Hình 8-21: Biểu đồ cộng tác của xử lý XL1 Danh sách các hành động : STT 1 Haønh ñoäng YeuCauDangKy YÙ nghóa Ngừơi dùng có yêu cầu đăng ký là thành viên K H O A 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 4 5 ThucHienDangKy GuiThongTinDangKy hệ thống Người dùng nhấn vào nút thực hiện việc đăng ký 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 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 K H TN 7 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 H 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): K H O A C N TT – Lược đồ tuần tự (Sequence Diagram) : Hình 8-22: Lược đồ tuần tự của xử lý XL2 119 C N TT – Đ H K H TN 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 : Haønh ñoäng K H O A STT 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 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 8.4.2.3 Thiết kế xử lý XL3 (Use case DangNhap ): K H O A C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : K H TN Bảng 8-20: Danh sách các hành động của xử lý XL2 Hình 8-24: Lược đồ tuần tự của xử lý XL3 121 – Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) C N TT Hình 8-25: Biểu đồ cộng tác của xử lý XL3 Danh sách các hành động : STT 1 Haønh ñoäng Yeu CauDangNhap YÙ nghóa Khi kết nối với server thành công, thì server yêu K H O A 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 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 13 ThongBaoKetQua K H TN thực hiện việc phân quyền. 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): K H O A C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : Hình 8-26: Lược đồ tuần tự của xử lý XL5 123 C N TT – Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) Hình 8-27: Biểu đồ cộng tác của xử lý XL5 K H O A Danh sách các hành động : STT 1 Haønh ñoäng YeuCauhienThiDSLop YÙ nghóa 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 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 H K H TN 5 Đ 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): K H O A C N TT Lược đồ tuần tự (Sequence Diagram) : Hình 8-28: Lược đồ tuần tự của xử lý XL6 125 C N TT – Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) Hình 8-29: Biểu đồ cộng tác của xử lý XL6 K H O A 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 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 H K H TN 6 Đ 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): K H O A C N TT Lược đồ tuần tự (Sequence Diagram) : Hình 8-30: Lược đồ tuần tự của xử lý XL13 127 Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) C N TT – Hình 8-31: Biểu đồ cộng tác của xử lý XL13 Danh sách các hành động : STT 1 Haønh ñoäng HienThiDS YÙ nghóa Người dùng yêu cầu hiển thị danh sách thành viên trong lớp HienThi K H O A 2 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 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 K H TN 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): C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : K H O A Hình 8-32: Lược đồ của xử lý XL14 129 – Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) C N TT 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 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 K H O A 1 130 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): C N TT – Đ H K H TN Lược đồ tuần tự (Sequence Diagram) : K H O A Hình 8-34: Lược đồ tuần tự của xử lý XL15 131 C N TT – Đ H K H TN 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 : Haønh ñoäng K H O A STT 1 HienThiDS YÙ nghóa 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 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 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 K H TN 8 H 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): K H O A C N TT – Lược đồ tuần tự (Sequence Diagram) : Hình 8-36: Lược đồ tuần tự của xử lý XL16 133 C N TT – Đ H K H TN 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 : Haønh ñoäng K H O A STT 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 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 K H TN 8 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): K H O A C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : Hình 8-38: Lược đồ tuần tự của xử lý XL17 135 C N TT – Đ H K H TN 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 : Haønh ñoäng K H O A STT 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 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 K H TN 8 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): K H O A C N TT – Đ H Lược đồ tuần tự (Sequence Diagram) : Hình 8-40: Lược đồ tuần tự của xử lý XL19 137 – Đ H K H TN Biều đồ cộng tác (Collaboration Diagram) C N TT 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 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ị K H O A 1 138 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): C N TT – Đ H K H TN Lược đồ tuần tự (Sequence Diagram) : K H O A Hình 8-42: Lược đồ tuần tự của xử lý XL24 139 C N TT – Đ H K H TN 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 : Haønh ñoäng K H O A STT 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 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 K H TN 9 lớp 15 XuLyAmThanh Xử lý âm thanh nhận được 16 PhatAmThanh Chuẩn vị phát âm thanh H Bảng 8-30: Danh sách các hành động của xử lý XL24 K H O A C N TT – Đ 8.5 Sơ đồ lớp của một số lớp xử lý chính : 141 H323Connection H323ConnectionClient K H TN Lock() Unlock() OnEstablished() OnCleared() ClearCall(…) OnIncomingCall AnsweringCall H323ConnectionServer C N TT – Đ AddCapability SetCapability RemoveCapabilities SetGatekeeper LocateGatekeeper CreateGatekeeper MakeCall ClearCall ClearAllCalls HasConnection OpenAudioChannel OpenVideoChannel H H323EndPoint ServerEndPointCtrl K H O A 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 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. K H TN 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 : H 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 để K H O A C N TT – Đ 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 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 C N TT – Đ H K H TN Nhấn nút Call K H O A 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 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 K H TN 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 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 C N TT 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. K H O A 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 THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT 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 DRJ DRQ GCF H Đ – K H O A GK C N TT DTMF K H TN ACF Dual-Tone MultiFrequency Disengage Reject Disengage Request Gatekeeper Confirmation 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 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 RTCP RTOS RTP H Đ – K H O A SCN C N TT RRQ K H TN IP Registration Request Real-time Transport Control Protocol Real-Time Operating System Real-time Transport Protocol 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 CÁC TÀI LIỆU THAM KHẢO [ 1] ITU-T Recommendation H.323 Series H [ 2] ITU-T Recommendation H.245 K H TN [ 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 [ 9] A Primer on the H.323 Series Standard Đ [ 10] A Primer on the T.120 Series Standard K H O A C N TT – [ 11] OpenH323 Library [ 12] www.OpenH323.org H [ 8] ITU-T Recommendation G.711 148
- Xem thêm -