Thiết kế hệ thống Voice Mail

Một phần của tài liệu Nghiên cứu thiết kế hệ thống voice mail trên IMS1 (Trang 89)

Như mô tả phía trên ứng dụng này sẽđược thực hiện trên một hệ thống lớn hơn, do vậy

điều hết sức quan trọng là phải xác định được các yêu cầu của ứng dụng bằng các thực thể bao quanh để phù hợp với hệ thống lớn, nó liên quan đến cấu trúc của hệ thống

được thiết kế như thế nào, lựa chọn nguyên tắc thiết kế, các logic dịch vụ được lựa chọn, các phần tử trong hệ thống có vai trò, chức năng cụ thể như thế nào? Các giao thức thực hiện trong hệ thống để tương thích hoàn toàn với môi trường IMS, các giao diện với các khối để làm việc với IMS đó là những yêu cầu đặt ra khi thực hiện thiết kế

hệ thống. 3.2.1 Kiến trúc hệ thống IVR MEADIA GATEWAY CONTROLLER MEDIA GATEWAY MEDIA RESOUCE& FUNCTION (PLAYER, RECORDER) MESSAGING APPLICATION (SMS, Email..) CÁC KHỐI CHỨC NĂNG TRONG HỆ THỐNG VOICE MAIL FILE SERVER (DISK ARRAY) Hình 3.4 Sơ đồ khối chức năng hệ thống Voice Mail

Hình 3.4 trên mô tả sơ lược cấu trúc các khối chức năng của hệ thống cung cấp dịch vụVoice Mail dựa trên nền IMS, trong đó các thành phần chính cấu thành nên hệ thống cung cấp dịch vụ bao gồm các Media Gateway, Media Gateway Controller, hệ thống tương tác IVR, các ứng dụng tin nhắn Messaging Application, … Các khối chức năng

88

này sẽ tương tác với nhau cũng như với các thực thể bên ngoài như phần Mạng lõi SIP/IP (nền tảng IMS), các khối tính cước, khối quản lý tình trạng thuê bao.

Về mặt chức năng của hệ thống Voice Mail tương đối đơn giản, nó chỉ tương tác với phần lõi CSCF để thực hiện thiết lập , duy trì và kiểm soát cuộc gọi, do vậy 2 thành phần chính là MG và MGC. Vậy xét về mặt kiến trúc ta phải lựa chọn mô hình phù hợp nhất giữa MG và MGC để việc thực hiện các chức năng của hệ thống thực hiện hiệu quả và ổn định.

Về mặt kiến trúc hệ thống so với các mô hình hiện tại việc áp dụng kiến trúc chuyn mch mm là rt phù hp đối vi h thng cung cp dch v Voice Mail. Kiến trúc chuyển mạch mềm cho phép thực hiện chức năng xử lý liên quan đến dịch vụ thoại là chung nhất, do vậy các ứng dụng khác tương tự có thể sử dụng kiến trúc này đơn giản với rất ít sự thay đổi.

Kiến trúc chuyển mạch mềm liên quan đến việc tách riêng phần phần đường truyền kết nối lưu lượng thoại, các chức năng chuyển đổi ra khỏi chức năng báo hiệu và điều khiển cuộc gọi. Voice Server s có kiến trúc ca chuyn mch mm để tách riêng các chc năng x lý cuc gi vi chc năng báo hiu và điu khin cuc gi. Theo đó thực thể liên quan đến báo hiệu và điều khiển cuộc gọi được biết với tên gọi Media Gateway Controller – MGC, trong khi đó thực thể liên quan đến xử lý cuộc gọi là Media Gateway – MG. Kiến trúc trên có ưu điểm cho phép MGC có thểđiều khiển với nhiều hơn một MG, do đó có thể tăng lường dữ liệu được xử lý.

3.2.2 Erlang và nguyên tắc thiết kế của Erlang

Khi xem xét đến đòi hỏi về tính thời điểm hay khả năng xử lý nhiều tác nghiệp tại cùng một thời điểm, qua tham khảo tôi nhận thấy nhiều các ứng dụng sử dụng ngôn ngữ lập trình Erlang/OTP (Open Telecom Platform) và một số nguyên tắc thiết kế cơ bản của Erlang đã bao gồm các yếu tố như tính thời điểm, tính phân tán …Trong đó tính khả

89

trong việc tạo các tác nghiệp và thông tin giữa chúng. Erlang đòi hỏi môi trường xử lý trong thời gian thực. Open Telecom Platform là các thư viện được phát triển bởi hãng Ericsson AB, trong đó đã bao gồm rất nhiều các quy luật ứng xử, việc phát triển các dịch vụ trên nền trên cho phép thực hiện rất dễ dàng thông qua việc sử dụng các thư

viện trên. Rất nhiều các nhà nghiên cứu, sản xuất các thiết bị viễn thông đều cho phép bên thứ ba được sử dụng các tài nguyên trên để cùng tạo ra các sản phẩm dịch vụ tương tự như mô hình của Ericsson AB.

Với các ưu điểm trên, đơn giản trong thiết kế, mạnh về xử lý nhiều tác nghiệp cùng thời điểm, tôi đã lựa chọn thiết kế hệ thống theo Open Telecom Platform để áp dụng cho kiến trúc trong dịch vụ Voice Mail.

Nguyên tắc thiết kế của Erlang được xây dựng dựa trên khái niệm người thực hiện (workers) và người giám sát (supervisors), người thực thi thực hiện các công việc được chỉ định, người giám sát theo dõi các tác nghiệp của người thực hiện đó. Nếu như

người thực hiện gặp vấn đề thì người giám sát sẽ can thiệp để khởi động lại quá trình thực hiện đó.

Sơ đồ cấu trúc hình cây cho việc giám sát cho việc giám sát như hình vẽ 3.5 dưới đây, theo đó hình vuông là supervisors, hình tròn là worker, việc giám sát thực hiện có thể

90

Hình 3.5 Sơđồ cấu trúc hình cây trong Erlang

3.2.3 Logic dịch vụ

Nhưđã đề cập mục kiến trúc hệ thống, Voice Server được chia ra hai thành phần tách biệt là MGC, MG. MGC chứa toàn bộ logic dịch vụ. Chức năng chính của MGC là thiết lập và điều khiển cuộc gọi và thông báo khi có tin nhắn mới. Hai chức năng này tách biệt với nhau do vậy để có thể quản lý dễ dàng dịch vụ MGC lại được chia thành 2 module riêng, module logic cuộc gọi và module thực hiện chức năng thông báo. Hệ

thống giám sát được bổ sung thêm để quản lý các chức năng này, mỗi module sẽ được chia ra phần xử lý chính và một số bộ phận thực hiện như hình vẽ 3.6 và hình 3.7 dưới

91

Hình 3.6 Thiết kế cơ bản MGC

92

Khối xử lý logic cuộc gọi thường xuyên lắng nghe các bản tin SIP và H248/Megaco, khối chức năng xử lý thông báo lắng nghe các bản tin DIAMETER và khối chức năng MG xử lý các bản tin H248/Megaco. Ý tưởng là các khối chức năng chính sẽ lắng nghe các kết nối, một khi các kết nối được thiết lập, nó sẽ bắt đầu chỉ thị cho worker thực hiện xử lý các kết nối đó và tiếp tục lắng nghe thêm các kết nối mới. Ngoài ra vấn đề

lưu trữ các bản tin cũng được đặt ra, việc tích hợp khối chức năng này vào MG hay MGC, tuy nhiên sau khi xem xét việc thực hiện tích hợp với MG là khả dĩ và thuận tiện cho việc thực hiện nhất.

3.2.4 Các module hệ thống 3.2.4.1 MGC 3.2.4.1 MGC

MGC có các chức năng chính là thiết lập điều khiển cuộc gọi thông báo cho khách hàng khi có bản tin mới, thực hiện các kết nối tới CSCF qua giao thức SIP, và HSS qua giao thức Diameter Sh. MGC quản lý luồng ứng dụng và mô tả loc gíc ứng dụng của dịch vụ.

MGC liên quan đến việc làm thế nào để giải quyết việc thiết lập các phiên làm việc, khởi tạo các kết nối SIP, làm thế nào để kết nối với cơ sở dữ liệu khách hàng HSS để

lấy các thông tin về dữ liệu khách hàng, làm thế nào để hỗ trợ MG gửi các gói tin thời gian thực RTP, làm thế nào để gửi bản tin thông báo đến cho khách hàng, cũng như

việc lưu trữ các bản tin vào các máy chủ. Đó là các vấn đề đặt ra khi triển khai cụ thể. Thứ nhất để tích hợp hệ thống Voice Mail vào IMS và thiết lập các phiên làm việc với client, chồng giao thức SIP được thực hiện, theo RFC 3264 các giao diện SIP với MGC

được liệt kê chi tiết.

Ngoài ra MGC thực hiện kết nối và giao tiếp với MG thông qua giao thức Megaco/ H248 và duy trì cuộc gọi sau khi đã tiến hành xong việc thiết lập. MGC giao tiếp với HSS thông qua giao diện Diameter Sh giúp cho việc lấy các thông tin về khách hàng từ

93

HSS đồng thời cập nhật các trạng thái của thuê bao. Khi MGC nhận được thông báo từ

cơ sở dữ liệu HSS, nó sẽ gửi một bản tin SIP cho khách hàng đang ở trạng thái có mặt trên mạng. MGC là thành phần quan trọng nhất trong việc triển khai logic của dịch vụ.

94

3.2.4.2 MG

Media Gateway là một thành phần của AS cung cấp dịch vụ Hộp thư thoại cung cấp các chức năng đàm thoại (phần báo hiệu và điều khiển cuộc gọi do MGC đảm nhiệm) MG giao tiếp và được điều khiển bởi MGC thông qua giao thức Megaco/H248. Mặt khác MG xử lý các cuộc gọi hoặc các phiên yêu cầu thời gian thực giao thức RTP với các client như SIP phone.

MG liên quan đến việc làm thế nào để gửi hoặc nhận các luồng dữ liệu, làm thế nào để

khởi tạo, chỉnh sửa, xoá dữ liệu bao gồm cả làm việc với các định dạng cho luồng dữ

liệu, làm thế nào lấy dữ liệu hoặc lưu trữ dữ liệu trong ổ cứng lưu trữ.

Để đáp ứng yêu cầu gửi nhận các luồng dữ liệu, MG cần được triển khai chồng giao thức RTP đểđáp ứng các yêu cầu truyền nhận dữ liệu thời gian thực.

Để đáp ứng được yêu cầu khởi tạo, chỉnh sửa và xoá dòng dữ liệu được thực hiện bởi giao thức điều khiển H248/Megaco giữa MGC và MG. Yêu cầu này đòi hỏi cả khả

năng nói chuyện được với các định dạng dữ liệu khác nhau để có thể báo cáo các vấn

đề trong phạm vi dòng dữ liệu đó (ví dụ DTMF tone hoặc cuộc gọi kết hợp cùng báo hiệu). MG sẽ tựđộng thực hiện ngay khi MGC có yêu cầu đối với những yêu cầu khởi tạo, chỉnh sửa hoặc xoá mà MGC xác định được.

Đểđáp ứng yêu cầu về lấy dữ liệu hoặc lưu trữ dữ liệu trong ổ cứng lưu trữ, giải pháp thực hiện là tích hợp module quản lý clip được tạc bởi Mobile Arts với MG. Module quản lý clip là module thực hiện trong môi trường thời gian thực, xử lý dòng dữ liệu

đến và lưu trữ trong các ổ cứng với các số nhận dạng của clip (clip id) để thuận tiện cho việc quản lý, lưu trữ, khi truy vấn chỉ cần có thông tin về clip id là sẽ có thể lấy

được dữ liệu.

Ba yêu cầu trên được giải quyết giúp cho MG có thể thực hiện đúng chức năng được đề

ra và thực hiện được các yêu cầu từ MGC cũng như có thể gia tiếp được với các thành phần khác liên quan trong IMS.

95

3.2.5 Các giao thức

Một phần hết sức quan trọng trong việc thiết kế hệ thống đó là xem xét các giao thức sử dụng trong Voice Server cũng như Voice Server với bên ngoài. Ở đây các giao thức là cầu nối cho phép Voice Server tích hợp và làm việc trơn chu với các thành phần khác trong IMS để cung cấp dịch vụ cho khách hàng.

3.2.5.1 SIP/SDP

Giao thức khởi tạo phiên làm việc – SIP là giao thức điều khiển lớp ứng dụng cho phép khởi tạo, thay đổi các yêu cầu cũng như kết thúc các phiên làm việc. Khi kết hợp với giao thức SDP nó cho phép SIP/SDP rất linh hoạt khi đáp ứng các yêu cầu của giao tiếp của hệ thống.

Chồng giao thức SIP được sử dụng trong hệ thống Voice Mail và đóng vai trò như một UAS: User Agent Server để xử lý các cuộc gọi đến từ client. Nó đồng thời cũng xử lý các yêu cầu từ CSCF có vai trò như SIP proxy server.

User gửi bản tin Invite đến P-CSCF, bản tin này được chuyển qua S-CSCF đến Voice Mail System (VMS).

Sau khi nhận được INVITE, VMS dẽ gửi trả bản tin 100 TRYING quan CSCF đến tận user. Tiếp theo VMS sẽ gửi thông báo chuông code 180 cho user và gửi trả code 302 lý do lỗi cho user.

User sau khi nhận được các bản tin trên biết được các thông tin cần thiết, nó gưi trả bản tin ACK qua CSCF đến hệ thống VMS.

Hai bên gưi thông báo kết thúc BYE, và VMS gửi thông báo 200 OK kết thúc hoàn toàn quá trình trao đổi và thông tin giữa các thành phần liên quan đến dịch vụ.

3.2.5.2 DIAMETER Sh

Như đã trình bày tại chương 2, giao thức Diameter là giao thức liên quan đến việc chứng thực – Authentication, cấp quyền – Authorization và tính cước – Accounting và

được sử dụng hết sức rộng dãi trong nhiều công nghệ. Diameter là giao thức điểm điểm và chạy phía trên của giao thức TCP và SCTP.

96

Trong kiến trúc IMS với mục đích chứng thực – Authentication, cấp quyền – Authorization có 3 giao diện được sử dụng như hình 3.9 dưới đây

Hình 3.9 Giao diện giữa CSCF với HSS

Hệ thống Voice Mail đóng vai trò là Application Server kết nối với HSS qua giao diện Sh, quan hệ giữa VMS và HSS được thực hiện với Voice Mail đóng vai trò là client node trong khi HSS đóng vai trò là server node.

Giao diện Sh giữa VMS và HSS cung cấp chức năng thông báo và chức năng ghi nhận, khi đó hệ thống Voice Mail sẽ được thông báo khi người sử dụng online và hệ thống Voice mail ghi nhận lại sự thay đổi trạng thái của người sử dụng. Hệ thống Voice Mail cũng sẽ gửi tin nhắn cho người sử dụng khi có bản tin thoại mới và nhận được thông báo cập nhật thông tin trạng thái thuê bao từ HSS. Vậy HSS và Voice Mail sẽ thông tin với nhau như thế nào để hệ thống Voice Mail có thể thực hiện được các chức năng trên. Thực chất giữa HSS và Voice Mail thông qua giao diện Sh thực hiện một số lệnh có sẵn trong Diameter để giao tiếp với nhau như SNR (Subscribe Notification Request), SNA (Subscribe Notification Answer), PNR (Push Notification Request), PNA (Push Notification Answer). Hệ thống Voice Mail sẽ ghi nhận sự thay đổi dữ liệu của người sử dụng bằng cách gửi bản tin SNR tới HSS. Khi có sự thay đổi dữ liệu của người sử

97

dụng được lưu trong HSS và hệ thống Voice Mail đã được ghi nhận sự thay đổi dữ

liệu của người dùng HSS sẽ gửi bản tin PNR cho hệ thống Voice Mail như hình 3.10.

Hình 3.10 Bản tin SNR/SNA và PNR/PNA giữa HSS và VMS

3.2.5.3 Các giao thức khác

Thực tế trong quá trình nghiên cứu xem xét, các giao thức RTP/RTCP, H248/Megaco

đều có đóng góp và vai trò không thể thiếu trong việc thiết kế hệ thống Voice Mail cũng như xem xét việc tích hợp Voice Mail vào IMS. Tuy nhiên tác giả không đi sâu vào phân tích các giao thức trên.

3.3 Tiến trình cuộc gọi (Call flow) Voice Mail trên IMS

Để hiểu rõ hơn việc thực hiện một cuộc gọi trên nền tảng IMS, trong phần này chúng ta sẽ nghiên cứu kỹ hơn quá trình trao đổi bản tin giữa các thực thể trong mạng lần lượt qua các bước: Đăng ký thuê bao, tạo thiết lập cuộc goi giữa hai thuê bao, tạo thiết lập cuộc gọi giữa thuê bao chủ gọi với hệ thống Voice mail, quá trình trao đổi thông tin

98

giữa thuê bao chủ gọi với Voice mail (nghe lời chào từ hộp thư của người bị gọi và để

lại tin nhắn trong hộp thư), kết thúc phiên dịch vụ và giải phóng tài nguyên trên mạng. Trong đó sẽ tập trung phân tích 02 trường hợp, IMS client gọi IMS client được chuyển qua Voice Mail (do thuê bao bị gọi bận, không trả lời và đặt chế độ chuyển cuộc gọi vào hòm thư thoại) tương tự sẽ tập trung phân tích thuê bao PSTN gọi IMS client.

3.3.1 IMS client đăng ký dịch vụ

99

3.3.2 Trường hợp IMS client gọi IMS client

100

Hình 3.13 Báo hiệu giữa hai IMS Client với VMS (thuê bao tạm thời không liên lạc được)

101

102

Hình vẽ 3.12, 3.13, 3.14 mô tả tiến tình báo hiệu cuộc gọi giữa hai thuê bao IMS client và hệ thống Voice Mail trong các trường hợp thuê bao bị gọi bận, thuê bao bị gọi tạm thời không liên lạc và thuê bao bị gọi không trả lời.

Trình tự thực hiện như sau:

Một phần của tài liệu Nghiên cứu thiết kế hệ thống voice mail trên IMS1 (Trang 89)