Xem mẫu

  1. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 TỐI ƯU HÓA CÔNG TÁC THÔNG TIN NỘI BỘ BẰNG CÁCH TRIỂN KHAI HỆ THỐNG ASTERISK VÀ XÂY DỰNG MỘT SỐ MODULE OPTIMIZING INTERNAL COMMUNICATION USING ASTERISK SYSTEM AND BUILDING SOME MODULES Phạm Hồ Trọng Nguyên Trường Cao đẳng Công nghệ Thông tin, Đại học Đà Nẵng Email: trongnguyen@live.com TÓM TẮT Hiện nay, việc triển khai và sử dụng hệ thống tổng đài nội bộ đang dần trở thành một nhu cầu thiết yếu cho hoạt động thông tin liên lạc của các tổ chức trên toàn thế giới. Có thể dễ dàng thấy được điều này do lợi ích to lớn về công sức quản lý, chi phí điều hành, thực thi các chính sách bảo mật, thiết lập và quản lý cơ sở dữ liệu người dùng một cách linh hoạt, triển khai các dịch vụ kèm theo một cách đa dạng. Do vậy, việc xây dựng các module linh hoạt đáp ứng cho nhiều nhu cầu đa dạng nhằm tối ưu hóa các công tác ở trên là thực sự cần thiết. Bài báo này trình bày về việc xây dựng một số module như vậy trên nền tảng asterisk nhằm mang lại sự tiện lợi hơn cho việc sử dụng của người dùng. Từ khóa: asterisk; tổng đài nội bộ; tối ưu hóa; module; thông tin liên lạc ABSTRACT At the present, the deploying and using internal telephone exchange system are becoming essential demands for communicating operation of many organizations all over the world. This reality is easy for us to observe because of its big benefits of management effort, running cost, executing security policy, establishing and managing database of user flexibly, implementing multi attached services. Therefore, building flexible modules for satisfying a lot of various demands to optimize tasks mentioned above is really necessary. This article presents the ways to build some modules like that on the asterisk platform and to bring more conveniences for the user’s communication activity as well as administrators. Key words: asterisk; internal telephone exchange; optimizing; module; communicating 1. Đặt vấn đề dựng và phát triển trường thành một trong những đơn vị hàng đầu trong việc ứng dụng công nghệ Ngày nay, với sự tiến bộ vượt bậc của vào quy trình hoạt động là một động thái tích công nghệ thông tin, ngày càng có nhiều ứng cực và cần thiết cho sự phát triển của trường nói dụng và giải pháp được đưa vào cuộc sống để riêng và Đại học Đà Nẵng nói chung. đáp ứng các nhu cầu đa dạng của con người. Trong các yêu cầu đặc thù, sự hỗ trợ của công Tại Việt Nam, lĩnh vực VOIP từ lâu đã trở nghệ đóng vai trò tiên quyết trong việc gia tăng nên quen thuộc với nhiều tổ chức, đơn vị lớn với năng suất lao động và giảm thiểu hao phí cho mục tiêu là hướng đến tốc độ, gọn nhẹ, đơn giản con người. Riêng với lĩnh vực mạng, đặc biệt là trong việc xây dựng, duy trì và vận hành hệ sự cải tiến liên tục của VOIP đã góp phần giúp thống liên lạc nội bộ. Ta có thể thấy rõ điều này các tổ chức, hệ thống lớn linh hoạt hơn trong khi thử so sánh đơn giản với một hệ thống dùng việc lựa chọn giải pháp cho nhu cầu thông tin nhiều đầu điện thoại cố định, quản lý phân tán, liên lạc nội bộ nói chung và các bài toán cá biệt không bảo mật, tốn kém với một hệ thống quản nói riêng. Điều này cho thấy, công nghệ thông lý tập trung, bảo mật, tiết kiệm chi phí do hoạt tin gắn liền với hoạt động của tổ chức trở thành động trên kết nối internet [1]. Asterisk, từ lâu đã một nhu cầu tất yếu, phù hợp với xu thế phát nổi lên như một lựa chọn phù hợp cho các tổ triển chung của xã hội. Với vị thế là một trường chức với các ưu điểm như trên. Do vậy, trong bài chuyên về công nghệ thông tin, định hướng xây báo này sẽ đề cập đến việc xây dựng, thay thế hệ thống liên lạc hiện tại bằng tổng đài Asterisk, 70
  2. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 đồng thời xây dựng một số module đặc trưng để dựng module phục vụ cho công tác liên lạc được hoàn thiện Như đã giới thiệu ở trên, trong bài báo này hơn. ta sẽ triển khai hệ thống asterisk phiên bản 1.8 2. Kết quả nghiên cứu và khảo sát trên nền Centos 5, trên cơ sở đó xây dựng một số module liên quan để tối ưu hóa công tác thông 2.1. Sử dụng nền tảng asterisk để xây dựng các tin liên lạc của tổ chức. Trong khuôn khổ có hạn tổng đài của bài báo, tác giả sẽ đề cập chủ yếu cách thức Asterisk là phần mềm thực hiện chức năng xây dựng 2 module đặc thù hỗ trợ đó là: của một tổng đài PBX (Private Branch Exchange - Module nhắc việc từ tổng đài; – Tổng đài nhánh cá nhân) giúp các máy điện - Module IVR, tạo tổng đài trả lời và thoại trong cùng một công ty, cơ quan, cùng một tổ chức cuộc họp tức thì. vùng… - gọi chung là các máy nội bộ kết nối với nhau và kết nối với các mạng khác như mạng Với hệ thống asterisk, dial plan chính là trái điện thoại công cộng PSTN hay VoIP. tim của mọi hành động. Nó quy định cách tổng đài xử lý các truy vấn, quy trình xử lý các cuộc Asterisk được thiết kế dưới dạng các gọi và nhu cầu cá biệt của user… Tiếp theo, ta sẽ module riêng rẽ nên dễ khắc phục lỗi và dễ mở lên phương án cho hai module nói trên. rộng. Ngoài ra, Asterisk cũng có thể tích hợp với những phần mềm ứng dụng khác để đáp ứng 3. Đề xuất giải pháp được nhu cầu của người sử dụng với giá thành 3.1. Module nhắc việc tự động thấp, chất lượng dịch vụ tốt. Khi mới ra đời, Asterisk được viết bằng 3.1.1. Đặt vấn đề ngôn ngữ C và chỉ được triển khai trên Linux [2] Xuất phát từ nhu cầu thực tế là người Nhưng hiện nay, Asterisk đã có thể chạy trên các dùng muốn chức năng nhắc việc tự động từ tổng hệ điều hành khác như Mac OS X, Free BDS, đài, nghĩa là sau khi gọi với cú pháp nhất định Open BDS và Windowns. thì đúng thời gian đã quy định từ người dùng, Hiện nay, Asterisk trên đà phát triển tổng đài sẽ tự gọi đến để nhắc việc. nhanh được rất nhiều doanh nghiệp triển khai 3.1.2. Giải quyết vấn đề ứng dụng cho công ty của mình. Đây là xu thế Với hệ thống asterisk, sau khi đã có kịch tất yếu của người sử dụng điện thoại vì các công bản phù hợp, điều cần làm tiếp theo là tác động ty đều có mạng máy tính và cần liên lạc với nhau vào file extension.conf nằm trong /etc/asterisk trong công việc, giữa các phòng ban hoặc chi [3]. Ta thực hiện như sau: nhánh và cần một chi phí thấp thậm chí không [hen-gio-bao-thuc] phải tổn chi phí khi thực hiện các cuộc gọi trên mạng nội bộ của công ty. exten => _*09*XXXXXXXXXXXX,1,Answer() ; Không gói gọn thông tin liên lạc trong ${EXTEN} ;nam - thang -ngay - gio - phut,so công ty mà các ứng dụng giao tiếp với mạng PSTN hoặc mạng VoIP cho phép gọi ra bất cứ số exten => điện thoại nào có trên mạng PSTN. Ngoài ra, _*09*XXXXXXXXXXXX,n,Set(year=${EXTE việc tích hợp vào các ứng dụng như CRM và hệ N:4:4}) ; set bien year thống Outlook làm cho khả năng ứng dụng của exten => Asterisk linh hoạt hơn, đáp ứng được nhu cầu _*09*XXXXXXXXXXXX,n,Set(month=${EX cần thiết cho người sử dụng điện thoại. Thoạt TEN:8:2}) ; set bien month đầu Asterisk được phát triển trên GNU/Linux exten => nền x86 (Intel), nhưng giờ đây nó cũng có thể _*09*XXXXXXXXXXXX,n,Set(day=${EXTE biên dịch và chạy trên OpenBDS, FreeBDS, Mac N:10:2}) ; set day OS X và Microsoft Windows. exten => 2.2. Sử dụng các chức năng của asterisk để xây _*09*XXXXXXXXXXXX,n,Set(hours=${EXT 71
  3. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 EN:12:2}) ;set gio thêm một bước nữa là set lại created-time của exten => file thông qua đoạn code: _*09*XXXXXXXXXXXX,n,Set(minutes=${E Exten=>_*09*XXXXXXXXXXXX,n,Sys XTEN:14:2}) ;set minutes tem(touch-t ${year}${month}${day}${hours}${minutes} /tmp/${UNIQUEID}.call) ;tao file *.call exten => 3.1.3. Kết quả _*09*XXXXXXXXXXXX,n,System(echo -e Đúng ngày giờ theo tin nhắn của user gửi "Channel: SIP/${CALLERID(num)}\\nCallerid: đến tổng đài, một cuộc gọi sẽ được thực hiện từ bao-thuc \\nContext: bao- tổng đài để nhắc việc cho user, nội dung cuộc thuc\\nExtension: 10" > gọi sẽ được thực hiện tự động bằng việc đọc thời /tmp/${UNIQUEID}.call) gian lúc đó cho user nghe. exten => 3.2. Module tổng đài trả lời tích hợp phòng họp _*09*XXXXXXXXXXXX,n,System(touch -t ảo ${year}${month}${day}${hours}${minutes} 3.2.1. Đặt vấn đề /tmp/${UNIQUEID}.call) ; sua ngay gio tao file Xuất phát từ nhu cầu thực tế về một tổng exten => đài trả lời tự động, giới thiệu và hướng cuộc _*09*XXXXXXXXXXXX,n,System(mv gọi của người dùng đến các phòng chức năng và /tmp/${UNIQUEID}.call tích hợp một phòng họp ảo để phục vụ công tác. /var/spool/asterisk/outgoing/) ;move file call => outgoing 3.2.2. Giải quyết vấn đề exten => [IVR-menu] _*09*XXXXXXXXXXXX,n,Playback(rqsted- ; audio phat thong bao wakeup-for) ;da lam xong ;------------------------------ exten => ;1 -> quay 100 _*09*XXXXXXXXXXXX,n,SayNumber($hours) ;2 -> quay 101 exten => ;3 -> conference 88888 _*09*XXXXXXXXXXXX,n,SayNumber($min ;4 -> cup may utes) ;----------------------------- exten => _*09*XXXXXXXXXXXX,n,Hangup() exten => 1811,1,Answer() exten => 1811,n,Background(/srv/welcome) ;audio phat Khi 1 user có nhu cầu nhắc việc, user sẽ thong bao nhắn tin đến tổng đài với cú pháp là exten => 1811,n,WaitExten(20); cho _*09*XXXXXXXXXXXX trong đó các client nhap lua chon, trong 20 s k bam se timeout XXXXXXXXXXXX với độ dài 12 ký tự là chuỗi năm-4 ký tự, tháng-2 ký tự, ngày-2 ký tự, exten => 1,1,Answer() giờ-2 ký tự, phút-2 ký tự. Khi request được gửi exten => 1,n,Dial(SIP/100,45) ; bam 1 đến, server sẽ tự tạo ra một file.cal và gửi vào quay so 100 trong 45s thư mục /var/spool/asterisk/outgoing và sẽ tạo exten => 1,n,hangup() cuộc gọi đến user theo thời gian của file được exten => 2,1,Answer() tạo ra. Nhưng ở đây có một vấn đề, thời điểm mà file được tạo ra chính là thời điểm user gửi exten => 2,n,Dial(SIP/101,45) ; bam 2 request đến hệ thống, nhưng thời điểm cần nhắc quay so 101 trong 45s việc lại nằm trong tương lai, do vậy ta thực hiện exten => 2,n,Hangup()exten => 72
  4. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 3,1,Answer() như sau: exten => 3,n,MeetMe(8888,,) ;=> goi - Với hệ thống truyền thống, trường có phong 8888; khoảng 10 điện thoại cố định tương ứng với các exten => 3,n,hangup() khoa, các phòng ban với các số khác nhau, chi phí hàng tháng phải trả cho nhà mạng là rất lớn. exten => 4,1,hangup() - Với hệ thống mới, chỉ cần đầu tư cho 10 exten => t,1,Playback(het-gio) ;het gio IP phone với giá khoảng 1 triệu đồng/ 1 IP khong bam phone, 1 card chuyển mạch để quay số lẻ đến exten => t,n,hangup() các phòng ban khi từ ngoài gọi vào, và tận dụng exten => i,1,playback(bam-sai) ;bam sai kết nối internet có sẵn, hàng tháng chi phí phải exten => i,n,hangup() đóng chỉ còn là cước internet, như vậy, giải pháp này vô cùng kinh tế. User gọi đến tổng đài theo số 1811, đầu tiên sẽ nghe thông báo. Tùy theo nhu cầu của đơn vị sử dụng mà đây có thể là một đoạn giới thiệu, hoặc đưa ra các lựa chọn về số cụ thể. Trong trường hợp này, sau khi nghe thông báo user sẽ có các lựa chọn như nhấn phím 1 để gọi đến extension 101, phím 2 để gọi đến extension 102, phím 3 để tham gia vào phòng họp ảo với mã 8888 (ở đây, các số lẻ như 101, 102, room 8888 là những extension đã được tạo trước trên server) hoặc nhấn phím 4 để kết thúc cuộc gọi. Nếu sau 20s user không thực hiện lựa chọn từ khi gọi đến tổng đài, cuộc gọi sẽ bị hủy bỏ. Hình 1. Hình ảnh triển khai mô hình hệ thống 3.2.3. Kết quả Với module này 2, 3 hoặc nhiều user có 5. Kết luận thể cùng gọi vào phòng 8888 để cùng nói Với tổng đài asterisk, việc ứng dụng và chuyện, liên lạc với nhau và tạo phòng họp triển khai trong thực tế để giải quyết các bài toán “nóng” ngay bất cứ khi nào có nhu cầu, vô cùng cụ thể của tổ chức, doanh nghiệp mang lại nhiều tiện lợi và hữu ích. Ngoài ra, user còn có thể lợi ích to lớn. Lợi ích lớn nhất có thể kể ra chính nhấn các phím lẻ để kết nối ngay đến các phòng là lợi ích kinh tế. Thay vì phải trả một khoản phí ban cụ thể, mà không cần ghi nhớ nhiều số cố lớn cho các thuê bao điện thoại cố định hàng định trong máy. tháng thì nay, mọi hoạt động liên lạc đều được 4. Thực nghiệm và đánh giá thực hiện trên kết nối internet. Nếu muốn đảm Để có những kết quả thực tế trong việc bảo chất lượng của tổng đài, ta chỉ việc đầu tư triển khai và sử dụng hai module nói trên, tác giả một khoản nhỏ cho việc nâng băng thông của kết đã thử nghiệm tại Trường Cao đẳng Công nghệ nối internet, ngoài ra chỉ tốn một khoản đầu tư Thông tin, Đại học Đà Nẵng với dữ liệu thực tế ban đầu cho hệ thống phần cứng của tổng đài, số là thông tin về các phòng ban, số lượng người chi phí này đếu so sánh với cước phí viễn thông dùng trên từng phòng, nhu cầu thực tế về hội hàng tháng trong tầm nhìn dài hạn thì vô cùng họp của đơn vị. Kết quả thu được rất khả quan, khác biệt. tổng đài đáp ứng nhanh và tức thì các yêu cầu từ Hơn nữa, không chỉ dừng lại ở vấn đề người dùng, chất lượng thoại tốt, ít nghẽn và kinh tế, hoạt động thông tin liên lạc của tổ chức tiếng ồn. Đây là bằng chứng cho thấy sự ưu việt cũng được cải thiện rõ rệt. Thay vì người dùng của giải pháp mà bài báo đề ra. Để cụ thể hơn, ta phải lưu rất nhiều số của các phòng, ban… thì có thể so sánh đánh giá với các hệ thống đang có nay chỉ cần gọi đến tổng đài và nhấn số lẻ để kết 73
  5. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 12(73).2013, Quyển 2 nối trực tiếp đến. Ngoài ra, việc tích hợp phòng sót là điều không thể tránh khỏi. Mặt khác, với họp ảo vào tổng đài trả lời tự động cũng giúp ích sự giới hạn của phạm vi bài báo, thật khó để đưa cho bộ phận điều hành trong việc tổ chức các ra nhiều hơn các module hữu ích khác do tác giả cuộc gặp tức thời, không phụ thuộc vào địa điểm nghiên cứu và xây dựng, rất mong sự đóng góp của các nhân viên, mà chỉ cần chủ động tạo và và quan tâm của các chuyên gia có kinh nghiệm quản lý phòng họp ảo trên tổng đài vào bất cứ trong lĩnh vực này để việc nghiên cứu và ứng thời điểm nào, rất dễ dàng và tiện lợi. dụng tổng đài số nhằm tối ưu hóa công việc Trong khuôn khổ bài báo nhỏ, việc thiếu được mạnh mẽ và sâu rộng hơn. TÀI LIỆU THAM KHẢO [1] Tổng đài IP, http://vi.wikipedia.org/Tổng_đài_IP [2] Asterisk PBX, http://vi.wikipedia.org/wiki/Asterisk_(PBX) [3] Jim Van Meggelen, Leif Madsen, Jared Smith, “Asterisk: The future of technology”, O’Reilly, 2007. (BBT nhận bài: 23/09/2013, phản biện xong: 21/12/2013) 74
nguon tai.lieu . vn