3. Ngày giao nhiệm vụ luận văn:
5.2. DỊCH VỤ BÁO THỨC:
5.2.1. Nhận yêu cầu từ người sử dụng
Lƣu đồ sau đây trình bày quá trình hệ thống tổng đài nhận thông tin yêu cầu từ ngƣời sử dụng dịch vụ báo thức.
Hình 5.1 Lưu đồ giải thuật dịch vụ báo thức
Khách hàng nhấn số 1 để sử dụng dịch vụ báo thức.
Tiếp theo, hệ thống tổng đài sẽ tự động kiểm tra thuê bao của khách hàng là trả trƣớc hay là trả saụ Trong trƣờng hợp thuê bao là trả trƣớc, hệ thống sẽ kiểm tra tài khoản, nếu tài khoản của khách hàng đủ khả năng để thực hiện dịch vụ thì hệ thống sẽ trừ tiền vào tài
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 32 -
khoản đồng thời lƣu thông tin của khách hàng, nếu tài khoản không đủ khả năng, hệ thống sẽ phát một lời nhắn yêu cầu nạp tiền vào tài khoản. Trong trƣờng hợp thuê bao là trả sau, hệ thống sẽ tăng số tiền phải trả và lƣu thông tin cua khách hàng.
Sau đó, khách hàng sẽ cung cấp thông tin cho hệ thống tuần tự nhƣ sau: Nhập số điện thoại cần đƣợc báo thức
Nhập thời gian báo thức
Cuối cùng hệ thống sẽ tự động phát lại thông tin khách hàng đã cung cấp
5.2.2. Hoạt động của hệ thống tổng đài
Sau khi nhận đầy đủ các thông tin yêu cầu từ khách hàng, đến giờ báo thức, hệ thống tổng đài tự động gọi đến máy đã đƣợc chọn để báo thức. Nếu bắt máy, khách hàng sẽ đƣợc nghe một lời chúc từ tổng đàị Trong trƣờng hợp quá thời gian tối đa mà khách hàng không bắt máy, hệ thống sẽ tự động báo thức lại sau đó cho khách hàng.
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 33 -
5.3. Dịch vụ quà tặng âm nhạc
5.3.1. Nhận yêu cầu từ người sử dụng
Lƣu đồ sau đây trình bày quá trình hệ thống tổng đài nhận thông tin yêu cầu từ ngƣời sử dụng dịch vụ quà tặng âm nhạc.
Hình 5.2 Lưu đồ giải thuật dịch vụ quà tặng âm nhạc
Khách hàng nhấn số 2 để sử dụng dịch vụ quà tặng âm nhạc.
Tiếp theo, hệ thống tổng đài sẽ tự động kiểm tra thuê bao của khách hàng là trả trƣớc hay là trả saụ Trong trƣờng hợp thuê bao là trả trƣớc, hệ thống sẽ kiểm tra tài khoản, nếu tài khoản của khách hàng đủ khả năng để thực hiện dịch vụ thì hệ thống sẽ trừ tiền vào tài khoản
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 34 -
đồng thời lƣu thông tin của khách hàng, nếu tài khoản không đủ khả năng, hệ thông sẽ phát một lời nhắn yêu cầu nạp tiền vào tài khoản. Trong trƣờng hợp thuê bao là trả sau, hệ thống sẽ tăng số tiền phải trả và lƣu thông tin cua khách hàng.
Sau đó, khách hàng sẽ cung cấp thông tin cho hệ thống tuần tự nhƣ sau:
- Nhập số điện thoại đƣợc nhận quà tặng âm nhạc
- Nhập thời gian phát nhạc
- Nhập mã số bài hát
- Nhấn số 1 để lƣu lại lời nhắn cho máy đƣợc nhận quà tặng Cuối cùng hệ thống sẽ tự động phát lại thông tin khách hàng đã cung cấp
5.3.2. Hoạt động của hệ thống.
Cơ sở dữ liệu cho dịch vụ quà tặng âm nhạc nhƣ sau:
Hình 5.3 Cơ sở dữ liệu của dịch vụ quà tậng âm nhạc
Các file nhạc đƣợc đặt tại thƣ mục: /var/lib/asterisk/sounds/amnhac
Sau khi lấy thông tin yêu cầu từ khách hàng, hệ thống tổng đài sẽ có đƣợc đƣờng dẫn của bài hát đƣợc yêu cầu từ Database am_nhac.
Hệ thống tổng đài sẽ tự động gọi đến máy đƣợc nhận quà tặng, phát những thông tin cho khách hàng: máy đã gửi quà tặng, lời nhắn, tên bài hát và ca sĩ trình bàỵ Sau đó, hệ thống sử dụng mp3player với đƣờng dẫn đã có của bài hát đƣợc yêu cầu và phát vào điện thoại đƣợc nhận quà tặng.
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 35 -
5.4. Dịch vụ radio streamline
5.4.1. Nhận yêu cầu từ người sử dụng
Lƣu đồ sau đây trình bày quá trình hệ thống tổng đài nhận thông tin yêu cầu từ ngƣời sử dụng dịch vụ radio streamlinẹ
Hình 5.4 Lưu đồ giải thuật dịch vụ radio streamline
Khách hàng nhấn số 3 để sử dụng dịch vụ radio streamlinẹ
Tiếp theo, hệ thống tổng đài sẽ tự động kiểm tra thuê bao của khách hàng là trả trƣớc hay là trả saụ Trong trƣờng hợp thuê bao là trả trƣớc, hệ thống sẽ kiểm tra tài khoản, nếu tài khoản của khách hàng đủ khả năng để thực hiện dịch vụ thì hệ thống sẽ trừ tiền vào tài khoản đồng thời lƣu thông tin của khách hàng, nếu tài khoản không đủ khả năng, hệ thông sẽ phát một lời nhắn yêu cầu nạp tiền vào tài khoản. Trong trƣờng hợp thuê bao là trả sau, hệ thống sẽ tăng số tiền phải trả và lƣu thông tin cua khách hàng.
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 36 -
được sử dụng
Cuối cùng hệ thống sẽ tự động phát lại thông tin khách hàng đã cung cấp
5.4.2. Hoạt động của hệ thống.
Cơ sở dữ liệu cho dịch vụ radio streamline nhƣ sau:
Hình 5.5 Cơ sở dữ liệu của dịch vụ radio streamline
Sau khi lấy thông tin yêu cầu từ khách hàng, hệ thống tổng đài sử dụng musiconhold để phát cho ngƣời sử dụng kênh muốn nghẹ
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 37 -
5.5. Dịch vụ tra cứu điểm thi đại học 5.5.1. Nhận yêu cầu từ người sử dụng 5.5.1. Nhận yêu cầu từ người sử dụng
Lƣu đồ sau đây trình bày quá trình hệ thống tổng đài nhận thông tin yêu cầu từ ngƣời sử dụng dịch vụ tra cứu điểm thi đại học.
Hình 5.6 Lưu đồ giải thuật dịch vụ tra cứu điểm thi đại học
Khách hàng nhấn số 3 để sử dụng dịch vụ radio streamlinẹ
Tiếp theo, hệ thống tổng đài sẽ tự động kiểm tra thuê bao của khách hàng là trả trƣớc hay là trả saụ Trong trƣờng hợp thuê bao là trả trƣớc, hệ thống sẽ kiểm tra tài khoản, nếu tài khoản của khách hàng đủ khả năng để thực hiện dịch vụ thì hệ thống sẽ trừ tiền vào tài khoản đồng thời lƣu thông tin của khách hàng, nếu tài khoản không đủ khả năng, hệ thông sẽ phát một lời nhắn yêu cầu nạp tiền vào tài khoản. Trong trƣờng hợp thuê bao là trả sau, hệ thống sẽ tăng số tiền phải trả và lƣu thông tin cua khách hàng.
Sau đó, khách hàng sẽ cung cấp thông tin cho hệ thống tuần tự nhƣ sau: Nhập số báo danh thí sinh. Cuối cùng hệ thống sẽ tự động phát lại thông tin khách hàng đã cung cấp
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 38 -
5.5.2. Hoạt động của hệ thống
Cơ sở dữ liệu cho dịch vụ tra cứu điểm thi nhƣ sau:
Hình 5.7 Cơ sở dữ liệu của dịch vụ tra cứu điểm thi đại học
Sau khi lấy thông tin yêu cầu từ ngƣời sử dụng, hệ thống tổng đài lấy thông tin của thí sinh từ Database Diem_thi.
Hệ thống sẽ phát cho ngƣời sử dụng Họ tên, điểm toán, lý, hóa và tổng số điểm của thí sinh.
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 39 -
5.6. Dịch vụ IVR
5.6.1. Nhận yêu cầu từ người sử dụng
Lƣu đồ sau đây trình bày quá trình hệ thống tổng đài nhận thông tin yêu cầu từ ngƣời sử dụng dịch vụ IVR.
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 40 -
Hình 5.8 Lưu đồ giải thuật dịch vụ IVR
Nhấn số 0 để đƣợc tƣ vấn trực tiếp với điện thoại viên
Sau đó, khách hàng sẽ nhập mã số phòng ban muốn đƣợc tƣ vấn
5.6.2. Hoạt động của hệ thống
Sau khi nhận đƣợc mã số của thông tin cần đƣợc tƣ vấn của ngƣời sử dụng, hệ thống tổng đài sẽ kết nối trực tiếp đến điện thoại viên.
- Nhấn số 1: tƣ vấn trực tiếp về kĩ thuật
- Nhấn số 2: tƣ vấn trực tiếp về sử dụng các dịch vụ
- Nhấn số 3: tƣ vấn trực tiếp về thực hiện đăng kí và hợp đồng
5.7. Tính phí các dịch vụ của hệ thống tổng đài
Cơ sở dữ liệu cho tính phí các dịch vụ nhƣ sau:
Chƣơng 5: Các dịch vụ thực hiện dựa trên AGI
- 41 -
Hình 5.10 Cơ sở dữ liệu của dịch vụ trả sau
Hệ thống tổng đài đƣợc xây dựng với khả năng tính phí cho cả 2 gói cƣớc trả trƣớc và trả saụHệ thống tổng đài sẽ tự động kiểm tra thuê bao của khách hàng là trả trƣớc hay là trả saụ Trong trƣờng hợp thuê bao là trả trƣớc, hệ thống sẽ kiểm tra tài khoản, nếu tài khoản của khách hàng đủ khả năng để thực hiện dịch vụ thì hệ thống sẽ trừ tiền vào tài khoản, nếu tài khoản không đủ khả năng, hệ thông sẽ phát một lời nhắn yêu cầu nạp tiền vào tài khoản. Trong trƣờng hợp thuê bao là trả sau, hệ thống sẽ tăng số tiền phải trả.
Bên cạnh đó, hệ thống còn lƣu lại thông tin của khách hàng. Khi một máy A sử
dụng một dịch vụ, tổng tài sẽ lƣu thời gian sử dụng sau cùng, dịch vụ sử dụng và tính toán lại tài khoản của gói cƣớc trả trƣớc hoặc số tiền phải trả của gói cƣớc trả sau, đồng thời hệ thống còn lƣu lại tổng số lần sử dụng từng dịch vụ.
- 42 -
Chƣơng 6:
Tổng kết và hƣớng phát triển đề tài
Nội dung chƣơng này bao gồm kết quả thực hiện đƣợc, những hạn chế trong đề tài và đƣa ra những cách khắc phục và hƣớng phát triển đề tàị
6.1. Kết quả đạt được
Trong quá trình thực hiện đề tài, nhóm đã thực hiện đƣợc các dịch vụ của tổng đài bằng lập trình PHPAGI:
Báo thức
Quà tặng âm nhạc
Radio streamline
Tra cứu điểm thi đại học IVR
Tính phí cho các dịch vụ
Ƣu điểm:
o Các dịch vụ đề tài thực hiện đƣợc chính là những dịch vụ đƣợc khách hàng sử
dụng nhiều hiện naỵ Nội dung trong luận văn không chỉ nói đến cách cung cấp các dịch vụ mà còn đƣa ra các giải pháp giúp cho doanh nghiệp có thể dễ dàng triển khai các dịch vụ theo ý của mình. Việc xây dựng các dịch vụ có các tính năng nhƣ thế nào đều có thể thực hiện đƣợc bằng cách thay đổi các script trong lập trình PHPAGỊ Với việc triển khai các dịch vụ bằng lập trình, chúng ta có thể linh động và dễ dàng hơn trong việc đáp ứng yêu cầu của khách hàng. Nhƣợc điểm:
o Các dịch vụ triển khai trong đề tài có chất lƣợng âm thanh chƣa tốt, khả năng kết nối với internet trong dịch vụ radio streamline chƣa nhanh ( mất khoảng 5s cho việc phát các kênh đến khách hàng).
o Các dịch vụ trong đề tài này chƣa hỗ trợ tiếng Việt cho khách hàng, vấn đề này có thể đƣợc giải quyết nếu tổng đài đƣợc tích hợp khả năng nhận diện và trả lời bằng tiếng Việt cho khách hàng
- 43 -
o Cơ sở dữ liệu đƣợc sử dụng trong đề tài này là MySQL, thông tin đƣợc cập
nhật nhờ vào ngƣời quản trị cơ sở dữ liệụ Do đó, dịch vụ khó có thể xây dựng các dịch vụ có thông tin thay đổi thƣờng xuyên nhƣ: giá vàng, dự báo thời tiết hay tỉ số các trận bóng đá… Để có thể giải quyết các vấn đề này, sự kết hợp giữa Asterisk và Web service sẽ là hƣớng phát triển cho việc triển khai các dịch vụ.
Phần tiếp theo sẽ đề cập đến Web Service, ứng dụng và khả năng kết nối giữa Asterisk và Web Servicẹ
6.2. Hướng phát triển đề tài 6.2.1. Giới thiệu về Web service
Khi bạn xây dựng và phát triển một ứng dụng phân tán với số lƣợng ngƣời dùng lên đến hàng trăm, hàng nghìn ngƣời ngƣời ở nhiều địa điểm khác nhau, khó khăn đầu tiên mà chúng ta gặp phải là sự giao tiếp giữa Client và Server bị tƣờng lửa ( firewalls) và Proxy Server ngăn chặn lạị
DCOM (Distribited companent Object Model) làm việc thông qua việc gởi các thông tin dƣới dạng nhị phân(binary) và chủ yếu hoạt động dựa trên giao thức TCP/IP, không dễ dàng để sử dụng DCOM trong trƣờng hợp nàỵ
Hình 6.1 Hoạt động của DCOM
Web service có thể giúp chúng ta giải quyết vấn đề khó khăn nêu trên. Web Service là tập hợp các phƣơng thức của đối tƣợng mà các Client có thể gọi thực hiện.
Web Service đƣợc xây dựng dựa trên SOAP ( Simple Object Access Protocal). Không giống nhƣ DCOM, SOAP có thể đƣợc gọi thực hiện và trả về kết quả Text ( theo định dạng XML) và có khả năng hoạt động “xuyên qua” tƣờng lửạ
- 44 -
Hình 6.2 Kiến trúc Web Service
Ngoài khả năng ƣu việt trên, Web Service có thể phối hợp hoạt động giữa các ứng dụng rất tốt. Các nhà hàng, khách sạn cung cấp các Web Service cho phép đặt phòng, đặt tiệc. Đƣờng sắt Việt Nam cung cấp Web Service cho phép đặt vé tàụ Việt Nam Airline cung cấp các Web Service cho phép đặt vé cho các chuyến baỵ Các cơ quan, công ty, hay khách du lịch có nhu cầu tổ chức, tham gia các chuyến du lịch có thể truy cập vào website của các công ty dịch vụ lữ hành đăng ký tham gia các “tour” do họ tổ chức. Công ty du lịch sẽ sử dụng Web Service đƣợc cung cấp đó để tiến hành đặt vé tàu lửa, máy bay và đặt phòng cho chuyến du lịch theo yêu cầu của khách hàng.
Hình 6.3 Phối hợp giữa các ứng dụng
Web Service là một chuẩn mới để xây dựng và phát triển ứng dụng phân tán, có khả năng làm việc trên mọi hệ điều hành, mở rộng khả năng phối hợp giữa các ứng dụng, có thể tái sử dụng, tăng cƣờng sự giao tiếp giữa Client và Service thông qua môi trƣờng Web.
- 45 -
6.2.2. Kết hợp giữa AGI và Web Service trong tổng đài Asterisk
Mô hình sau đây biểu diễn cách kết hợp giữa AGI và Web Service trong tổng đài Asterisk.
Hình 6.4 Kết nối giữa Asterisk và Web Service
Mọi thông điệp của cuộc gọi từ Asterisk đến Proxy bao gồm hai thành phần: AGIRequest và AGIChannel. AGIRequest sẽ chứa các thông tin của cuộc gọi nhƣ: caller name/ number, context of the call, feed setings…AGIChannel đƣợc sử dụng khi kết nối với Asterisk kết thúc ( call termination, tranfer mode…). Sau đó Proxy se gửi một HTTP yêu cầu đến web service với URL đã đƣợc set. Web Services sẽ trả lời tùy thuộc vào yêu cầu đƣợc gửi tới: cuộc gọi sẽ kết thúc, bị chuyển hoặc nhận đƣợc một thông báọ.. Và thông điệp từ Web Services đƣợc định dạng theo kiểu XML. Từ đây chúng ta có thể dùng PHP-XML để xử lý tệp XML trả về các thông số cần thiết để xử dụng với mục đích của chúng tạ
- 46 -
Tài liệu tham khảo
[1] Lê Quốc Toàn, Sách Asterisk tiếng việt
[2] Jim Van Megglen and Leif Madsen and Jared Smith (2007). Asterisk: the future of telephonỵ ÓReilly Media, Inc
[3] David Gomillion and Barie Dempster (2009). Building feature- rich telephony systems with Asterisk. Packt Publishing Ltd
[4] Flavio Ẹ Goncalves (2010). Getting Started with Asterisk. V.Office Networks
[5] Paul Mahle(2004). VoIP Telephony with Asterisk. Signate, LLC
[6] Nir Simionovich (2009), Asterisk Gateway Interface 1.4 and 1.6 Programming. Packt Publishing [7] http://www.voip-infọorg [8] http://phpagịsourceforgẹnet [9] http://www.php.net [10] http://www.w3schools.com [11] http://www.wikipediạorg [12] http://mỵoperạcom/asteriskvn/blog/ [13] http://tutorial.phpvn.org/ [14] http://vnvoip.info/
- 47 -
Phụ lục 1:
Cài đặt Asterisk
Cài đặt Asterisk
Để cài đặt Asterisk, đầu tiên chúng ta cần phải cài đặt hệ điều hành linux trên máy tính của mình. Có thể cài hệ điều hành Linux Fedora , CentOS, Redhat, hoặc Ubuntụ Ở đây nhóm chọn hệ điều hành Ubuntu làm nền tảng cho hệ thống tổng đài Asterisk
Download các gói phần mềm DAHDI, lipri, Asterisk Ađons và Asterisk theo link: http://www.asterisk.org/downloads
- Giải nén chúng vào thƣ mục /usr/src/asterisk
Cài đặt gói DAHDI:
$ cd /usr/src/asterisk/dahdi