Với chuyển mạch mềm, khả năng hỗ trợ đầu cuối đơn giản hơn nhiều. Các giao diện thuê bao có thể cho phép sử dụng các đầu cuối điện thoại truyền thống, quay số theo phương pháp thông thường. Ở đây truy vấn ENUM và việc thiết lập cuộc gọi dựa trên các thông tin dịch vụ từ ENUM đều do chuyển mạch mềm thực hiện như trên hình vẽ.
Sử dụng chuyển mạch mềm cho phép tích hợp ENUM vào hệ thống chuyển mạch sẵn có một cách đơn giản và hiệu quả, trong suốt đối với người sử dụng.
3.1.3. Các kiến trúc hệ thống
a. Xây dựng các ứng dụng nhúng trung gian9
Trong môi trường hỗn hợp, khi ENUM chưa phát triển rộng rãi và các ứng dụng hỗ trợ ENUM chưa được phát triển nhiều thì việc xây dựng các giải pháp plugin có khả năng giải quyết được vấn đề một cách tương đối hiệu quả.
DNS Web, email Fax VoIP Chương trình nhúng (plugin) Người gọi Tài nguyên của số bị gọi Web , em ail Fax VoIP
Hình 22. Kiến trúc hệ thống sử dụng chƣơng trình nhúng để triển khai ENUM
Chương trình nhúng đơn giản là một chương trình có giao diện tích hợp phù hợp với các nhu cầu thơng tin của người sử dụng. Ở mơ hình đơn giản nhất, chương trình chỉ cần có hộp nhập cho phép người sử dụng nhập vào số ENUM bị gọi (ta giả sử là số điện thoại). Chương trình sẽ thực hiện truy vấn ENUM và xử lý các bản ghi trả về. Thơng qua các nút kích hoạt, hoặc các hypertext link, người dùng có thể truy nhập tới các tài nguyên thông tin thơng qua việc kích hoạt chương trình truyền thống thường dùng. Ví dụ nếu dữ liệu trả về có địa chỉ trang chủ Web thì người sử dụng có thể gọi chương trình Web browser thường dùng bằng cách nhấn vào nút tương ứng trong ứng dụng.
Ở chế độ trong suốt hơn, ứng dụng plugin có thể được thiết kế chạy ngầm trên hệ thống. Từ đó bất kỳ truy vấn nào có địa chỉ định dạng theo dạng quy ước (chẳng
hạn có dạng E.164 như +8445564944) sẽ được chương trình plugin bắt giữ và xử lý trước. Truy vấn ENUM được thực hiện và tùy theo ứng dụng đang sử dụng, plugin sẽ trả về địa chỉ tài nguyên của người bị gọi. Ứng dụng truyền thống sẽ thực hiện tiếp với địa chỉ hợp lệ này. Chế độ này thân thiện nhất đối với người dùng nhưng khó thực hiện hơn do chương trình plugin phải tương thích với từng chương trình ứng dụng khác nhau như Outlook Express, các trình duyệt Netscape, IE, Firrefox,...
Hiện tại, trong mơ hình triển khai thử nghiệm ENUM, nhiều quốc gia cũng chọn giải pháp plugin này để Demo khả năng của ENUM. Ví dụ như:
- SIP user agent của Ubiquity (http://www.sipcenter.com).
- AOSA telecom ENUM client (http://www.aosa.at/de/pages/1_4_0.htm)
- Kapsch Carriercom ENUM client software
(http://www.kapsch.net/CarrierCom/de/4627_DEU_HTMLExtranetCD.ht m).
- KRNIC ENUM browser (http://enum.or.kr).
- ...
b. Xây dựng chuyển mạch mềm hỗ trợ ENUM
Hướng quan trọng nhất trong các hướng phát triển ENUM là xây dựng các chuyển mạch hỗ trợ ENUM. Việc đưa ENUM vào các tổng đài sẽ giải quyết được hoàn toàn các vấn đề kỹ thuật gặp phải trong quá trình triển khai. Tuy nhiên để đưa được ENUM vào hỗ trợ trong các tổng đài cần có nhiều điều kiện:
- Tổng đài phải hỗ trợ đa dịch vụ, đặc biệt là hỗ trợ cả dịch vụ thoại thơng
thường, phải có khả năng phân hoạch số thoại theo các tiêu chuẩn thông thường (theo E.164).
- Tổng đài phải có kết nối Internet để hỗ trợ truy vấn ENUM.
- Tổng đài có thể hỗ trợ trực tiếp các chuẩn VoIP, trong trường hợp này mơ
hình tích hợp trở nên đơn giản và dễ triển khai nhất.
Qua các điều kiện trên, có thể thấy ENUM có thể được đưa vào tích hợp trong chuyển mạch mềm một cách khá đơn giản, còn với các chuyển mạch truyền thống thì tương đối khó khăn, thường phải thực hiện thông qua các gateway trung gian là các chuyển mạch mềm khác.
Kiến trúc của một hệ thống chuyển mạch mềm thông dụng được mô tả như sau
Service authoring 3rd Party applications Application server
Service control
point (SCP) Access control Service session
Service mediation
Unified database
Wireless switch Softswitch SIP proxy
Media gateway Media server
Wireless access PSTN access ADSL access Cable
access IP access Backbone
Wireless phones POTS/ISDN phones H.323 phones SIP phones Soft phones PDA M a n a g e m e n t Applications Services Controls Media Transport End users
Hình 23. Kiến trúc của một Softswitch hỗ trợ đa dịch vụ
Có thể thấy nền tảng báo hiệu của 1 hệ thống chuyển mạch mềm đang được chuyển sang sử dụng SIP. Các điểm chuyển mạch thành phần hỗ trợ SIP được xây dựng và thêm vào như các thành phần bổ trợ, các giao diện ứng dụng khác nhau. Hiện nay các chuẩn giao tiếp giữa các thành phần của hệ thống thông qua SIP đã và đang tiếp tục được chuẩn hóa. Có thể kể đến:
- Ngơn ngữ xử lý cuộc gọi CPL (Call processing language).
- SPIRIT (Services in the PSTN/IN Requesting Internet Services).
- PINT (PSTN/Internet Internetworking).
- JAIN (Java APIs for Integrated Networks).
- OSA/Palay (Hệ giao diện lập trình API hỗ trợ mạng hội tụ).
Các chuẩn giao tiếp giữa các phân lớp của chuyển mạch mềm thế hệ mới có thể tham khảo ở các cơng trình nghiên cứu về SIP khác và không phải là nội dung được đề cập kỹ trong luận văn này.
Các khối quản lý (management), dịch vụ (services) cần sửa đổi để hỗ trợ ENUM như 1 dạng địa chỉ hợp nhất. Các thao tác trên cơ sở dữ liệu hợp nhất trước đây được chuyển thành các truy vấn DNS, Directory... tương ứng. Việc sửa đổi này thường rất đơn giản, đôi khi chỉ là thêm 1 module xử lý bổ sung và sửa đổi vài dịng cấu hình (xem phần thử nghiệm thực tế với Asterik softswitch).
Để hỗ trợ ENUM, chuyển mạch mềm phải được đặt ở biên giới kết nối giữa PSTN và Internet, hoặc phải có kênh Internet dành riêng (do truy vấn ENUM là truy vấn qua Internet), ngoài ra các quy hoạch đánh số nội bộ phải tương thích và tương ứng với các bản ghi NAPTR trong DNS tương ứng.
3.1.4. Lựa chọn ứng dụng thực hiện thử nghiệm
Qua các trình bày ở trên, ta có thể thấy rằng đối với các hệ thống ứng dụng Internet, việc phát triển thêm các công cụ để hỗ trợ ứng dụng ENUM là dễ dàng vì các lý do sau:
- ENUM dựa trên nền DNS, là một thủ tục tiêu chuẩn đã rất phát triển. Các
module xử lý truy vấn DNS là các module tiêu chuẩn có sẵn trong hầu hết các cơ sở hạ tầng phát triển ứng dụng. Do đó việc hỗ trợ truy vấn ENUM qua các dạng bản ghi của DNS có thể dễ dàng đưa vào ứng dụng thực tế.
- Việc xử lý địa chỉ để truy vấn ENUM là đơn giản vì địa chỉ đầu vào chỉ
đơn thuần là số điện thoại theo chuẩn E.164 bao gồm các ký tự số và các dấu +/- .
- Thuật toán chuyển đổi E.164 - ENUM DNS là đơn giản như đã mô tả ở
- Việc xử lý dữ liệu trả về tương tự việc xử lý các dạng dữ liệu truy vấn DNS khác (các dạng bản ghi mail, web, NS,..). Kết quả thu được có thể được lấy làm đầu vào cho các ứng dụng cũ đã phát triển.
Do đó các thư viện lập trình ứng dụng có thể dễ dàng xây dựng để làm cơ sở nền tảng cho phát triển ứng dụng hỗ trợ ENUM.
Bên cạnh đó, trong mơ hình kiến trúc chuyển mạch mềm thế hệ mới, cơ sở dữ liệu địa chỉ là một thành phần cơ bản quan trọng. Có nhiều phương pháp để xây dựng một cơ sở dữ liệu địa chỉ thống nhất (unified database) tuy nhiên phương pháp sử dụng SIP có ưu điểm là các địa chỉ SIP thường có dạng URI như địa chỉ Email và Web nên dễ triển khai như các dịch vụ Internet khác. Như vậy, các ứng dụng hội tụ viễn thông và Internet sử dụng giải pháp tích hợp ENUM-DNS có thể triển khai ngay trong bước đầu sẽ bao gồm:
- Hệ thống trình duyệt (web browser) hỗ trợ ENUM.
- Hệ thống truyền file (file transfer) hỗ trợ ENUM.
- Hệ thống VoIP (SIP) hỗ trợ ENUM.
- Hệ thống Email hỗ trợ ENUM.
- Hệ thống nhắn tin tức thời (IM) hỗ trợ ENUM.
Trong phạm vi nghiên cứu của một đề tài, để minh chứng cho tính khả thi của việc triển khai thực tế ENUM trên hạ tầng hiện có tại Việt Nam, luận văn sẽ tập trung đi sâu vào việc xây dựng hai ứng dụng thử nghiệm ở mức tối thiểu:
1- Xây dựng một hệ thống VoIP có sử dụng công cụ là một tổng đài chuyển mạch mềm hỗ trợ ENUM.
2- Xây dựng một chương trình thường trú trong một trình duyệt Web để hỗ trợ truy nhập Website thơng qua số ENUM.
Ngồi ra, trong phần kết quả hoạt động của các hệ thống thử nghiệm, luận văn cũng sẽ nêu lại một kết quả thử nghiệm trên mạng diện rộng quốc tế đã được công bố do Trung Quốc và Đài Loan phối hợp thực hiện nhằm khẳng định khả năng đáp ứng các ứng dụng thực tế của mơ hình tích hợp ENUM-DNS này.
Tuy nhiên, cũng giống như các chuẩn URI khác, về lâu dài nếu ENUM phát triển, có khả năng các hệ thống ứng dụng trong tương lai sẽ hỗ trợ ENUM ngay ở đầu vào, và như vậy việc triển khai sau này sẽ dễ dàng hơn nhiều.
3.2. Thực hiện các hệ thống thử nghiệm
3.2.1. Cấu hình cho DNS để thực hiện các hệ thống thử nghiệm ENUM
Do ENUM được thiết kế với tiêu chí xây dựng một hệ thống sử dụng dịch vụ DNS sẵn có nên về mặt thủ tục nó hồn tồn tương thích với thủ tục DNS thịnh hành. Việc đưa các dữ liệu ENUM vào DNS không hề gây ra vấn đề khó khăn nào về cấu hình của DNS, các phần mềm DNS đều có thể được sử dụng để cung cấp dịch vụ truy vấn ENUM. Tuy vậy, để có thể triển khai ENUM trên diện rộng, cần phải quan tâm đến 2 vấn đề:
- Hiệu năng hệ thống DNS khi số truy vấn tăng cao (do mọi giao dịch sử
dụng ENUM đều dẫn đến truy vấn DNS).
- Vấn đề an ninh mạng đối với dữ liệu và các truy vấn.
Để có thể xác định mức độ đáp ứng của phần mềm DNS với yêu cầu của ENUM, hệ thống thử nghiệm được xây dựng với 2 phần mềm DNS thông dụng nhất hiện nay: phần mềm BIND của ISC và PowerDNS của PowerDNS BV. Trong đó BIND hiện là phần mềm được sử dụng cho khoảng 70% số máy chủ DNS trên Internet.
Cấu hình phần mềm BIND được sử dụng trong thử nghiệm như sau. File named.conf: options { //dns1.vnnic.net.vn server directory "/var/named/"; pid-file "/etc/named.pid"; version "Hum....m"; allow-transfer { 203.119.8.105; }; zone "." in { type hint;
file "vn.cache"; }; zone "0.0.127.in-addr.arpa" in { type master; file "vn.127.0.0"; }; zone "vnnic.net.vn" in { type master; file "vnnic.root"; }; zone "e164.vn." in { type master; file "e164.vn.root"; }; zone "4.8.e164.vn." in { type master; file "mobile-e164.vn.root"; }; File mobile-e164.vn.root: $TTL 86400;
@ IN SOA dns2.vnnic.net.vn. postmaster.vnnic.net.vn. ( 2001062901 10800 3600 604800 86400 ) IN NS voip.vnnic.net.vn. $ORIGIN 4.8.e164.vn.
IN NAPTR 100 10 "u" "E2U+http" "!^.*!www.vnnic.net.vn!" . IN NAPTR 100 10 "u" "E2U+mail" "!^.*!tantm@vnnic.net.vn!" . IN NAPTR 100 10 "u" "E2U+mobile" "!^.*!mobile:84491391440!" . IN NAPTR 100 10 "u" "E2U+tel" "!^.*!tel:8448437868!" .
IN NAPTR 100 10 "u" "E2U+sip" "!^.*!sip:100@voip.vnnic.net.vn!" .
IN NAPTR 100 10 "u" "E2U+sip" "!^\\+849(.*)$!sip:\\1@sipgateway.vnnic.net.vn!". IN NAPTR 100 10 "u" "E2U+sip" "!^\\+841(.*)$!sip:\\1@voip1.vnnic.net.vn!" . IN NAPTR 100 10 "u" "E2U+sip" "!^\\+847(.*)$!sip:\\1@voip2.vnnic.net.vn!" . IN NAPTR 100 10 "u" "E2U+sip" "!^\\+844(.*)$!sip:\\1@sipgateway.vnnic.net.vn!".
Máy chủ DNS quản lý số điện thoại mã quốc gia 84. Khi có truy vấn tên miền ENUM (truy vấn các số điện thoại đã được chuyển đổi sang tên miền), máy chủ DNS sẽ thực hiện truy vấn cơ sở dữ liệu và tìm kết quả tương ứng.
Khi người dùng truy vấn số E.164 từ một trình duyệt Web sẽ có kết quả trả về là
địa chỉ Website đã được khai báo tương ứng số E.164 đó ("http+E2U"). Ví dụ
khi truy vấn Web vào số E.164 là +8445564951 kết quả trả về sẽ là http://www.vnnic.net.vn.
Khi người dùng truy vấn số E.164 từ phần mềm thư điện tử (chẳng hạn như Outlook Express) sẽ có kết quả trả về là địa chỉ thư điện tử của chủ nhân số ENUM tương ứng đã được khai báo ("mail+E2U"). Ví dụ khi đưa vào địa chỉ nơi nhận thư số E.164 là 8445564951 (To: +8445564951), kết quả hệ thống DNS sẽ trả về URL là mailto:tantm@vnnic.net.vn.
Khi người dùng truy vấn số điện thoại +849xxxxx sẽ có kết quả là địa chỉ SIP
như sau: Sip:xxxxxx@sipgateway.vnnic.net.vn. Như vậy nếu
người dùng gọi điện vào mạng di động thì sẽ được chuyển đến SIP gateway để đi ra mạng PSTN.
Ví dụ khi ta gọi điện đến số điện thoại di động +84913091440, DNS server sẽ cho biết để gọi điện được đến số điện thoại này ở mạng PSTN cần kết nối đến địa chỉ Sip:913091440@sipgateway.vnnic.net.vn.
Khi người dùng truy vấn số điện thoại +841xxx thì sẽ có kết quả là địa chỉ SIP như sau: sip:xxxxxx@voip1.vnnic.net.vn. Như vậy người dùng truy vấn số điện thoại +841xxx là các số được gán cho người dùng sử dụng softphone sẽ được chuyển đến máy chủ PBX.
Ví dụ khi ta gọi điện đến số điện thoại softphone (841100), DNS server sẽ cho biết để gọi điện được đến số điện thoại này ở mạng PSTN cần kết nối đến địa chỉ
Sip:100@voip1.vnnic.net.vn.
Khi người dùng truy vấn số điện thoại 847xxxxx thì sẽ được trả lại địa chỉ SIP như sau: sip:xxxxxx@voip2.vnnic.net.vn. Như vậy người dùng truy
vấn số điện thoại 847xxx là các số được gán cho người dùng sử dụng softphone sẽ được chuyển đến máy chủ PBX.
Ví dụ khi ta gọi điện đến số điện thoại softphone (847700), DNS server sẽ cho biết để gọi điện được đến số điện thoại này ở mạng PSTN cần kết nối đến địa chỉ
Sip:700@voip2.vnnic.net.vn.
3.2.2. Hệ thống VoIP sử dụng tổng đài chuyển mạch mềm hỗ trợ ENUM
Hệ thống thử nghiệm sử dụng máy chủ IBM PC chạy hệ điều hành Redhat Linux. Phần mềm PBX được sử dụng là phần mềm mã nguồn mở Asterisk, sử dụng cùng module hỗ trợ ENUM.
Để kết nối với PSTN, 1 router Cisco 3725 có sử dụng giao tiếp FXO và phần mềm voice được kết nối thông qua tổng đài nội bộ PSTN PBX.
Phần mềm Asterisk là phần mềm tổng đài chạy trên hệ điều hành Linux. Asterisk có đầy đủ tính năng của một tổng đài cho hệ thống thoại VOIP. Tổng đài Asterisk hỗ trợ truyền tín hiệu thoại qua mạng IP theo các giao thức H323, SIP… Ngoài ra tổng đài Asterisk cho phép ghép kênh theo thời gian TDM để truyền tín hiệu thoại từ mạng VOIP sang mạng PSTN. Các thành phần hệ thống được mơ tả trong sơ đồ thử nghiệm sau:
Hình 24. Sơ đồ thử nghiệm tổng đài chuyển mạch mềm Asterisk
* Cấu hình của hệ thống tổng đài Asterisk
+ Cấu hình các User đăng ký cho dịch vụ SIP
; SIP Configuration for Asterisk ;
[general]
port = 5060 ; Port to bind to bindaddr = 203.162.57.157 ; Address to bind to localnet = 203.162.57.144 ; Internal NETWORK address localmask = 255.255.255.240 ; Internal netmask
context = default ; Default for incoming calls
srvlookup = yes ; Enable SRV lookups on outbound calls [100]
type=friend username=100 secret=100
host=dynamic
qualify=200 ; Qualify peer is no more than 200ms away defaultip=203.162.57.189 [101] type=friend username=101 callerid secret=101 host=dynamic nat=yes defaultip=203.162.57.179 [102] type=friend username=102 callerid secret=102 nat=yes host=dynamic ;defaultip=203.162.57.158
+ Cấu hình để thực hiện các cuộc gọi
exten => _847Xxx,1,EnumLookup(${EXTEN}) exten => _847Xxx,2,Dial(${ENUM},90) exten => _849XXxxxxxx,1,EnumLookup(${EXTEN}) exten => _849XXxxxxxx,2,Dial(SIP/909${ENUM:4},30) exten => _844XXxxxxx,1,EnumLookup(${EXTEN}) exten => _844XXxxxxx,2,Dial(SIP/9${ENUM:4},30) exten => _841XXX,1,EnumLookup(${EXTEN}) exten => _841XXX,2,Dial(${ENUM},30)
+ Hoạt động của tổng đài Asterisk
Theo cấu hình trên, các điện thoại VOIP (softphone) có số điện thoại 1xx sẽ được kết nối với tổng đài Asterisk.
Khi tổng đài nhận được các tín hiệu về số điện thoại bị gọi có dạng 844xxxxxxxxx, 849xxxxxxxxx, 844xxx tổng đài sẽ thực hiện truy vấn ENUM tại hệ thống DNS. Kết quả thu được sẽ là số điện thoại theo dịch vụ SIP.
Tổng đài sẽ thực hiện kết nối theo giao thức Sip với địa chỉ có được khi truy vấn hệ thống ENUM.
+ Cấu hình và hoạt động của Router gateway