Đặt vấn đề Trang 2 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS. Lưu Thanh Trà CHƯƠNG 2. MÔ HÌNH VOIP Trong chương này, chúng tôi đề cập tới khái niệm và kiến trúc của một hệ thống VoIP.
Sau đó sẽ liệt kê môt số mô hình hệ thống VoIP thông dụng nhất bao gồm, mô hình VoIP cho Doanh nghiệp vừa và nhỏ, mô hình VoIP cho Doanh nghiệp lớn hay các ISP. Trong chương này, chúng tôi ũng c s o sánh sự khác biệt giữa các mô hình. Từ đó có cái nhìn t ổng quát về một hệ thống VoIP và hướng tới mô hình thiết kế của đề tài này.1 Giới thiệu VoIP hay cònđư ợc gọi dưới các tên khác như: Internet Telephony, IP Telephony, Broadband Telephony, Broadband Phone và Voice over Broadband. VoIP là ứng dụng truyền thoại thời gian thực trên nền Internet bằng các kết nối IP.
Trong đó các tín hiệu âm thanh tương tự được lấy mẫu để chuyển đổi thành tín hiệu số. Các tín hiệu này sau đó sẽ trở thành dữ liệu gói trên nền internet như các dữ liệu thông thường, các dữ liệu này được nén, mã hóa cho phù hợp với ứng dụng thoại và được chuyển đến đầu cuối. Khi thiết bị đầu cuối nhận được các dữ liệu gói này sẽ chuyển ngược trở lại thành tín hiệu thoại như ứng dụng thoại tương tự thông thường. Các giao thức báo hiệu thường được sử dụng trong hệ thống VoIP là H.
Trong khi giao thức truyền tải trong mạng VoIP thường được sử dụng là RTP (Real-Time Transport Protocol)/RTCP (Real-time Transport Control Protocol) [4].2 Kiến trúc hệ thống VoIP VoIP là hệ thống chuyển mạch mềm thường được xây dựng gồm các thành phần tiêu biểu sau [5]: Mô hình VoIP Trang 3 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS. Lưu Thanh Trà Hình 2.1: Thành phần mô hình VoIP Trong đó các thành phần của hệ thống bao gồm: SIP Proxy: Là Server quản lý chuyển tiếp thiết lập cuộc gọi cho thuê bao (User) hay chuyển tiếp giữa các SIP proxy. User Provision: Giao diện thiết lập User hệ thống.
PSTN Gateway: Giao tiếp của hệ thống VoIP với PSTN. Nat Traversal: Giao tiếp hệ thống qua NAT. Acounting and CDR generation: Lưu nhật kí thoại và tính cước. Monitor Tool: Công cụ giám sát tài nguyên hệ thống.
Database: Server chuyên phục vụ cơ sở dữ liệu cho hệ thống như: thông tin User, thông tin cấu hình, thông tin cước….3 Giao thức trong VoIP Trong phần này chúng tôi giới thiệu về các giao thức báo hiệu và truyền tải được sử dụng trong hệ thống VoIP. Cụ thể, với giao thức báo hiệu ta đề cập tới giao thức SIP, trong khi giao thức truyền tải đề cập tới giao thức RTP/RTCP. Mô hình VoIP Trang 4 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS.1 Giao thức SIP 2.1 Giới thiệu chung SIP (Sessions Initial Protocol) [3] là một giao thức điều khiển và đã đư ợc chuẩn hóa bởi IETF (Internet Engineering Task Force) [23].
Nhiệm vụ của nó là thiết lập, hiệu chỉnh và xóa các phiên làm việc giữa người dùng. Các phiên làm việc cũng có thể là hội nghị đa phương tiên, cuộc gọi điện thoại điểm-điểm,….SIP được sử dụng kết hợp với các chuẩn giao thức IETF khác như là SAP (Session Advertisement Protocol) [6], SDP (Session Description Protocol) [7]. Các trường trong header của SIP tương tự của HTTP (Hypertext Transfer Protocol) [9] về cả cấu trúc và ngữ nghĩa. Nó bao gồm các yêu cầu được gởi đến từ người sử dụng SIP client đến SIP Server.
Server xử lý các yêu cầu và đáp ứng đến client. Một thông điệp yêu cầu, cùng với các thông điệp đáp ứng tạo nên sự thực thi SIP.2 Các thành phần của SIP SIP gồm 2 thành phần cơ bản là SIP client (là các thiết bị phần cứng hoặc phần mềm sử dụng giao thức SIP ví dụ như SIP phone…) và SIP Server (là các thiết bị được cài đặt để xử lý các bản tin SIP). Trong SIP Server có các thành phần quan trọng như: Proxy Server, Redirect Server, Location Server, Registrar Server. Proxy Server: là SIP Server thay mặt SIP client để chuyển tiếp các bản tin SIP tới thành phần khác trong hệ thống.
Như vậy, chức năng chính của nó trong mạng là định tuyến các bản tin SIP đến nơi yêu cầu. Proxy Server cũng cung cấp các chức năng xác thực trước khi thực hiện định tuyến cuộc gọi.2: Mô hình Proxy Server Mô hình VoIP Trang 5 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS. Lưu Thanh Trà Redirect Server: Là một thành phần trong hệ thống SIP Server, Server này sẽ trả về cho đối tượng phát bản tin SIP địa chỉ đích mà nó cần để nó tự liên lạc với đích trực tiếp.
Redirect Server cung cấp khả năng di chuyển vị trí cho người dùng.3: Mô hình Redirect Server Registrar Server: là Server nhận bản tin SIP REGISTER yêu cầu và cập nhật thông tin từ bản tin request vào “location database” nằm trong Location Server. Location Server: lưu thông tin trạng thái vị trí hiện tại của người dùng trong mạng SIP.3 Các bản tin SIP SIP là giao thức tiết lập phiên khá đơn giản được hình thành trên cơ s ở HTTP nên có cấu trúc khá đơn giản, các phần tử SIP giao tiếp với nhau thông qua các bản tin SIP đã được chuẩn hóa [RFC 3261]. Có hai loại bản tin trong SIP là bản tin yêu cầu (SIP Request) và bản tin đáp ứng (SIP Response). Bản tin yêu cầu: được gửi từ Client tới Server.
RFC 3261 định nghĩa 6 kiểu bản tin SIP Request cho phép User Agent (UA) và Proxy có thể xác định người dùng, khởi tạo, sửa đổi, hủy một phiên [3]: STT Bản tin Nội dung bản tin 1 INVITE Mời thực hiện cuộc gọi 2 ACK Xác nhận nhận gói thành công 3 BYE Kết thúc cuộc gọi 4 CANCEL Hủy cuộc gọi 5 REGISTER Đăng kí user lên proxy 6 OPTIONS Xác định năng lực máy chủ Mô hình VoIP Trang 6 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS. Lưu Thanh Trà Bảng 2.1: Bản tin SIP Request Cấu trúc bản tin SIP Request [3], gồm 3 phần: - Request-Line. - Headers: To:…, From:…, ….
- Body: SDP offer. Bản tin đáp ứng: Server gửi bản tin SIP response tới Client để báo về trạng thái của SIP Request mà Client gửi trước đó. Các SIP Response được đánh số từ 100 đến 699, được chia thành các lớp nghĩa khác nhau [3]: STT Mã bản tin Loại bản tin 1 1xx Các bản tin chung 2 2xx Các bản tin báo hiệu thành công 3 3xx Các bản tin chuyển địa chỉ 4 4xx Các bản tin thể hiện yêu cầu không được đáp ứng 5 5xx Các bản tin báo hiệu sự cố máy chủ 6 6xx Các bản tin báo hiệu sự cố toàn mạng Bảng 2.2: Bản tin SIP Response Cấu trúc bản tin SIP Response [3], gồm 3 phần: - Status-Line. - Headers: To:…, From:…, ….
- Body: SDP answer. Ý nghĩa của các trường trong phần Tiêu đề (Headers) của các bản tin SIP [3]: Tiêu đề SIP Mô tả From Thường là AOR (Address of Record) của người gửi. Nó bao gồm SIP hoặc SIPS URI (Uniform Resource Identifiers) và với tùy chọn tên được hiển thị. To Mô tả người nhận của bản tin SIP, AOR của người nhận.
Với chức năng forward hay redirect thì không ph ải là địa chỉ người nhận. Trường này giống trường From. Call-ID Định nghĩa series của bản tin SIP. Call-ID phải được xác định trong mọi bản tin SIP được gửi bởi tất cả các UA trong một dialog.
Cseq Chứa một giá trị nguyên và tên phương thức. Trường này dùng để xác định, sắp xếp, đánh dấu chuỗi SIP request trong một dialog. Cseq có thể khác nhau giữa bản tin được truyền lại và Mô hình VoIP Trang 7 HVTH: KS. Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS.
Lưu Thanh Trà truyền mới. Via Xác định đường đi được chỉ ra request và các response sẽ được gửi. Contact Chứa SIP hoặc SIPS URI của UA muốn nhận được SIP request mới. Allow Liệt kê tập các phương thức SIP được hỗ trợ bởi UA.
Supported Liệt kê tập các phần mở rộng của SIP hỗ trợ bởi UA. Require Trường này rất giống như trường Supported nhưng là của các UA ở xa cần thiết cho một transaction được xử lý. Content-Type Kiểu của phần thân của bản tin SIP (nếu có phần thân) Content-Length Kích thức của phần thân bản tin SIP. Trường này là bắt buộc khi bản tin SIP được truyền trên TCP.3: Các trường trong Tiêu đề bản tin SIP 2.4 Quy trình xử lý cuộc gọi SIP Quá trình xử lý của một Proxy Server: Proxy Server là SIP Server thay mặt SIP Client chuyển tiếp các bản tin SIP tới thành phần khác trong hệ thống.4: Quá trình xử lý cuộc gọi của Proxy Server Khi một user được khởi tạo (hoặc đã đư ợc khởi tạo nhưng khởi động lại) thì phải đăng ký với Registrar.
Khi user đang tồn tại trong hệ thống thì không cần phải đăng ký nữa. Hai user A và user B xét ở hình trên cùng một domain. Ngữ cảnh ở đây là user A gọi cho user B. Mô hình VoIP Trang 8 HVTH: KS.
Cao Hữu Thuyết Xây dựng hệ thống VoIP trả trước cho các nhà cung cấp dịch vụ CBHD: TS. Lưu Thanh Trà Hoạt động của Proxy Server trong trường hợp này được trình bày theo các bước: Bước 1: User B đăng kí đến Server Register, tại đây diễn ra quá trình xác thực thông tin đăng kí (giả sử user B mới khởi động). Bước 2: Server Register gởi toàn bộ thông tin đăng kí của user (username, ip, port, expire….) đến Location Server. Tại đây các thông tin sẽ được ghi vào Database để sử dụng khi cần thiết.
Bước 3: User A gọi User B bằng cách gởi gói tin INVITE đến Proxy Server. Bước 4: Proxy Server truy vấn (query) Location Server để lấy các thông tin cần thiết về user B. Bước 5: Location Server trả các thông tin cho proxy để proxy liên lạc với user B. Bước 6: Proxy Server relay gói tin INVITE cho user B.
Bước 7: Sau khi 2 bên đã đồng ý thiết lập hội thoại thì 2 bên sẽ nói chuyện với nhau thông qua giao thức RTP, Proxy không tham gia vào quá trình thoại nữa. Quá trình xử lý của Redirect Server: Server này sẽ trả về cho đối tượng phát bản tin SIP địa chỉ đích mà nó cần để nó tự liên lạc với đích trực tiếp. Xét ngữ cảnh user A muốn gọi user B theo hình dư ới, giả sử user B mới khởi động.