Lập mô hình luồng dữ liệu:
KH gửi quà
Tiếp nhận gửi quà Hướng dẫn
SĐT người gửi, SĐT người nhận
Lời chúc
Thời gian và bài hát gửi tặng
SĐT người gửi, SĐT người nhận File thu âm lời
chúc Thời gian gửi quà tặng
Biên tập yêu cầu gửi quà
Yêu cầu quà tặng đã được biên tập
Hình 23: Mô hình luồng dữ liệu tiếp nhận thông tin yêu cầu gửi tặng
Thuật toán xử lý:
Thành phần tiếp nhận yêu cầu gửi tặng – tổng đài quà tặng tiếp nhận yêu cầu gửi tặng đƣợc viết bằng ngôn ngữ cấp cáo php, trong đó có sử dụng thƣ viện phpagi và kết nối với cơ sở dữ liệu mysql.
Thƣ viện phpagi đƣợc sử dụng cho việc giao tiếp giữa ngôn ngữ bậc cao php với asterisk [7]
Lớp AGI đƣợc xây dựng trong thƣ viện phpagi để thuận tiện cho việc lập trình các kịch bản thoại trên ngôn ngữ php. Các phƣơng thức đƣợc sử dụng trong việc xây dựng hệ thống tiếp nhận yêu cầu gửi tặng:
58 Lấy số điện ngƣời gửi:
$SDTKH=$AGI->request['agi_callerid'];
Phát file hƣớng dẫn ngƣời gửi sử dụng tổng đài quà tặng âm nhạc: $ret=$AGI->exec("Background", SOUND_DIR ."/Lmdmenu1"); Bắt phím khách hàng ấn:
$key = $ret['result'];
Thu âm lời chúc của khách hàng:
$AGI->record_file($FileLoiChuc,"wav", "#");
Nhập chuỗi số: Số điện thoại ngƣời nhận, ngày, giờ, phút, giây kết thúc bằng phím #
$AGI->exec('Read','number');
Ngoài ra còn nhiều phƣơng thức khác nhƣ: Dial tới chăm sóc khách hàng, chờ nhập phím, nhận biến môi trƣờng của asterisk, thiết lập biến phiên.
Bên cạnh lớp AGI, tổng đài còn kết nối với cơ sở dữ liệu để thực hiện lƣu thông tin các yêu cầu gửi tặng:
$con = mysql_connect($DNMYSQL[host], $DNMYSQL[username], $DNMYSQL[password]);
Insert thông tin gửi tặng vào cơ sở dữ liệu:
$sql = "insert into tblVMusicYeucau (Source, Sender, Receiver, TimeIn, TimeCall, iConfirm) Values ($source,'$sender','$receiver',NOW(),'2000-01-01 00:00:00',0)"; $result = mysql_query($sql, $DBLINK);
Trong khi tiếp nhận các thông tin quà tặng, tổng đài kiểm tra và xử lý dữ liệu đầu vào thõa mãn các yêu cầu nhƣ có trên các phân tích ở 2.2.3 nhƣ: Số điện thoại ngƣời nhận, thời gian gửi tặng.
59 Bắt đầu SĐT hợp lệ Nhập số điện thoại người nhận Lấy SĐT người gửi bản ghi y/c được chứa trong db Vmusic Khởi tạo yêu cầu
gửi tặng
Lấy mã quà tặng vừa mới tạo
Nhập phím X Hướng dẫn nhập phím X=8 X=7 X=9 Hướng dẫn nhập SĐT người nhận
Hướng dẫn ghi âm tên bài hát và thời
gian gửi tặng
Nhập phím X Phát lại lời yêu cầu File ghi âm lời
chúc Hướng dẫn ghi âm
lời chúc
Ghi âm lời chúc
Nghe lại lời ghi âm
Ghi âm yêu cầu
X=8
File ghi âm yêu cầu Hướng dẫn nhập phím X=9 Hướng dẫn kích hoạt quà tặng Kết thúc Lấy mã quà tặng
vừa mới tạo
Đ S Đ S Đ S Đ S S Đ
Hình 24: Sơ đồ giải thuật tiếp nhận thông tin yêu cầu gửi tặng trong hệ thống quà tặng âm nhạc
Chi tiết của giải thuật xây dựng thành phần tiếp nhận yêu cầu gửi tặng – tổng đài quà tặng tiếp nhận yêu cầu gửi tặng đƣợc trình bày chi tiết trên sơ đồ khối.
60