Ngữ cảnh hướng dẫn nghe lại dịch vụ xổ số

Một phần của tài liệu ĐỒ án xây DỰNG các DỊCH vụ GIÁ TRỊ GIA TĂNG ASTERISK (Trang 47)

3.3.2.1. TẠO DATABASE CHO DỊCH VỤ

▪ Đăng nhập vào MySQL bằng lệnh: mysql -u root -p

▪ Tạo database tên kqxsvietlott: create database kqxsvietlott

▪ Chọn database vừa tạo: use kqxsvietlott

▪ Tạo bảng database tên kqxs:

create table kqxs(ngayxs varchar(2) NOT NULL,cap_mot varchar(2) NOT NULL,cap_hai varchar(2) NOT NULL,cap_ba varchar(2) NOT NULL,cap_bon varchar(2) NOT NULL,cap_nam varchar(2) NOT NULL,cap_sau varchar(2) NOT NULL,KEY(ngayxs));

▪ Kiểm tra các thuộc tính của bảng: describe kqxs;

Hình 3.3: Các thuộc tính của bảng kqxs

▪ Thêm các trường dữ liệu (field) vào bảng, các field này bao gồm ngày xổ số và kết quả xổ số tương ứng

INSERT INTO kqxs VALUES('03','02','15','20','32','33','44'); INSERT INTO kqxs VALUES('05','02','08','15','16','19','25'); INSERT INTO kqxs VALUES('07','03','77','09','18','28','39'); INSERT INTO kqxs VALUES('10','05','21','31','33','38','42'); INSERT INTO kqxs VALUES('12','02','13','15','17','18','41'); INSERT INTO kqxs VALUES('14','16','17','30','32','34','38'); INSERT INTO kqxs VALUES('17','02','05','12','21','22','40'); INSERT INTO kqxs VALUES('19','01','08','16','14','18','31');

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 40

INSERT INTO kqxs VALUES('21','10','11','13','14','16','38'); INSERT INTO kqxs VALUES('24','07','12','25','28','40','44'); INSERT INTO kqxs VALUES('26','01','20','28','32','42','44'); INSERT INTO kqxs VALUES('28','03','06','17','21','32','40');

▪ Trong đó ngày xổ số của vietlott là các ngày thứ 4, thứ 6, chủ nhật trong tuần, cho nên em chọn tháng có 30 ngày và ngày đầu tháng là thứ 2 để thực hiện tạo database làm demo cho đồ án.

▪ Show bảng vừa tạo ra: select * from kqxs;

Hình 3.4: Bảng database kqxs

Bảng trên miêu tả:

ngayxs (ngày xổ số) là các ngày trong một tháng, trong đó ngày 01 tương ứng với thứ 2 trong tháng đó, ngày 03 tương ứng thứ 4 và cũng là ngày vietlott mở thưởng vì trong một tuần vietlott quay thưởng vào thứ 4, thứ 6 và chủ nhật.

Cap_mot (cặp một) là cặp số thứ nhất trong 6 cặp số trúng giải jackpot. Tiếp theo là các cặp số kế tiếp cap_hai, cap_ba cho đến cap_saụ

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 41

3.3.3. DỊCH VỤ TRA CỨU THƠNG TIN TUYỂN DỤNG

Hình 3.5: Lưu đồ giải thuật dịch vụ tuyển dụng

bạn nhập không đúng vui lịng nhập lại

sai

Mời bạn chọn cơng ty muốn tra cứu Phím 1 : VNPT Phím 2 : VIETTEL Phím 3 : FPT chọn lĩnh vực tuyển dụng Phím 1: mạng Phím 2: vơ tuyến Phím 3: truyền dẫn Kiểm tra Dịch vụ tuyển dụng phím 2 Kiểm tra Kiểm tra Play file tuyển dụng

Tương ứng với các đối số nhập vào sai đúng sai đúng

Hướng dẫn nghe lại hoặc tra thông tin khác

đúng

bạn nhập khơng đúng vui lịng nhập lại

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 42 Lưu đồ sau đây trình bày q trình hệ thống tổng đài nhận thơng tin u cầu từ người sử dụng dịch vụ tra cứu thông tin tuyển dụng. Khách hàng nhấn phím 2 để sử dụng dịch vụ tra cứu thông tin tuyển dụng.

Khách hàng sẽ được nghe lời chào về dịch vụ tra cứu thông tin tuyển dụng ngành viễn thông của khoa viễn thơng thuộc học viện cơng nghệ bưu chính viễn thông TP.HCM và được hướng dẫn cú pháp để tra cứu tuyển dụng, như chọn công ty muốn tra cứu thông tin tuyển dụng. công ty tuyển dụng em demo gồm có 3 cơng ty lớn VNPT, VIETTEL và FPT. Nếu khách hàng nhập sai mã cần tra, hệ thống sẽ thông báo sai cú pháp và yêu cầu nhập lại mã.

Sau khi khách hàng chọn mã cơng ty, sẽ có một thơng báo u cầu chọn chun ngành viễn thơng muốn tra cứu, có 3 chun ngành lớn Mạng viễn thông, Vô tuyến và Truyền dẫn.

Nếu khách hàng nhập sai mã ngành cần tra, hệ thống sẽ thông báo sai cú pháp và yêu cầu nhập lại mã ngành. Phím số Nội dung 1 Chọn VNPT 2 Chọn VIETTEL 3 Chọn FPT Bảng 3.2: Ngữ cảnh chọn cơng ty Phím số Nội dung

1 Chọn chuyên ngành mạng viễn thông 2 Chọn chuyên ngành vô tuyến

3 Chọn chuyên ngành truyền dẫn

Bảng 3.3: Ngữ cảnh chọn chuyên ngành ngành

Phím số Nội dung

1 Nghe lại thông tin tuyển dụng vừa tra 2 Chọn chuyên ngành khác

3 Chọn công ty khác 4 Chọn dịch vụ khác

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 43

3.3.4. CẤU HÌNH HỆ THỐNG CHO HAI DỊCH VỤ 3.3.4.1. CẤU HÌNH FILE EXTENSIONS.CONF 3.3.4.1. CẤU HÌNH FILE EXTENSIONS.CONF

[tongdai]

exten => 18001234,1,Answer(500)

exten => 18001234,n,goto(mainmenu,s,1) ;MENU CHINH

[mainmenu]

exten => s,1,Noop(Welcome to hoc vien con nghe buu chinh vien thong) exten => s,2,Answer(500) exten => s,3,Background(loi_chao_mainmenu) ;chờ khach nhấn số chọn lọai dịch vụ exten => s,4,WaitExten(30) exten => s,5,Playback(goodbye) exten => s,6,Hangup() ;nghe lại exten => *,1,goto(mainmenu,s,3) ;khach chon so 1

exten => 1,1,goto(KQXS,s,1) ;nhảy đến nhãn KQXS ;khach chon so 2

exten => 2,1,goto(tuyen_dung,s,1) ;nhảy đến nhãn tuyen_dung ;khách chọn số khác thì nhảy đến saimenu exten => _X,1,goto(saimenu,s,1) ;MENU SAI [saimenu] exten => s,1,Playback(nhap_sai_mainmenu) exten => s,n,goto(mainmenu,s,3) ;MENU KQXS [KQXS]

exten => s,1,Noop(Welcome to AGI- tra cu ket qua xs vietlott) exten => s,n,AGI(KQXS.php)

exten => s,n,goto(mainmenu,s,3) exten => s,n,Hangup()

;MENU TUYEN DUNG [tuyen_dung]

exten => s,1,Noop(Welcome to AGI- tra cu thong tin tuyen dung) exten => s,n,AGI(tuyendung.php)

exten => s,n,goto(mainmenu,s,3) exten => s,n,Hangup()

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 44

3.3.4.2. CẤU HÌNH AGI SCRIPT

- Truy cập file agi-bin qua đường dẫn /var/lib/asterisk/agi-bin - Tạo 2 file script tên KQXS.php và tuyendung.php

- Tiến hành viết code cho từng file

Code file KQXS.php #!/usr/bin/php <?php require('phpagi/phpagịphp'); set_time_limit(30); //-----------------Connect database-----------------------------------------// $dbservertype='mysql'; $servername='127.0.0.1'; $dbusername='root'; $dbpassword='tel4vn'; $dbname='kqxsvietlott'; mysql_connect($servername,$dbusername,$dbpassword); mysql_select_db($dbname); //-----------------xử lý dia plan--------------------------------------------// $agi = new AGI();

$agi->answer(500);

$agi->stream_file('cam_on_xs'); ketquakhac:

$num_rows = 0;

//-----------vịng lặp chờ nhận thơng tin phía khách--------------------// while($num_rows ==0 )

{

//-----------------lấy dữ liệu khách nhập vào------------------------------// $get_ngayxs = $agi->get_datắmoi_nhap_ngay_xs',30000,2); $ngayxs = $get_ngayxs['result'];

$agi->noop("Ngay xo so ban vua nhap la: ".$ngayxs);

// ----------------lấy dữ liệu trong database ra----------------------------// $get = mysql_query("select * from kqxs where ngayxs='$ngayxs'");

$num_rows = mysql_num_rows($get);

//-----------nếu khơng có dữ liệu phù hợp thì $num_rows == 0--------// if ($num_rows == 0)

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 45

{

$agi->stream_file('nhap_sai_ngay_xs'); }

}

//-------- nếu đúng thì thốt khỏi vịng lặp chạy lệnh tiếp theo---------// sleep(1); $agi->stream_file('cho_giay_lat'); $result = mysql_fetch_array($get); $cap1 = $result["cap_mot"]; $cap2 = $result["cap_hai"]; $cap3 = $result["cap_ba"]; $cap4 = $result["cap_bon"]; $cap5 = $result["cap_nam"]; $cap6 = $result["cap_sau"]; //----------đọc kết quả xổ số----------------------------------------------// nghelai: $agi->stream_file('ket_q_xs_lá); if($cap1>=1 and $cap1<=9) { $agi->say_number(0); $agi->say_number($cap1); } else{$agi->say_number($cap1);} sleep(1);

if($cap2>=1 and $cap2<=9) { $agi->say_number(0); $agi->say_number($cap2); } else{$agi->say_number($cap2);} sleep(1);

if($cap3>=1 and $cap3<=9) { $agi->say_number(0); $agi->say_number($cap3); } else{ $agi->say_number($cap3);} sleep(1);

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 46

if($cap4>=1 and $cap4<=9) { $agi->say_number(0); $agi->say_number($cap4); } else{ $agi->say_number($cap4);} sleep(1);

if($cap5>=1 and $cap5<=9) { $agi->say_number(0); $agi->say_number($cap5); } else{$agi->say_number($cap5);} sleep(1);

if($cap6>=1 and $cap6<=9) {

$agi->say_number(0); $agi->say_number($cap6); }

else{$agi->say_number($cap6);}

//---------------hướng dẫn nghe lại------------------------------// $get_nghelai = $agi->get_datắnghe_lai_xs',20000,1); $nghelai = $get_nghelai['result'];

if($nghelai==1){goto nghelai;}

else if($nghelai==2){goto ketquakhac;} else if($nghelai==3){goto vemenu9;} $agi->stream_file('sai_tam_biet'); $agi->Hangup(); vemenu9: sleep(1); mysql_close(); ?>

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 47 ▪ Code file tuyendung.php

#!/usr/bin/php <?php

require('phpagi/phpagịphp'); set_time_limit(30);

//-----------play file lời chào----------------------------------------// $agi = new AGI();

$agi->answer(500);

$agi->stream_file('cam_on_td'); sleep(1);

//----------lấy mã công ty-------------------------------------------// chonCty:

$macty=0;

$get_maCty = $agi->get_datắnhap_maCtý,20000,1); $maCty = $get_maCty['result'];

$agi->noop("ma cong ty ban vua nhap la: ".$maCty); //----------------------------------------------------

if($maCty == 1){sleep(1);

$agi->stream_file('chon_vnpt'); }

else if($maCty == 2){sleep(1);

$agi->stream_file('chon_viettel'); }

else if($maCty == 3){sleep(1); $agi->stream_file('chon_fpt'); }

else if($maCty != 1 or 2 or 3){sleep(1); $agi->stream_file('nhap_saí); goto chonCty; } sleep(1); //----------lấy mã ngành-----------------------------------------------// chonNganh: $get_maNganh = $agi->get_datắnhap_maNganh',20000,1); $maNganh = $get_maNganh['result'];

$agi->noop("ma nganh ban vua nhap la: ".$maNganh); if($maNganh == 1){$agi->stream_file('cho_giay_lat');} else if($maNganh==2){$agi->stream_file('cho_giay_lat');}

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 48 else if($maNganh==3){$agi->stream_file('cho_giay_lat');} else if($maNganh != 1 or 2 or 3) { $agi->stream_file('nhap_saí); goto chonNganh; } //-------hàm xử lý đối số khách hàng nhập vào--------------------------// if($maCty==1 and $maNganh==1){$chonNganh=11;}

else if($maCty==1 and $maNganh==2){$chonNganh=12;} else if($maCty==1 and $maNganh==3){$chonNganh=13;} else if($maCty==2 and $maNganh==1){$chonNganh=21;} else if($maCty==2 and $maNganh==2){$chonNganh=22;} else if($maCty==2 and $maNganh==3){$chonNganh=23;} else if($maCty==3 and $maNganh==1){$chonNganh=31;} else if($maCty==3 and $maNganh==2){$chonNganh=32;} else if($maCty==3 and $maNganh==3){$chonNganh=33;}

//-------play file tuyển dụng mà hàm vừa xử lý-------------------------// nghelai:

$agi->noop("ma cong ty va ma nganh la: ".$chonNganh); //$agi->noop("ma nganh ban vua nhap la: ".$bien); switch($chonNganh){

case 11:

$agi->stream_file('mang_vnpt'); break;

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 49 $agi->stream_file('votuyen_vnpt'); break; case 13: $agi->stream_file('truyendan_vnpt'); break; case 21: $agi->stream_file('mang_viettel'); break; case 22: $agi->stream_file('votuyen_viettel'); break; case 23: $agi->stream_file('truyendan_viettel'); break; case 31: $agi->stream_file('mang_fpt'); break; case 32: $agi->stream_file('votuyen_fpt'); break; case 33: $agi->stream_file('truyendan_fpt'); break; default: break;

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 50

}

//--------------hướng dẫn nghe lại--------------------------// $get_nghelai = $agi->get_datắnghe_lai_td',20000,1); $nghelai = $get_nghelai['result'];

$agi->noop("ma nghe lai vua nhap la: ".$nghelai); if($nghelai==1){goto nghelai;}

else if($nghelai==2){goto chonNganh;} else if($nghelai==3){goto chonCty;} else if($nghelai==4){goto vemenu9;} $agi->stream_file('sai_tam_biet'); $agi->Hangup();

vemenu9: sleep(1); ?>

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 51

3.3.5. KẾT QUẢ ĐẠT ĐƯỢC

Trong quá trình thực hiện đề tài, em đã thực hiện được các dịch vụ của tổng đài bằng lập trình PHPAGI:

✓ Dịch vụ tra cứu kết quả xổ số vietlott

Hình 3.6: Kết quả Demo dịch vụ xổ số

✓ Dịch vụ tra cứu thông tin tuyển dụng

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 52

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 4.1. ĐÁNH GIÁ CHUNG 4.1. ĐÁNH GIÁ CHUNG

Nhìn chung tổng đài IP PBX Asterisk là một giải pháp cung cấp tổng đài điện thoại khá hồn hảo, các cơng ty có mơ hình phân bố rộng có thể áp dụng triển khai khá tốt. các dịch vụ triển khai tương đối hoàn thiện, mở ra nhiều hướng để triển khai nhiều dịch vụ khác có tính ứng dụng caọ Sau đây là đánh giá lại ưu điểm và nhược điểm của tổng đài và các dịch vụ.

4.1.1. ƯU ĐIỂM

✓ Nền tảng mã nguồn mở chạy trên nền Linux cụ thể là CentOS và cộng đồng sử dụng lớn giúp việc hoàn thiện hệ thống tốt hơn.

✓ Xây dựng hệ thống với chi phí thấp, giàu tính năng ( IVR, Voicemail…)

✓ 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 đề tài 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.

4.1.2. NHƯỢC ĐIỂM

✓ Tín ổn định khơng cao bằng điện thoại truyền thống. do hệ thống phụ thuộc nhiều vào server, đường truyền internet, bị chặn bởi Firewall…khi các vấn đề này giải quyết không hợp lý sẽ sinh ra không ổn định trong hoạt động.

✓ Thói quen sử dụng softphone khơng nhiều, việc sử dụng softphone để gọi điện thoại không tiện lợi bằng điện thoại truyền thống trong khi đầu tư IP Phone có chi phí khá caọ

✓ Các dịch vụ triển khai trong đề tài có chất lượng âm thanh chưa tốt. Dịch vụ tra cứu thơng tin tuyển dụng chưa có nhiều cơ sở dữ liệu, mức độ khả thi khơng cao vì nội dung tuyển dụng khá dài có thể khắc phục bằng ứng dụng tin nhắn vào dịch vụ tra cứu thông tin.

✓ 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 xun 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ụ.

SVTH: NGUYỄN VĂN CHIẾN LỚP: L14CQVT01-N Page | 53

4.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI

✓ Vì thời gian làm đồ án có hạn, cũng như kiến thức về linux và tổng đài Asterisk không sâu nên đồ án dừng lại ở mức độ xây dựng một tổng đài nội bộ và triển khai 2 dịch vụ cơ bản. khi triển khai thực tế có rất nhiều khó khăn về mặt xử lý kỹ thuật cũng như đảm bảo QoS và bảo mật hệ thống, sửa lỗi trong các cấu hình đặc thù mạng thực tế của từng của công tỵ

✓ Hướng phát triển của đề tài là triển khai thực tế một tổng đài Asterisk có cơ chế bảo mật, đảm bảo QoS. Có thể phát triển thành một trung tâm hỗ trợ khách hàng (Call center).

✓ Cung cấp các dịch vụ giá trị gia tăng hồn thiện mang tính ứng dụng thực tế caọ Kết hợp với Web Service triển khai các dịch vụ có cơ sở dữ liệu động.

Một phần của tài liệu ĐỒ án xây DỰNG các DỊCH vụ GIÁ TRỊ GIA TĂNG ASTERISK (Trang 47)

Tải bản đầy đủ (PDF)

(66 trang)