Phân tích thiết kế

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 78 - 128)

4.3.1 Kịch bản cho hệ thống

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Kịch bản Menu chính của hệ thống

Quy trình gửi quà tặng âm nhạc.

nhấn phím 1 nhấn phím 0

Chào mừng bạn đến với trung tâm vụ và chăm sóc khách hàng của chúng tôi. Nhấn phím 1 để gửi quà tặng âm nhạc, nhấn phím 0 để gặp nhân viên tư vấn khách hàng.. Gặp tổng đài viên Gửi Quà tặng âm nhạc Menu chính Nhập mã quà tặng Nhập lại mã quà tặng Mã sai iểm tra m quà tặng

M số sai, xin vui lòng nhập lại

Mã đúng

Nhập số điện thoại người nhận

Nhập m số quà tặng 4 chữ số. Để biết m số quà tặng truy cập trang web:www…

Nhập số điện thoại người nhận quà tặng

Đặt giờ gửi quà tặng b ng cách nhấn giờ theo định dạng:

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Giờ đúng

Giờ nhập không đúng, xin vui lòng nhập lại

Nhập lại giờ

Giờ sai

iểm tra ngày gửi quà tặng

Nhập giờ gửi quà

Đặt ngày gửi quà tặng b ng cách nhấn ngày theo định

dạng: thángtháng ngàyngàynămnăm.

iểm tra giờ gửi quà tặng

H y để lại lời nhắn sau tiếng Bíp Ngày nhập không đúng, xin vui lòng nhập lại Ngày đúng Ngày sai

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Quy trình gửi quà tặng âm nhạc.

Quy trình gặp nhân viên tư vấn

Ghi âm lại lời nhắn và thực hiện đặt lịch gửi quà tặng

Quà tặng đ đư c gửi .Cám ơn qu khách đ sử dụng dịch vụ. ết thúc gửi quà tặng Trở về đầu quy trình quà tặng âm nhạc Trở về menu chính Nhấn phím # Nhấn phím * Không nhấn phím * hoặc # trong 30 giây

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

4.3.2 Biểu đồ phân rã chức năng

Hình 4.1 Biểu đồ phân cấp chức năng

Đưa vào hàng đ i chờ đư c trả lời đồng thời

đư c nghe nhạc chờ

Nhân viên tư vấn trả lời khách hàng khi tới

lư t khách hàng đó

ết thúc cuộc gọi

Gặp nhân viên tƣ vấn

CALL CENTER

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

4.3.3 Biểu đồ ngữ cảnh

Hình 4.2 Biểu đồ ngữ ảnh

4.3.4 Biểu đồ luồng dữ liệu mức đỉnh

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

4.3.5 Giới thiệu về tiện ích Auto dial out

Để có thể thực hiện đƣợc việc gửi quà tặng trong tƣơng lai, phải sử dụng đến một tiện ích gọi Auto dial out trong Asterisk đó là asterisk call file.

Asterisk call file là một cấu trúc file mà khi chuyển vào thƣ mục thích hợp, có thể tự động thực hiện các cuộc gọi sử dụng Asterisk. Call file là cách tuyệt vời để thực hiện các cuộc gọi tự động mà không cần sử dụng các tính năng phức tạp của Asterisk nhƣ AMI

Cách thức hoạt động của Call file:

Di chuyển call file vào thƣ mục /var/spool/asterisk/outgoing/

Trong file modules.conf đặt autoload=no để chắc chắn rằng file pbx_spool.so đƣợc load, ngƣợc lại thì nó sẽ không hoạt động.

Nếu thay đổi thời gian call file trong tƣơng lai, Asterisk sẽ chờ cho đền khi giờ hệ thống phù hợp với thời gian thay đổỉ ở lần trƣớc đó để thực hiện call file.

Asterisk sẽ thông báo và ngay lập tức thực hiện các chỉ thị đƣợc xác định trong file call. Điều này có thể bao gồm kết nối với một bối cảnh Asterisk dialplan, hoặc thực hiện một dialplan.

Sau đó asterisk sẽ gỡ bỏ call file ra khỏi thƣ mục

/var/spool/asterisk/outgoing/ Cú pháp của 1 call file:

Xác định làm thế nào để gọi

Channel: <channel> : kênh để sử dụng cho cuộc gọi. CallerID: "name" <number> : Caller ID đƣợc gọi.

MaxRetries: <number> Số lần thử gọi lại tối đa khi thất bại (không bao gồm

cuộc gọi ban đầu, ví dụ nhƣ 0 thì tổng số cuộc gọi thực hiện là). Mặc định là 0.

RetryTime: <number> thời gian(s) giữa hai lần thử. Mặc định là 300 (5

phút).

WaitTime: <number> thời gian (giây) để đợi câu trả lời. Mặc định là 45. Account: Thiết lập các mã tài khoản để sử dụng.

Nếu cuộc gọi đƣợc trả lời, kết nối nó ở đây:

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Extension: <ext> đƣợc định nghĩa trongi extensions.conf Priority: <priority> ƣu tiên extension để bắt đầu

Set: Thiết lập một biến để sử dụng trong logic extension

Application : ứng dụng Asterisk để chạy (sử dụng thay vì xác định bối cảnh

extension và ƣu tiên)

Data: Các tùy chọn dữ liệu cho ứng dụng

Ví dụ: tạo 1 call file đơn giản Channel: SIP/2000 CallerID: 2000 MaxRetries: 2 RetryTime: 60 WaitTime: 30 Extension: call-test-file Trong file Extension.conf [call-file-test]

Exten=> 10,1,Answer() Exten=> 10,n,Wait(2)

Exten=> 10,n,Playback(hello-world) Exten=> 10,n,Hangup

Hệ thống sẽ tự động kiểm tra liên tục tất cả các file .call trong thƣ mục var/spool/asterisk/outgoing, nếu thời gian tạo ra file .call bằng đúng thời gian hệ thống thì hệ thống sẽ tự động gọi đến số điện thoại theo context đƣợc tạo trong file .call.

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

4.3.6 Cơ sở dữ liệu

Cớ sở dữ liệu phục vụ cho hệ thống cũng khá đơn giản.

Hình 4.4 Cơ sở dữ liệu

4.4 Triển khai hệ thống 4.4.1 Mô hình hệ thống

Hình 4.5 Mô hình logic hệ thống

Bảng MSBH dùng để lƣu mã số bài hát, trƣờng msbh là mã số bài hát và trƣờng tenbaihat là tên của bài hát. Bảng này nhằm mục đích để kiếm tra tính hợp lệ của mã bài hát khi khách hàng nhập vào.

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Trong hệ thống thực tế triển khai trong đồ án gồm có:

 1 Server Linux (Ubuntu 8.04) trên đó cài đặt phần mềm Asterisk version 1.4.x, MySQL 5.0, PHPAdmin.

 2 Softphone (X-lite)

Cấu hình đề nghị đối với PC cài đặt server Asterisk: CPU P4 2.4 Ghz

RAM 512 HDD 40G

4.4.2 Cài đặt các gói phần mềm. 4.4.2.1 Hệ Điều Hành Ubuntu 8.04

Sử dụng đĩa cài đặt Ubuntu version 8.04 và cài đặt mặc định các gói của hệ thống. Sau khi cài xong thì cần cài thêm các gói nhỏ sau để có thể cài và chạy đƣợc phần mềm Asterisk: gcc gcc++ kernel-devel bison openssl ncurses curl unixODBC, unixODBC-devel libtool mysql-connector-odbc, mysql-devel php-mysql, php, php-mcrypt

Ngoài ra còn cần mod_ssl, wget…

Gõ lệnh sau dƣới chế độ root để tự động cài đặt tất cả các gói cần thiết: Update your Ubuntu packages

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

# apt-get update # apt-get upgrade Install required

# apt-get install mc build-essential linux-headers-`uname -r`

# apt-get install libncurses5-dev libssl-dev libmysqlclient15-dev libnewt-dev zlib1g-dev

# apt-get install libxml2-dev libtiff4-dev libaudiofile-dev # apt-get install openssh-server curl sox lame mpg123

Đặt lại mật khẩu nhƣ mật khẩu root mysql server, hãy nhớ rằng đây chỉ là vì lợi ích sử dụng, sau này bạn phải thay đổi nó thành mật khẩu của bạn.

# apt-get install apache2 mysql-server php5 php5-cli php5-gd php5-mysql php-pear php-db

4.4.2.2 Cài đặt phần mềm Asterisk

+Tạo thƣ mục lƣu trữ các tập tin cài đặt Asterisk # cd /usr/src

# mkdir asterisk # cd asterisk

+ Dùng lệnh wget để tải các gói cài đặt Asterisk. Các gói này đƣợc lấy từ trang web chính của Asterisk http://www.asterisk.org/downloads bằng các click chuột phải vào dòng download của các gói cài đặt và chọn Copy Link Location. + Ta lần lƣợt download các gói tin về thƣ mục /usr/src/asterisk gồm:

-Asterisk-1.4.21.2 -Zaptel-1.4.21.1 -Libpri-1.4.7 -Addons-1.4.7 +Bằng cách sử dụng các lệnh sau: # wget http://downloads.digium.com/pub/asterisk/releases/asterisk- 1.4.21.2.tar.gz # wget http://downloads.digium.com/pub/zaptel/releases/zaptel- 1.4.12.1.tar.gz # wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.7.tar.gz

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons- 1.4.7.tar.gz

Giải nén chúng vào thƣ mục /usr/src/asterisk Tiến hành cài đặt: Install libpri # tar -zxf libpri-1.4.7.tar.gz # cd libpri-1.4.7 # make # make install # cd ../ Install Zaptel # tar -zxf zaptel-1.4.12.1.tar.gz # cd zaptel-1.4.12.1 # ./configure # make menuconfig Press x to save selections # make # make install # make config # cd ../ Install Asterisk # tar -zxf asterisk-1.4.21.2.tar.gz # cd asterisk-1.4.21.2 # ./configure # make menuconfig Press x to save selections # make

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

# make install # make samples # cd ../

Install Asterisk addons

# tar -zxf asterisk-addons-1.4.7.tar.gz # cd asterisk-addons-1.4.7 # ./configure # make menuconfig # make # make install # make samples # cd ../ 4.4.2.3 Cài đặt Softphone

Softphone đƣợc sử dụng ở đây là phần mềm X-Lite. Tiến hành download X- Lite 3.0 tại www.counterpath.com và cài đặt bình thƣờng.

Phần mềm hỗ trợ lập trình giao tiếp với Asterisk

Cài đặt thêm gói FreeTDS để hỗ trợ kết nối với Database SQL Server tại: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

Tiến hành cài đặt: ./configure;make;make install

Ngoài ra còn cần cài các gói để chuyển định dạng file âm thành từ mp3 sang gsm sau: mpg123, lame, sox.

4.4.2.4 Cài đặt PhpMyAdmin

Các chức năng của PhpMyAdmin

 PhpMyAdmin có thể quản lý toàn bộ MySQL Server.

 Xem dữ liệu, xóa CSDL, bảng, view, trƣờng và các chỉ số.

 Tạo, sao chép, xóa, đổi tên và thay đổi CSDL, các bảng các trƣờng và chỉ số.

 Bảo trì Server, các CSDL và các bookmark hay bất kì câu lệnh SQL hoặc một lô các câu lệnh.

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

 Nạp những tệp văn bản vào các bảng.

 Đọc vào tạo nhiều văn bảng.

 Xuất dữ liệu ra nhiều kiểu định dạng CSV, XML, PDF, Open text, Spreadsheet của open Word, Exel, Latex định đạng.

 Quản trị đa server.

 Quản lý ngƣời dùng và những đặc quyền.

 Kiểm tra các thực thể liên kết trong bảng MyISAM.

 Sử dụng truy vấn bằng ví dụ, tạo các truy vấn phức tạp một cách tự động.

 Tìm kiếm toàn bộ trong dữ liệu hoặc một dữ liệu con của nó.

 Thực hiện nhớ dữ liệu với bất kì định dạng sử dụng với những chức năng đƣợc thiết lập trƣớc, nhƣ là hiển thị dữ liệu định dạng ảnh hay các đƣờng liên kết.

 Hỗ trợ bảng và khóa dạng InnoDB.

 Hỗ trợ MySQLi.

 Hỗ trợ với hơn 50 ngôn ngữ.

Cài đặt

Có nhiều cách cài đặt PhpMyAdmin trên Linux, trong phần này xin hƣớng dẫn cách cài đặt PhpMyAdmin bằng dòng lệnh.

Cài đặt Apache

Để bắt đầu chúng tôi sẽ hƣớng dẫn cài đặt Apache.

1. Mở phần Terminal (Applications > Accessories > Terminal) 2. Copy/Paste dòng mã sau vào Terminal và nhấn phím enter: sudo apt-get install apache2

Terminal sẽ hỏi mật khẩu của bạn, nhập nó vào và nhấn enter. Kiểm tra Apache.

Để chắc chắn mọi thứ đã đƣợc cài đặt chính xác, chúng ta sẽ tiến hành kiểm tra Apache để đảm bảo nó hoạt động đúng cách.

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

1. Mở trình duyệt và sau đó nhập địa chỉ web sau đây vào ô địa chỉ: http://localhost/

2. Bạn sẽ thấy một thƣ mục có tên là apache2-default/. Mở thƣ mục đó ra, bạn sẽ nhận đƣợc thông báo là “It works!” và bạn đã thành công.

Cài đặt PHP.

Tiếp theo chúng ta sẽ tiến hành cài đặt PHP 5.

Bƣớc 1: Mở lại phần Terminal (Applications > Accessories > Terminal) . Bƣớc 2: Copy/Paste dòng lệnh sau vào Terminal và nhấn enter:

sudo apt-get install php5 libapache2-mod-php5.

Bƣớc 3: Hợp lệ để PHP làm việc và tƣơng thích với Apache và chúng ta phải khởi động lại nó. Nhập vào câu lệnh sau trong Terminal để thực hiện điều này:

sudo /etc/init.d/apache2 restart. Kiểm tra lại PHP.

Để đảm bảo không có vấn đề gì phát sinh đối với PHP, hãy kiểm tra lại nó bằng các bƣớc sau:

Bƣớc 1: Trong Terminal, copy và paste dòng lệnh sau rồi nhấn enter: sudo gedit /var/www/testphp.php

Câu lệnh này sẽ mở một file có tên là phptest.php. Bƣớc 2: Copy/Paste dòng lệnh sau vào file phptest: <?php phpinfo(); ?>

Bƣớc 3: Lƣu và đóng file lại

Bƣớc 4: Mở trình duyệt web của bạn và nhập vào địa chỉ sau: http://localhost/testphp.php

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Bạn sẽ thấy giao diện sau:

Hình 4.6 giao diện trang php khi cài đặt Việc cài đặt cả Apache và PHP đã thành công!

Cài đặt MySQL

Bƣớc 1: Lại tiếp tục mở lại Terminal và đƣa vào dòng lệnh sau: sudo apt-get install mysql-server

Bƣớc 2 (không bắt buộc): Để các máy tính khác trong mạng xem đƣợc server mà bạn đã tạo, đầu tiên là bạn phải chỉnh sửa “Bind Address”. Bắt đầu bằng việc mở Terminal để sửa file my.cnf.

gksudo gedit /etc/mysql/my.cnf Tại dòng

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

đổi địa chỉ 127.0.0.1 thành địa chỉ IP của bạn

Bƣớc 3: Đây là bƣớc quan trọng, nhập dòng lệnh sau vào Terminal: mysql -u root -p

Gõ dòng lệnh sau:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

(Hãy thay đổi yourpassword bằng mật khẩu mà bạn chọn)

Bƣớc 4: Giờ chúng ta sẽ tiến hành cài đặt chƣơng trình phpMyAdmin, đây là một công cụ đơn giản để chỉnh sửa cơ sở dữ liệu của bạn. Copy/paste dòng lệnh sau vào Terminal:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin Sau khi đã cài đặt mọi thứ, bƣớc tiếp theo cần thực hiện là làm cho PHP có thể làm việc cùng với MySQL. Để thực hiện điều này, chúng ta cần mở file php.ini bằng cách nhập vào dòng lệnh sau:

gksudo gedit /etc/php5/apache2/php.ini

Trong file này, chúng ta cần bỏ dấu chú thích ở dòng lệnh sau bằng cách bỏ đi dấu chấm phẩy đầu dòng (;):

;extension=mysql.so

Thay đổi nó thành nhƣ sau: extension=mysql.so

Giờ thì bạn có thể khởi động lại Apache và hoàn thiện toàn bộ quá trình cài đặt!

sudo /etc/init.d/apache2 restart

Cài đặt phpMyAdmin

apt-get install phpmyadmin

Trong khi cài đặt, bạn sẽ đƣợc nhắc chọn các máy chủ web đó sẽ đƣợc sử dụng để chạy phpMyAdmin. Chọn Apache2.

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Sau khi cài đặt ,thực hiện lệnh sau để sao chép các thƣ mục phpMyAdmin vào thƣ mục / var / www / . (Theo mặc định nó đƣợc cài đặt trong thƣ mục / usr / share / phpmyadmin /.)

ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

Bây giờ bạn có thể vào các trang đăng nhập phpMyAdmin bằng cách trỏ trình duyệt của bạn: http://ipubuntu/phpmyadmin/index.php

Sau khi kết thúc quá trình cài đặt theo bài hƣớng dẫn tnhƣng nếu vẫn chƣa khởi động đƣợc phpmyadmin thì fix nhƣ sau:

gedit /etc/apache2/apache2.conf

Thêm vào dòng : Include /etc/phpmyadmin/apache.conf

Và sau đó restart lại apache bằng lệnh

/etc/init.d/apache2 restart

Quá trình cài đặt PhpMyAdmin đã hoàn tất, để vào giao diện của nó ta vào trình duyệt gõ lệnh :http://locahost/phpmyadmin.

Sử dụng PhpMyAdmin

Sau khi vào trình duyệt gõ lệnh http://locahost/phpmyadmin thì sẽ hiển thị cửa sổ yêu cầu nhập vào user, pass, và CSDL nếu có :

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Hình 4.7 Đăng nhập PhpMyAdmin Sau khi đăng nhập đúng sẽ ra màn hình hiển thị:

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

4.4.3 Cấu hình hệ thống Asterisk

Cấu hình các file .conf nhƣ sau:

Extensions.conf: //để tặng nhạc [guiqua] exten=>10,1,Ringing() exten=>10,n,Answer() exten=>10,n,Wait(1) exten=>10,n,Playback(do-an/${MSG}) exten=>10,n,Wait(1)

exten=>10,n, Playback (do-an/${MABH}) exten=>10,n,Hangup() [qtangamnhac] exten=>1234,1,Answer() exten=>1234,2,goto(mainmenu,s,1) [mainmenu] exten=>s,1,Background(chaomung) exten=>s,2,waitexten(30) exten=>s,3,Playback(goodbye) exten=>s,4,hangup() exten=>0,1,goto(nvtv,s,1) exten=>1,1,goto(qtan,s,1) exten=>2,1,goto(saimenu,s,1) exten=>3,1,goto(saimenu,s,1)

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk exten=>4,1,goto(saimenu,s,1) exten=>5,1,goto(saimenu,s,1) exten=>6,1,goto(saimenu,s,1) exten=>7,1,goto(saimenu,s,1) exten=>8,1,goto(saimenu,s,1) exten=>9,1,goto(saimenu,s,1) exten=>*,1,goto(saimenu,s,1)

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 78 - 128)