Các thủ tục báo hiệu cuộc gọi của H.323

Một phần của tài liệu đồ án kỹ thuật viễn thông Dịch vụ VoIP và giải pháp nâng cao chất lượng dịch vụ thoại trong mạng NGN (Trang 40 - 50)

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: (adsbygoogle = window.adsbygoogle || []).push({});

- Đị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. (adsbygoogle = window.adsbygoogle || []).push({});

OPTIONS Hỏi khả năng của máy phục vụ SIP.

BYE Yêu cầu giải phóng cuộc gọi.

CANCEL Hủy bỏ yêu cầu sắp được thực hiện với cùng giá trị

trong các trường Call – ID, To, From, CSeq của yêu cầu đó bằng cách ngừng quá trình tìm kiếm, báo hiệu.

REGISTER Đăng ký danh sách địa chỉ liên hệ của người dùng với

máy phục vụ.

Bảng 2.2: Các yêu cầu SIP

Trường Request – URI có khuôn dạng theo SIP URL và có thể được ghi lại trong trường hợp máy phục vụ ủy quyền, trường SIP Version chỉ phiên bản SIP được sử dụng.

Đáp ứng bản tin SIP dựa trên sự chấp nhận và dịch các yêu cầu. Chúng dùng để chỉ thị cuộc gọi thành công hay thất bại, bao gồm cả trạng thái của server.

Các đáp ứng SIP có tiêu đề theo khuôn dạng sau:

SIP version Status code Reason phrase

Phiên bản SIP/2.0 đưa ra bảng mã mở rộng và chức năng tương ứng cho các đáp ứng được mô tả dưới đây:

Mã trạng thái Ý nghĩa

1xx Tìm kiếm, báo hiệu, sắp xung đợi.

2xx Thành công.

3xx Chuyển tiếp yêu cầu.

4xx Lỗi phía người dùng.

5xx Lỗi phía máy phục vụ.

6xx Lỗi chung: đường dây đang bận, từ chối,…

Bảng 2.3: Các đáp ứng SIP

Ngoài ra, thành phần tùy chọn Reason phrase chú thích mã trả về tương ứng là đáp ứng gì.

2.2.2.3. Hoạt động của SIP

a. Quá trình định vị tới máy phục vụ SIP

Khi một người (UAC) muốn gửi yêu cầu kết nối tới một người khác thì yêu cầu được gửi tới PS hoặc gửi địa chỉ và cổng cho trường Request – URI với cổng mặc định là 5060 và giao thức vận chuyển là UDP và sau đó là TCP. Quá trình tìm kiếm địa chỉ máy phục vụ SIP diễn ra như sau: UAC gửi yêu cầu tới máy phục vụ tương ứng, máy phục vụ lấy thông tin trong trường Request – URI để lấy được địa chỉ cần tìm.

Nếu trường host trong Request – URI là địa chỉ IP thì UAC sẽ liên lạc với máy phục vụ qua địa chỉ này, nếu không thì nhảy sang bước tiếp theo.

UAC hỏi địa chỉ IP của máy phục vụ qua máy phục vụ tên miền (Domain Name System Server). DNS Server trả về một danh sách tương ứng thông tin đăng ký của người đó.

Việc lựa chọn một trong các địa chỉ trong danh sách này là hoàn toàn tùy ý.

b. Giao dịch SIP

Khi đã có địa chỉ IP, yêu cầu được gửi đi theo tầng vận chuyển là TCP hay UDP. Các đáp ứng cho một yêu cầu phải chứa cùng các giá trị trong trường Call – ID, From, To, CSeq. Mỗi cuộc gọi trong SIP được định danh nhất bởi bộ định danh cuộc gọi (Call – ID). Yêu cầu được gửi từ đâu (From), đến đâu (To). Trường From và To đều theo khuôn dạng SIP URL. Trường CSeq lưu thông tin về phương thức sử dụng trong phiên đó.

c. Lời mời SIP (adsbygoogle = window.adsbygoogle || []).push({});

Đây là hoạt động diễn ra thường xuyên nhất, INVITE mời thành viên tham gia hội thoại, đáp ứng chấp nhận là 200 (OK). Thông điệp này còn chứa thành phần mô tả phiên (SDP) và phương thức tiến hành trao đổi ứng với phiên đó.

Hình 2.6: Sự hoạt động của trường hợp Proxy Mode

Proxy Server (PS) tiếp nhận lời mời

PS tra cứu thông tin ở dịc vụ định vị ngoài SIP PS nhận về thông tin để tạo ra địa chỉ chính xác

PS tạo lại INVITE trong trường Request – URI và chuyển tiếp UAS của người được gọi cảnh báo tới anh ta

PS nhận đáp ứng chấp nhận 200 OK

PS trả về kết quả thành công cho người gọi Người gọi gửi thông báo xác nhận ACK Yêu cầu xác nhận được chuyển tiếp qua PS Trường hợp máy phục vụ gián tiếp (RS) hình 2.7.

Sự khác biệt với PS là ở chỗ, RS không chuyển tiếp yêu cầu mà nó gửi trả về cho UAC, UAC gửi lời mời trực tiếp với trường Request – URI được xây dựng lại.

Hình 2.7: Sự hoạt động của trường hợp Redirect mode

2.2.2.4. Đánh giá SIP

SIP là giao thức đề cử được tổ chức IETF đưa ra. Nó ra đời với mục đích đơn giản hóa cơ chế báo hiệu và điều khiển cuộc gọi cho VoIP. SIP là giao thức dạng text, các lệnh SIP có cấu trúc đơn giản để các thiết bị đầu cuối dễ dàng phân tích và sửa đổi.

Ưu điểm của SIP:

Tính mở rộng một cách tự nhiên của giao thức cho phép dễ dàng định nghĩa và thi hành trong tương lai. Cho phép tạo các thiết bị đầu cuối một cách đơn giản và dễ dàng mà vẫn đảm bảo chi phí thấp.

Nhược điểm của SIP:

- SIP là giao thức rất mới, cần được tiếp tục hoàn thiện: Nó chỉ đề cập tới một phạm vi hẹp trong toàn bộ phiên truyền thông nên cần phải được kết hợp với các giao thức khác trong quá trình xây dựng một hệ thống hoàn chỉnh.

- Khả năng giao tiếp với mạng chuyển mạch kênh kém.

Một phần của tài liệu đồ án kỹ thuật viễn thông Dịch vụ VoIP và giải pháp nâng cao chất lượng dịch vụ thoại trong mạng NGN (Trang 40 - 50)