2.2.1. GIAO THỨC H.323
Chuẩn H.323 được mạng lõi IP trong mạng NGN sử dụng làm nền tảng để xây dựng hệ thống VoIP. Điều này cho phép các thiết bị của các nhà sản xuất khác nhau có thể làm việc tương thích với nhau. Đây là một vấn đề lớn khi phát triển bất kỳ một công nghệ mới nào.
H.323 là chuẩn của ITU-T quy định về các thiết bị, giao thức và thủ tục để cung cấp các dịch vụ thông tin đa phương tiện thời gian thực trên các mạng chuyển mạch gói, bao gồm cả mạng IP. H.323 là một tập hợp các khuyến nghị, bao gồm các chuẩn nén tiếng nói như: G.729, G.723.1, chuẩn truyền dẫn thời gian thực như RTP, các chuẩn báo hiệu như H.225, H.245.
Hình 2.2: Đầu cuối H.323 trên mạng chuyển mạch gói
2.2.1.1. Các thành phần chính của H.323
Chuẩn H.323 quy định 4 thành phần chính là:
- Đầu cuối (Terminal): Là một trạm cuối trong mạng LAN, đảm nhận việc cung cấp truyền thông hai chiều thời gian thực.
- Cổng truyền thông (Gateway): Cung cấp khả năng truyền thông giữa hệ thống H.323 và các hệ thống chuyển mạch kênh khác.
- Gatekeeper: Là một thành phần không bắt buộc. Nó thực hiện các chức năng quản lý các hoạt động của hệ thống. Khi có mặt của
Gatekeeper trong hệ thống các thành phần trong hệ thống phải thực hiện đăng ký với Gatekeeper tạo thành một vùng H.323 (H.323 zone) do Gatekeeper đó quản lý.
- Bộ điều khiển đa điểm (MCU – Multipoint Control Unit): Thực hiện chức năng tạo kết nối đa điểm hỗ trợ các ứng dụng truyền thông nhiều bên. Thành phần này cũng là tùy chọn.
Hình 2.3: Hệ thống chuẩn H.323 và các thành phần
a. Thiết bị đầu cuối
Thiết bị đầu cuối là các đầu cuối khách hàng trên mạng cung cấp các phương tiện liên lạc hai chiều thời gian thực. Hình 2.3 mô tả các thành phần của thiết bị đầu cuối. tất cả các thiết bị đầu cuối phải hỗ trợ các giao tiếp giọng nói. Video hoặc dữ liệu có thể có nhưng không bắt buộc. Chuẩn H.323 quy định các chế độ hoạt động cần thiết cho các đầu cuối audio, video và dữ liệu có thể làm việc được với nhau. Tất cả các đầu cuối H.323 phải hỗ trợ chuẩn H.245 và phải có một đơn vị điều khiển hệ thống, lớp đóng gói H.250.0, giao diện mạng và bộ CODEC thoại. Bộ CODEC cho tín hiệu
video và các ứng dụng dữ liệu của người sử dụng là tùy chọn (có thể có hoặc không).
b. Gateway
Gateway là phần tử không nhất thiết phải có trong một giao tiếp của các phần tử H.323, nó đóng vai trò là các phần tử cầu nối và chỉ tham gia vào một cuộc gọi khi có một sự chuyển tiếp từ mạng H.323 (như mạng Core IP) sang mạng phi H.323 (ví dụ như PSTN). Gateway thực hiện một số chức năng như:
- Chuyển đổi giữa các dạng khung truyền dẫn. - Chuyển đổi giữa các thủ tục giao tiếp.
- Chuyển đổi giữa các dạng mã hóa khác nhau của các luồng tín hiệu hình ảnh cũng như âm thanh.
- Thực hiện việc thiết lập và xóa cuộc gọi ở cả phía mạng LAN cũng như phía mạng chuyển mạch 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.
Cấu trúc của Gateway bao gồm:
- Khối chức năng của thiết bị H.323, khối chức năng này có thể là chức năng đầu cuối (để giao tiếp với một terminal trong hệ thống H.323) hoặc chức năng MCU (giao tiếp với nhiều terminal).
- Khối chức năng của thiết bị chuyển mạch kênh, mang chức năng giao tiếp với một hay nhiều thiết bị đầu cuối trong mạng chuyển mạch kênh.
- Khối chức năng chuyển đổi, bao gồm khuân dạng dữ liệu và chuyển đổi thủ tục.
Gateway liên kết với máy điện thoại thông thường phải tạo và nhận biết được tín hiệu DTMF (Dual Tone Multiple Frequency) tương ứng với các phím nhập từ bàn phím điện thoại.
c. Gatekeeper
Gatekeeper là phần tử không nhất thiết phải tồn tại trong hệ thống H.323, nó thực hiện việc điều khiển các dịch vụ gọi của các đầu cuối H.323. Gatekeeper tách biệt với các thiết bị khác trong hệ thống về mặt logic, tuy nhiên trên thực tế thì nó có thể tích hợp với các thiết bị khác như Gateway, MCU…
Các chức năng của một Gatekeeper được phân biệt làm hai loại là các chức năng bắt buộc và không bắt buộc.
Các chức năng bắt buộc bao gồm:
- Dịch địa chỉ (Address Translation)
- Điều khiển quyền truy nhập (Admission Control) - Điều khiển dải thông (Bandwidth Control)
- Điều khiển vùng (Zone Management) Các chức năng tùy chọn gồm có:
- Điều khiển báo hiệu cuộc gọi (Call Control Singnaling) - Quản lý dải thông (Bandwidth Management)
- Dịch vụ quản lý cuộc gọi (Call Management Service) - Dịch vụ xác nhận cuộc gọi (Call Authorization Service)
Ngoài ra Gatekeeper còn thường xuyên được cập nhật thêm các dịch vụ như FORWARD, TRANSFER,…
d. Đơn vị điều khiển liên kết đa điểm MCU (Multipoint Control Unit)
MCU hỗ trợ việc thực hiện các cuộc đàm thoại hội nghị giữa nhiều thiết bị đầu cuối. Trong chuẩn H.323, MCU bắt buộc phải có một bộ điều khiển đa điểm MC (Multipoint Controler) và có hoặc không có một vài MP (Multipoint Processor).
MC và MP là thành phần của MCU nhưng chúng có thể không tồn tại trong một thiết bị độc lập mà được phân tán trong các thiết bị khác. Chẳng hạn như: Một Gateway có thể mang trong nó một MC và một vài MP để thực hiện kết nối tới nhiều thiết bị đầu cuôi; một thiết bị đầu cuối có thể mang một bộ MC để có thể thực hiện một lúc nhiều cuộc gọi.
MC điều khiển việc liên kết giữa nhiều điểm cuối trong hệ thống bao gồm:
- Xử lý việc đàm phán giữa các thiết bị đầu cuối để quyết định một khả năng xử lý dòng dữ liệu Media chung giữa các thiết bị đầu cuối.
- Quyết định dòng dữ liệu nào sẽ là dòng dữ liệu multicast.
- MC không xử lý trực tiếp một dòng dữ liệu Media nào. Việc xử lý các dòng dữ liệu sẽ do các MP đảm nhiệm. MP sẽ thực hiện việc trộn, chuyển mạch, xủ lý cho từng dòng dữ liệu thời gian thực trong cuộc hội nghị.
2.2.1.2. Bộ giao thức H.323
Khuyến nghị H.323 đề ra những giao thức nằm trên tầng IP và các tầng vận tải (TCP hay UDP), những giao thức này được sử dụng một cách kết hợp đảm bảo cho việc thiết lập cuộc thoại và truyền dòng tiếng nói tuân thủ tính thời gian thực qua mạng chuyển mạch gói.
Hình 2.4: Các lớp của bộ giao thức H.323
Ta có thể phân chia bộ giao thức H.323 thành hai nhóm:
- Nhóm thứ nhất có vai trò thực hiện trao đổi tín hiệu báo hiệu (Signaling) giữa các thành phần của mạng H.323, đảm bảo cho một endpoint có thể thiết lập được cuộc đàm thoại với một endpoint khác. Bao gồm:
+ RAS (Registation/Admission/Status): Giao thức trao đổi giữa endpoint với gatekeeper.
+ Q.931: Giao thức cho phép thiết lập và kết thúc cuộc gọi.
+ H.245: Giao thức cho phép thống nhất phương thức truyền thông giữa các endpoint và thiết lập kênh logic để tín hiệu tiếng nói truyền qua kênh này.
Như vậy nhóm này có thể coi như tập giao thức giúp các bên tham gia bắt tay được với nhau trước khi tiếng nói thực sự được trao đổi qua lại. - Nhóm thứ hai chịu trách nhiệm đảm bảo truyền dòng tiếng nói thời gian thực qua mạng, cộng thêm một số thông tin trạng thái và điều khiển giúp cho việc nâng cao chất lượng cuộc thoại. Bao gồm:
+ RTP: Giao thức này đảm nhiệm việc truyền dòng tiếng nói thời gian thực tới bên nhận.
+ RTCP: Giao thức hỗ trợ cung cấp các thông tin trạng thái và điều khiển chất lượng cuộc thoại tới các bên tham gia.
2.2.1.3. Các thủ tục báo hiệu cuộc gọi của H.323
Người ta chia cuộc gọi làm 5 giai đoạn gồm: - Giai đoạn 1: Thiết lập cuộc gọi.
- Giai đoạn 2: Thiết lập kênh điều khiển. - Giai đoạn 3: Thiết lập kênh thoại ảo. - Giai đoạn 4: Dịch vụ.
- Giai đoạn 5: Kết thúc cuộc gọi.
Bước 1: Thiết lập cuộc gọi
Việc thiết lập cuộc gọi sử dụng các bản tin được định nghĩa trong khuyến nghị H.225.0. Có thể xảy ra 6 trường hợp, đó là:
- Cuộc gọi cơ bản – Cả hai thiết bị đầu cuối đều không đăng ký. - Cả hai thuê bao đều đăng ký tới một Gatekeeper.
- Chỉ có thuê bao chủ gọi có đăng ký với Gatekeeper. - Chỉ có thuê bao bị gọi đăng ký với Gatekeeper. - Hai thuê bao đăng ký với hai gatekeeper khác nhau. - Thiết lập cuộc gọi qua Gateway.
Trong hầu hết các giao thức báo hiệu phục vụ các ứng dụng thời gian thực, yêu cầu về ngưỡng thời gian xử lý cho phép (out – TimeOut) của từng tín hiệu và của cả quá trình báo hiệu là bắt buộc. Ở phương thức báo hiệu trực tiếp, quá trình báo hiệu diễn ra nhanh hơn dẫn đến xác suất thời gian xử lý báo hiệu vượt quá TimeOut ít, làm cho tỷ lệ lỗi cuộc gọi giảm, hơn nữa việc báo hiệu trực tiếp giúp cho quá trình đồng bộ mạng chính xác.
Bước 2: Thiết lập kênh điều khiển
Khi kết thúc giai đoạn 1 tức là chủ gọi và bị gọi đã hoàn thành việc trao đổi các bản tin thiết lập cuộc gọi thì các đầu cuối sẽ thiết lập kênh điều khiển H.245. Kênh điều khiển này có thể do thuê bao bị gọi thiết lập sau khi nó nhận được bản tin Set – up hoặc do thuê bao bị gọi thiết lập khi nó nhận được bản tin Alerting hoặc Call Proceeding. Trong trường hợp không nhận được bản tin Connect hoặc một đầu cuối gửi Release Complete, thì kênh điều khiển H.245 sẽ được giải phóng.
Bước 3: Thiết lập kênh truyền thông
Sau khi trao đổi khả năng (tốc độ nhận tối đa, phương thức mã hóa…) và xác định quan hệ master – slaver trong giao tiếp ở giai đoạn 2, thủ tục H.245 sẽ thực hiện thủ tục mở kênh logic để truyền số liệu. Các kênh này là kênh H.225. Sau khi mở kênh logic để truyền tín hiệu là âm thanh và hình ảnh thì mỗi đầu cuối truyền tín hiệu sẽ truyền đi một bản tin
h2250MaximumSkewIndication để xác định thông số truyền. Nó có thể:
Thay đổi chế độ hoạt động; Trao đổi các luồng tín hiệu Video; Phân phối các địa chỉ luồng dữ liệu.
Bước 4: Dịch vụ cuộc gọi
Có một số dịch vụ cuộc gọi được thực hiện trên mạng H.323 như: thay đổi độ rộng băng tần, giám sát trạng thái hoạt động, hội nghị đặc biệt, các dịch vụ bổ sung.
Bước 5: Kết thúc cuộc gọi
Một thiết bị đầu cuối có thể kết thúc cuộc gọi theo thủ tục như sau:
- Dừng truyền luồng tín hiệu video khi kết thúc truyền một ảnh, sau đó giải phó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 và dừng tất cả các kênh logic dùng để truyền audio.
- Truyền bản tin H.245 endSessionCommand trên kênh điều khiển H.245 để báo cho thuê bao đầ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 các kênh điều khiển H.245.
- Nó sẽ chờ nhận bản tin endSessionCommand từ thuê bao đầu kia và sẽ đóng kênh điều khiển H.245.
- Nếu kênh báo hiệu cuộc gọi đang mở thì nó sẽ truyền đi bản tin Release Complete sau đó đóng kênh báo hiệu.
Nó có thể kết thúc cuộc gọi theo các thủ tục sau: Một đầu 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ẽ hiện lần lượt các bước từ 1 đến 6 ở trên chỉ bỏ qua bước
Trong cuộc gọi không có sự tham gia của gatekeeper thì chỉ cần thực hiện các bước từ 1 đến 6 như trên.
Trong cuộc gọi có sự tham gia của gatekeeper thì cần có hoạt động giải phóng băng tần. Vì vậy sau khi thực hiện các thủ tục từ 1 đến 6 như trên, mỗi đầu cuối sẽ truyền đi bản tin DRQ (3) tới gatekeeper. Sau đó gatekeeper sẽ trả lời bằng bản tin DCF (4). Sau khi gửi DRQ, đầu 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.
2.2.2 GIAO THỨC SIP
Giao thức khởi tạo phiên SIP (Session Initiation Protocol) là giao thức báo hiệu được dùng để thiết lập, duy trì và kết thúc các cuộc gọi. Nó được đưa ra bởi IETF. Một cuộc gọi bao gồm một số thành viên tham gia hội thoại, trao đổi thông tin bằng hình thức đa phát đáp hoặc đơn phát đáp với phương thức truyền thông có thể là dữ liệu, tiếng nói hay hình ảnh. SIP là giao thức điều khiển tầng ứng dụng, độc lập với các giao thức khác. Đây là
giao thức khả mở, hỗ trợ các dịch vụ ánh xạ tên và các dịch vụ gián tiếp một cách trong suốt. Vì thế nó cho phép thi hành một cách đầy đủ các dịch vụ trên ISDN, mạng thoại thông minh và hỗ trợ các cuộc gọi di động của người có địa chỉ không cố định.
SIP cung cấp các khả năng sau:
- Định vị người dùng: cho phép xác định vị trí người dùng tiến hành hội thoại.
- Xác định phương thức giao tiếp và các tham số tương ứng cho hội thoại.
- Xác định những người sẵn sàng tham gia hội thoại.
- Thiết lập các tham số cần thiết cho cuộc gọi, giống như Q.931.
- Điều khiển cuộc gọi: bao gồm cả quá trình truyền và kết thúc cuộc gọi.
2.2.2.1. Cấu trúc của SIP
Các thành phần chính trong một hệ thống SIP được mô tả bởi hình 2.5.
Hình 2.5: Các thành phần của SIP
SIP là một giao thức Client – Server có nghĩa là các yêu cầu tạo ra từ một thực thể gửi (như Client) và gửi đến một thực thể nhận (như Server) để
xử lý. SIP cho phép hệ thống đầu cuối bao gồm giao thức Clienr và Server (gọi chung là Server đại diện người sử dụng). Các Server đại diện người sử dụng nói chung trả lời các yêu cầu trên cơ sở trao đổi của con người hoặc một vài kiểu đầu vào khác. Hơn nữa SIP yêu cầu có thể duyệt qua nhiều Proxy Server, một trong chúng nhận một yêu cầu và gửi nó theo bước nhảy đến Server tiếp theo, nó có thể là một Proxy Server hoặc Server đại diện người sử dụng cuối cùng. Một Server có thể đóng vai trò Server trung gian (Redirect Server), hoặc Client có thể liên lạc trực tiếp với nó. Một máy chủ có thể đóng vai trò cho Client và Server cho các yêu cầu giống nhau. Một kết nối được xây dựng bằng cách đưa ra một yêu cầu INVITE và loại bỏ bởi đưa ra một yêu cầu BYE.
Thành phần Chức năng
UAC (User Agent Client)
Người dùng tại các đầu cuối SIP, đưa yêu cầu SIP.
UAS (User Agent Server)
Nhận và đáp ứng yêu cầu SIP, chấp nhận, chuyển tiếp, hay từ chối cuộc gọi.
SIPTerminal Hỗ trợ truyền thông hai chiều thời gian thực với các thực thể SIP khác. Cũng giống như H.323 Terminal. Chứa UAC.
PS ( Proxy Server ) Liên lạc một hay nhiều client hay server kề với nó. Chuyển yêu cầu cuộc gọi đi xa hơn. Chức UAC và UAS.
RS ( Redirect Server ) Trả về địa chỉ người dùng khi được yêu cầu.
LS ( Location Server ) Cung cấp thông tin về địa chỉ có thể có của người gọi cho Redirect và Proxy Server. Nó có thể nằm chung với SIP Server.
Bảng 2.1: Chức năng các thành phần của kiến trúc SIP
SIP là giao thức dạng text sử dụng bộ ký tự ISO 10646 trong mã hóa UTF-8. Điều này tạo cho SIP tính linh hoạt và mở rộng, dễ dàng thi hành các ngôn ngữ lập trình cấp cao như Java, Tcl, Perl. Cú pháp của nó gần giống với giao thức HTTP, cho phép dùng lại mã và đơn giản hóa sự liên kết của các máy phục vụ SIP với các máy phục vụ Web.
Thông điệp SIP được chia làm hai loại:
SIP – message = Request / Response
Request
Một tiêu đề yêu cầu SIP có cấu trúc:
Method Request URI SIP version
Trong đó, SIP định nghĩa sáu yêu cầu:
Mã trạng thái Ý nghĩa
INVITE Mời thành viên tham gia hội thoại.
ACK Yêu cầu xác nhận đã nhận được đáp ứng chấp nhận(OK) cho yêu cầu INVITE.