Thứ Ba, 21 tháng 9, 2010

Ứng dụng hệ thống IP- PBX sử dụng mã nguồn mở ASTERISK

VoIP (Voice over Internet Protocol) là một trong các ứng dụng truyền thoại dựa trên nền IP. VoIP ra đời và được phát triển mạnh mẽ do các tính năng, tiện ích mà nó đem lại và giảm chi phí đầu tư ban đầu, khó khăn và cứng nhắc trong việc mở rộng và nâng cấp hệ thống... so với thoại chuyển mạch kênh.

1- Mở đầu

Cùng với sự phát triển về công nghệ thông tin, công nghệ IP (Internet protocol) đã cung cấp cho người sử dụng các dịch vụ và tiện ích ngày càng phong phú và đa dạng. Với giao thức IP, mạng Internet là sự phát triển vượt bậc kết nối các mạng máy tính trên phạm vi toàn cầu. Thông qua mạng Internet, người sử dụng có thể sử dụng rất nhiều dịch vụ và ứng dụng như web, mail, FTP, text chat, voice chat, video ….

VoIP (Voice over Internet Protocol) là một trong các ứng dụng truyền thoại dựa trên nền IP. VoIP ra đời và được phát triển mạnh mẽ do các tính năng, tiện ích mà nó đem lại và giảm chi phí đầu tư ban đầu, khó khăn và cứng nhắc trong việc mở rộng và nâng cấp hệ thống... so với thoại chuyển mạch kênh.

Asterisk là một sản phẩm phần mềm mã nguồn mở cung cấp miễn phí cho người sử dụng để xây dựng các ứng dụng VoIP hữu hiệu, tiết kiệm tối đa chi chí chi cho dịch vụ giao dịch, trao đổi thông tin, hai trong số các mối quan tâm hàng đầu mà bất cứ một người sử dụng nào cũng đều mong muốn đạt được.

2- Vài nét về ASTERISK

Asterisk là phần mềm thực hiện chức năng tổng đài điện thoại nội bộ (PBX), cho phép các máy điện thoại nội bộ (extension) thực hiện cuộc gọi với nhau và kết nối với các hệ thống điện thoại khác bao gồm cả mạng điện thoại thông thường (PSTN) và mạng VoIP, tính năng của tổng đài PBX thương mại: hộp thư thoại, hội đàm, hệ thống tương tác thoại, hỗ trợ nhiều giao thức VoIP như SIP, Gateway kết nối giữa các điện thoại IP và mạng PSTN.

Asterisk là phần mềm nguồn mở được viết bằng ngôn ngữ C chạy trên hệ điều hành Linux ra đời vào năm 1999 do Mark Spencer (Mỹ) phát triển. Nó thực hiện kết nối truyền thông bằng phần mềm thay vì phần cứng. Điều này cho phép các tính năng mới được thêm vào một cách nhanh chóng .

Phần mềm Asterisk được thiết kế dạng module .Các thành phần chức năng được thiết kế thành từng module riêng biệt và tách rời với phần chuyển mạch lõi. Một trong những điểm mạnh nổi bật của Asterisk là quản lý các máy nội bộ .Từng bước của cuộc gọi được định nghĩa như là một ứng dụng như quay số, trả lời, phát lại, hộp thư thoại… Ngoài ra việc tích hợp vào các ứng dụng như quản lý quan hệ khách hàng CRM (Customer Relationship Management) và hệ thống Outlook làm cho khả năng ứng dụng của Asterisk linh hoạt hơn, đáp ứng nhu cầu cần thiết cho người sử dụng điện thoại.
Các chức năng của Asterisk

Với chức năng chuyển mạch của một tổng đài IP PBX (hình 1), việc thực hiện chuyển mạch cuộc gọi giữa các máy điện thoại nội bộ với nhau và chuyển cuộc gọi (ra/vào) với các máy điện thoại bên ngoài thông qua đường trung kế. Ngoài ra còn có nhiều tính năng sử dụng cho nhiều mục đích khác nhau của khách hàng, các tính năng như tương tác thoại (IVR- Interactive Voice Response), Voicemail, phân phối cuộc gọi tự động (ACD-Automatic Call Distribution). Asterisk có thể chạy trên được nhiều hệ điều hành Unix khác nhau như Linux, Mac OS X, OpenBSD, FreeBSD, Sun Solaris…và cung cấp nhiều tiện ích và các tính năng mới của một tổng đài IP PBX. Kiến trúc Asterisk được thiết kế rất linh động, hỗ trợ nhiều giao thức VoIP khác nhau. Asterisk là một gateway, kết nối giữa các mạng PSTN với mạng IP, có chức năng chuyển đổi tương thích giữa các giao thức và mã hoá của các mạng khác nhau. Sau cùng Asterisk còn là một feature/media server và là hệ thống Call center với các tính năng linh động và mềm dẻo

Các tính năng của Asterisk
- Voicemail (Hộp thư thoại): cho phép nhận và lưu các tin nhắn thoại extension trong hệ thống, định hướng các cuộc gọi đến hộp thư thoại tương ứng đã khai báo trước mỗi khi đang bận, không trả lời hoặc không online; cho phép khai báo việc truy xuất vào hộp thư thoại bằng cách xác nhận mật khẩu hoặc được thông báo có thư mới qua email.
- Call Transferring (Chuyển cuộc gọi): cho phép thực hiện chuyển cuộc gọi sang một thiết bị đầu cuối khác như: một máy lẻ khác trong cùng hệ thống hoặc số điện thoại di động, cố định của mạng khác trong khi đang đàm thoại.
- Call Forwarding (Chuyển tiếp cuộc gọi): cho phép thực hiện chuyển tiếp cuộc gọi từ máy lẻ này đến 1 thiết bị đầu cuối khác như: máy lẻ trong cùng hệ thống hoặc số điện thoại di động, cố định của mạng khác trong các trường hợp: khi bận, khi không trả lời, khi không online, chuyển tức thời không điều kiện hoặc theo thời gian định trước.
- Time and Date: cho phép định hướng cuộc gọi đến một số điện thoại khác hoặc một chức năng cụ thể khác tuỳ theo từng thời điểm cụ thể đã được khai báo trước.
- Ngoài ra còn các chức năng: Call Parking; Interactive Voice Response (Chức năng tương tác thoại), Fax Transmit and Receive (Gửi, nhận fax), Conference Bridging (Cuộc gọi hội nghị), Caller ID (Hiển thị số gọi)…
Cấu trúc hệ thống Asterisk

Vì Asterisk được thiết kế dưới dạng module nên các thành phần chức năng được thiết kế theo từng module riêng biệt và tách rời với phần chuyển mạch lõi, điều này tạo khả năng dễ dàng điều chỉnh và mở rộng.
Cấu trúc hệ thống Asterisk bao gồm các khối chức năng:
- Chức năng Dynamic Module Loader (DML) thực hiện nạp driver của các thiết bị, nạp các kênh giao tiếp, các dạng format, code và các ứng dụng liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống;
- Chức năng PBX Switching Core; thực hiện chuyển cuộc gọi. Các cuộc gọi được chuyển mạch tuỳ theo kịch bản trong kế hoạch quay số (Dialplan) được cấu hình trong file extension.conf;
- Chức năng Application Launcher (AP): thực hiện cung cấp âm mời quay số, hồi âm chuông, định hướng cuộc gọi, kết nối đến hộp thư thoại;
- Chức năng Code Translator: hỗ trợ với nhiều chuẩn mã hoá khác nhau.
Ngoài ra còn nhiều chức năng khác.
Giao thức báo hiệu IAX (Inter-Asterisk Exchange):

Trong mạng IP, ngoài các giao thức báo hiệu thông dụng SIP, H323 còn có giao thức báo hiệu cho VoIP đó là IAX - Inter-Asterisk Exchange, thực hiện các chức năng kết nối các server Asterisk với nhau một cách dễ dàng và đơn giản.

Nếu SIP chuyển tải thoại và báo hiệu trên hai kênh khác nhau (out of band), thì IAX chuyển tải thoại và dữ liệu trên cùng một kênh (in band). IAX thông suốt với NAT (Network Address Translation) để cấp địa chỉ IP cho các máy con trong mạng LAN; Sử dụng băng thông hiệu quả với cơ chế trung kế (trunk). IAX cho phép nhiều gói dữ liệu thoại trên cùng một IP header, do đó tiết kiệm băng thông

Tóm lại, IAX tuy mục tiêu ban đầu được xây dựng để kết nối các máy chủ Astersik với nhau, chưa được chuẩn hoá và phổ biến rộng rãi nhưng đã khắc phục được các hạn chế của các giao thức khác với một số tính năng nượt trội như: Sử dụng băng thông hiệu quả; thông suốt với cơ chế NAT; dễ triển khai và mở rộng sau này.
Mô hình triển khai Asterisk: Tuỳ theo nhu cầu, Asterisk có thể được sử dụng dưới nhiều mô hình kết nối khác nhau. Dưới đây là một số mô hình kết nối của Asterisk:
- Tổng đài IP PBX: kết nối giữa các đầu cuối với nhau, có thể là các máy tính trong mạng LAN có cài đặt softphone, các IP phone kết nối với mạng LAN qua giao tiếp Ethernet RJ45 hoặc các điện thoại analog kết nối đến mạng LAN qua bộ chuyển tiếp ATA và kết nối đến server Asterisk trong cùng mạng LAN. Hoặc kết nối với mạng điện thoại PSTN bên ngoài thông qua card giao tiếp TDM. Một số giao tiếp TDM do Digium sản xuất thường có dạng TDMxyB, trong đó x biểu diễn cho số lượng port FXS và y thể hiện cho số lượng port FXO như card TDM22B có 2 port giao tiếp FXS và 2 port giao tiếp FXO.

Với mô hình này, IP PBX Asterisk biến một máy tính chạy hệ điều hành Linux gọn nhẹ thành một tổng đài PBX và thường được ứng dụng trong các môi trường đã có sẵn mạng nội bộ LAN.

Các thiết bị đầu cuối được kết nối đến server Asterisk thông qua mạng LAN, không phải kéo đường dây riêng cho các máy nội bộ như tổng đài PBX truyền thống, tiết kiệm chi phí đáng kể cho hệ thống điện thoại nội bộ. Đối với các máy tính đã có sẵn trong mạng LAN, chỉ cần cài đặt softphone cùng với sound card và headphone, micro (hầu như đều có sẵn trên các máy tính hiện nay). Đối với các IP phone có hỗ trợ sẵn giao tiếp Ethernet với 2 cổng RJ45, một kết nối với mạng LAN, một kết nối với máy tính PC, do đó dễ dàng kết nối vào mạng LAN bằng cáp mạng. Trường hợp không có cổng mạng thì IP phone được đấu nối trực tiếp với mạng LAN thông qua port RJ45 và máy tính được nối với mạng LAN thông qua IP phone với cổng RJ 45 to PC , tiết kiệm rất nhiều chi phí kéo cáp.

Ngoài ra, IP PBX Asterisk còn có khả năng mở rộng các số nội bộ, không chỉ giới hạn trong một mạng LAN mà có thể kết nối rộng rãi ra bên ngoài thông qua Internet hoặc VPN (Vitual Private Network)

Như vậy, với IP PBX Asterisk, khái niệm mạng nội bộ không còn là mạng LAN mà là mạng nội bộ bên trong của một IP PBX Asterisk không phân biệt vị trí địa lý, các số nội bộ có thể nằm tại nhiều vị trí khác nhau và có thể liên lạc nội bộ miễn phí với nhau. Đây là một trong những ưu điểm quan trọng của Asterisk giúp tiết kiệm chi phí điện thoại nội bộ giữa các văn phòng với nhau.

- Kết nối IP PBX với PBX: Đối với trường hợp đã có hệ thống tổng đài PBX và đã hết dung lượng nhưng muốn mở rộng thêm các số nội bộ thì IP PBX Asterisk là một giải pháp phù hợp giúp tiết kiệm chi phí đầu tư tổng đài PBX mới, giảm thiểu chi phí và nhân công kéo cáp. IP PBX Asterisk sẽ kết nối hệ thống mạng nội bộ mới với tổng đài PBX hiện có.
- Kết nối giữa các server Asterisk: Mô hình kết nối các server Asterisk này phù hợp với các công ty có nhiều chi nhánh đặt tại nhiều nơi, giúp tiết kiệm chi phí liên lạc đường dài giữa các văn phòng với nhau.
- Các ứng dụng IVR, voicemail, điện thoại hội nghị:

Một trong các ứng dụng quan trọng của Asterisk là ngoài việc thực hiện chức năng một tổng đài IP PBX, Asterisk còn cung cấp các ứng dụng như:

- IVR Server cho phép thực hiện các cuộc gọi rẽ nhánh tuỳ theo tương tác của người gọi, tương tự như hệ thống dịch vụ 1800 và 1900 của mạng NGN cung cấp.

- Conference Server tạo các phòng hội nghị cho phép nhiều người dùng cùng tham gia vào 1 cuộc gọi hội nghị;

- Voice Mail: tạo hộp thư thoại, cho phép khách hàng lựa chọn hộp thư thoại tuỳ theo tương tác của người gọi;

- Ứng dụng phân phối cuộc gọi tự động ACD: phân phối cuộc gọi tự động ACD (Automatic Call Distribution), dành cho các nhu cầu chăm sóc, hỗ trợ khách hàng hay tiếp nhận phản hồi từ khách hàng. (giống dịch vụ 18001091 của các đài hỗ trợ khách hàng của Vinaphone hoặc 1080, 116 của Viễn thông tỉnh, thành phố).

2- XÂY DỰNG HỆ THỐNG ĐIỆN THOẠI VoIP NỘI BỘ DỰA TRÊN MÃ NGUỒN MỞ ASTERISK
Mô hình hệ thống IP PBX sử dụng Asterisk: ứng dụng Asterisk xây dựng thành một tổng đài IP nội bộ với mô hình kết nối như sau:

Trong đó:

Server Asterisk: Là một máy tính PC có cài đặt hệ điều hành Linux, cài đặt phầm mềm Asterisk, card mạng giao tiếp Ethernet RJ45, card TDM giao tiếp RJ11.

Thiết bị đầu cuối: Có thể là các máy tính có kết nối với mạng LAN, sound card, headphone, micro và được cài đặt softphone (như phần mềm miễn phí X-Lite 3.0), hoặc các máy điện thoại IP phone có giao tiếp RJ45 kết nối với mạng LAN thông qua cáp mạng các máy điện thọai tương tự kết nối với mạng LAN thông qua bộ phối hợp ATA (Analog Telephone Adapter)
Cấu hình Asterisk

Để Asterisk hoạt động và cung cấp các tính năng như đã mô tả trong các phần trên, sau khi được cài đặt xong, Asterisk cần được cấu hình các thông số để thực hiện tuỳ theo nhu cầu của người sử dụng. Việc cấu hình hệ thống Asterisk được thực hiện bằng các khai báo, cài đặt các thông số trong các file cấu hình (các file .conf) được đặt trong thư mục /etc/asterisk, ngoại trừ file zapata.conf (file cấu hình các phần cứng TDM giao tiếp giữa hệ thống Asterisk với mạng điện thoại PTSN bên ngoài) được đặt trong thư mục /etc.

Khái quát một số file cấu hình chính của Asterisk như sau:

+ zaptel.conf : Các tham số cấu hình cho trình điều khiển card giao tiếp

+ zapata.conf : Cấu hình cho asterisk giao tiếp với phần cứng

+ extensions.conf : Thiết lập các kịch bản cuộc gọi

+ sip.conf : Thông tin cấu hình người dùng và giao thức báo hiệu SIP

+ iax.conf : Thông tin cấu hình người dùng và cuộc gọi theo kênh IAX

Chú ý khi thay đổi các tham số trong các file cấu hình trên, cần khởi động lại Asterisk server để dịch vụ hoạt động với các tham số mới.
3 Đánh giá hệ thống IP PBX sử dụng Asterisk: Việc ứng dụng Asteris để xây dựng một hệ thống tổng đài nội bộ IP PBX có một số thành công và hạn chế như sau:
Các ưu điểm của IP PBX được xây dựng bằng Asterisk: So với một tổng đài nội bộ thông thường, Asterisk có các lợi thế như sau:

- Tiết kiệm chi phí đầu tư thiết bị ban đầu:

+ Về server: Chi phí đầu tư cho 1 máy tính cài đặt hệ điều hành Linux và phần mềm Asterisk hoàn toàn miễn phí rẻ hơn nhiều so với 1 tổng đài nội bộ PBX như của Panasonic, Siemens…;

+ Về thiết bị đầu cuối: Thay vì phải mua mới các máy điện thoại, có thể cài đặt softphone trên các máy tính có sẵn trong mạng LAN, đồng thời không phải chạy thêm dây cáp trong mạng nội bộ như phải có đối với các tổng đài PBX. Ngoài ra, trường hợp sử dụng IP phone cũng không cần phải đấu nối thêm cáp mạng riêng cho IP phone mà có thể dùng chung sợi cáp mạng sẵn có của máy tính bằng cách đấu nối máy tính vào LAN thông qua 2 port giao tiếp Ethernet-RJ45 của IP phone

- Dễ dàng mở rộng hệ thống: Đối với các tổng đài PBX, giá mua thiết bị phụ thuộc rất nhiều vào dung lượng của tổng đài và mỗi tổng đài PBX đều có 1 dung lượng nhất định, việc mở rộng dung lượng buộc phải trang bị thêm card giao tiếp và bị giới hạn hoàn toàn trong dung lượng tối đa mà nhà sản xuất đã qui định, trong khi đó, đối với tổng đài IP PBX dùng Asterisk hoàn toàn không bị giới hạn về dung lượng, có thể tạo account mới mà không cần phải trang bị thêm bất cứ thiết bị phần cứng nào.

- Cung cấp nhiều tính năng, tiện ích mới hoàn toán miễn phí: Ngoài các chức năng cơ bản như một tổng đài nội bộ, Asterisk còn cung cấp thêm rất nhiều tính năng, tiện ích trong các gói phầm mềm sử dụng mã nguồn mở, miễn phí, cho phép người sử dụng có thể chủ động khai báo, cài đặt theo nhu cầu như voicemail, điện thoại hội nghị, các dịch vụ tương tác (IVR) hoặc phân phối cuộc gọi tự động (ACD), nhạc chuông linh động và phong phú với nhiều dạng file khác nhau, trong khi đó, các tổng đài PBX chỉ cung cấp các dịch vụ cơ bản cho việc chuyển mạch, kết nối các thuê bao hoặc nếu muốn có thêm dịch vụ thì phải trang bị thêm các thiết bị phần cứng hoặc bản quyền phần mềm.
Các hạn chế của IP PBX được xây dựng bằng Asterisk

Bên cạnh các ưu điểm như trên, Asterisk vẫn còn một số mặt hạn chế so với một tổng đài PBX thông thường như:

- Asterisk chỉ chạy trên các hệ điều hành Unix nên việc triển khai thực hiện và sử dụng còn nhiều khó khăn do các hệ điều hành này chưa được sử dụng rộng rãi và phổ biến như hệ điều hành Windows.

- Cài đặt, khai báo và cấu hình hệ thống server, các máy con phức tạp hơn so các tổng đài PBX thông thường.

- Server Asterisk được xây dựng trên một máy tính do đó độ an toàn của hệ thống không cao, cần phải có các cơ chế bảo vệ chặt chẽ nhằm tránh các trường hợp tấn công từ bên ngoài hoặc các phá hỏng do virút, các sự cố do nguồn điện bị ngắt đột ngột làm ảnh hưởng đến hoạt động của máy tính, các thao tác cần phải thực hiện cài đặt, khai báo lại hệ thống khi máy tính bị sự cố không khôi phục được.

4- Kết luận

Hệ thống tổng đài IP nội bộ - IP PBX sử dụng Asterisk đã được triển khai ứng dụng rộng rãi trong thực tế và đang ngày càng phát triển đã chứng minh phần nào các tác động của VoIP nói chung và Asterisk nó riêng đối với người sử dụng.

Bên cạnh các tiện ích mà Asterisk mang lại cho người sử dụng, đặc biệt là về yếu tố giả cả, chi phí và tiện ích cung cấp cho người sử dụng, Asterisk vẫn còn gặp phải một số khó khăn khi triển khai trong thực tế, tuy nhiên, các khó khăn này là do các yếu tố khách quan từ bên ngoài, từ người sử dụng chứ không phải do công nghệ, giải pháp mà Asterisk mắc phải nên về tương lai, các khó khăn này hoàn toàn có thể khắc phục được.

Cộng đồng mã nguồn mở Asdterisk phát triển rất mạnh mẽ , mọi thông tin cần tham khảo đều có sẵn , diễn đàn trao đổi kinh nghiệm hết sức phong phú.

Hơn nữa , Asterisk đã được triển khai ứng dụng rất phổ biến trong thực tế chính là minh chứng rõ ràng nhất về ưu điểm của hệ thống mã nguồn mở miễn phí mà mạnh mẽ này

Nguồn: http://www.tapchibcvt.gov.vn/vi-vn/congnghetruyenthong/2009/4/20146.bcvt

Không có nhận xét nào:

Đăng nhận xét