Tổng quan về hệ thống tuyển sinh:

Một phần của tài liệu công nghệ voip và các tiện ích của công nghệ này (Trang 49)

4.1.1 Hoạt động:

 Khi khách hàng gọi đến tổng đài , khách hàng có thể biết được mã trường , điểm thi của một thí sinh nào đó ứng với số báo danh.

 Theo lí thuyết, tuỳ theo chương trình mà ta chuyển xử lí đến điện thoại viên hay để máy xử lí tự động.Và nếu chuyển đến điện thoại viên thì ta phải quản lí thêm kênh kết nối giữa người và máy.Điều này sẽ làm ta khó quản lí hơn.

 Và trong thực tế, tổng đài thường được xử lí một cách tự động. Nó tạo hiệu quả xử lí nhanh và dễ quản lí. Chính điều đó, trong ứng dụng này, ta sẽ tạo một ứng dụng hoàn toàn tự động.

4.1.2 Các thành phần và quá trình hoạt động:

 Các thành phần

 Database server – sql server : chứa dữ liệu của dịch vụ.  Hub – router : kết nối mạng và các máy tính cục bộ.

 Máy tính : dùng để truy xuất cơ sở dữ liệu cà cài đặt softphone.  Softphone -3CX: điện thoại giao tiếp với người dùng.

 Khi bạn gọi tới hệ thống ,ứng dụng sẽ xuất hiện ngay câu chào : “Chào mừng bạn đến với dịch vụ tra điểm tuyển sinh”.

 Xử lý của ứng dụng

 Giao tiếp trong mạng Lan

Trong phần demo này, ta cho các máy tính giao tiếp trog mạng Lan cục bộ chứ không giao tiếp với mạng điện thoại bên ngoài mạng được. Muốn kết nối được ta phải một thiết bị trung gian nào đó để có thể kết nối máy tính với máy điện thoại bên ngoài.

Trong thực tế,ứng dụng sẽ được giao tiếp trực tiếp với mạng điện thoại thông qua một số Card do công ty Digium sản xuất.Nó giúp việc giao tiếp thuận lợi hơn.

 Truy vấn dữ liệu

Toàn bộ thông tin điểm ,số báo danh,danh sách thí sinh đều được lưu trữ trong chương trinh SQL Server 2005.

Chương trình xử lý dựa vào thông tin mà người dùng cung cấp như mã thí sinh mà đáp ứng yêu cầu người dùng.

Chương trình đóng vai trò như client giao tiếp với SQL để gởi và nhận dữ liệu cần thiết.

Thông tin lấy được ở đây là dạng Text.  Phát ra âm thanh

Đây là quá trình giao tiếp giữa người và máy nên ta phải xử lí sao cho người dùng có thế nghe được âm thanh.

Khi thông tin được trả về, nó có dạng text nên ta phải chuyển sang dạng âm thanh tương ứng để người sử dụng hiểu được.  Tóm lại, chức năng chính của hệ thống là làm sao chuyển từ dạng text

sang dạng văn nói (tiếng nói) tương ứng với chữ đó. Và chức năng đó gọi là Text to Speech.

 Hoạt động

Khi gọi vào, hệ thống sẽ yêu cầu bạn nhập mã số dự thi để bắt đầu tra cứu.Khi nhập xong,dựa vào mã số dự thi này,chương trình sẽ tìm kiếm trong cơ sở dữ liệu và thông báo kết quả cho bạn.

4.2 Chức năng của hệ thống: 4.2.1 Tổng quát chức năng 4.2.1 Tổng quát chức năng

4.2.2 Sơ đồ xử lí chức năng Lựa chọn Lựa chọn phím bấm Nghe điểm thi Đọc kết quả theo SBD Nghe mã môn thi Không có sinh viên Gọi vào số 200 Nhập SBD khác Kết thúc cuộc gọi Truy vấn CSDL Trả lời tự động Phím 1 Phím 2

hết thời gian thao tác

hết thời gian thao tác không điểm hết thời gian xử lí Phím 2

4.3 Thiết kế lƣợc đồ dữ liệu quan hệ ERD 4.3.1 Các tập thực thể 4.3.1 Các tập thực thể

Hình 4.2: Mô hình tập thực thể

4.3.2 Diagram

4.4 Các bảng dữ liệu

4.4.1 Danh sách bảng dữ liệu:

 Trương

- Chứa các thông tin về trường

- Thuộc tính: matruong,tentruong,status  MonHoc

- Chứa thông tin về các môn thi - Thuộc tính: mamh,tenmh,status  SinhVien

- Chứa thông tin chi tiết về thí sinh.

- Thuộc tính: masv ,tensv,ngaysinh,status,matruong

 Diem

- Chứa kết quả điểm thi của thí sinh - Thuộc tính: masv,mamh,diem,status.  TuDien

- Chứa tập hợp các từ ngữ trong tiếng việt. - Thuộc tính : matu, tu

4.4.2 Mô tả các bảng:

 MonHoc

 Diem

 TuDien

4.4.3 Các mối liên hệ

 Mối liên hệ bảng Truong-SinhVien

- Mỗi sinh viên thi vào 1 trường và mỗi trường thì có nhiều sinh viên dự thi. Vì vậy,mối quan hệ là một-nhiều.

- Mỗi thí sinh thi vào 1 trường sẽ có 1 điểm tương ứng với môn thi

 Mối liên hệ bảng Monhọc- bảng Diem

- Mỗi môn học thì có 1 điểm số và mỗi điểm số được chấm cho nhiều môn học. Vì vậy, quan hệ là nhiều-một.

4.5 Những thuận lợi và khó khăn của ứng dụng: 4.5.1 Thuận lợi 4.5.1 Thuận lợi

 Chương trình server tổng đài nhẹ,tốn ít dung lượng bộ nhớ và dễ cài đặt.  Người dùng dễ dàng sử dụng dịch vụ thông qua các phím nhấn trên

softphone.

4.5.2 Khó khăn

 Chưa triển khai với cuộc gọi ngoài mạng do không có hỗ trợ phần cứng là card digium.

 Kết quả điểm trả về nhanh hay chậm tuỳ thuộc vào tốc độ đường truyền nhanh hay chậm.

 Việc dùng hàm text to speech để ghép từng từ làm cho chuỗi âm thanh còn rời rạc nên âm thanh không hay lắm.

CHƢƠNG 5: CÀI ĐẶT VÀ CẤU HÌNH HỆ THỐNG SERVER 5.1 Cài đặt các tính năng cơ bản của tổng đài Asterisk

5.1.1 Yêu cầu thiết bị:

 Cài đặt hệ điều hành Linux trên máy tính , có thể cài hệ điều hành Linux Fedora, CentOS, Redhat, hoặc Debian ,ở đây ta cài bản Centos server 5.6.

 Máy server cài hệ điều hành Linux để xây dựng hệ thống Server Asterisk. Ở đây, ta dùng hệ điều hành linux centos 5.6

 Máy client cài hai softphone là X-Lite và 3CX nối mạng với máy tính Server asterisk.(Ở đây server asterisk được chạy trên máy ảo Virtual

Box- link download:

https://www.virtualbox.org/wiki/Linux_Downloads.)

5.1.2 Các bƣớc cài đặt các gói Asterisk phiên bản 1.6.2.20

Tải các gói sau và để trong thư mục : usr/src/asterisk

 Asterisk 1.6.2.20 http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk- 1.6.2.20.tar.gz  Dahdi-2.4.1.2 http://downloads.asterisk.org/pub/telephony/dahdi- linux/releases/dahdi- linux-2.4.1.2.tar.gz  Dahdi-tool-2.4.1.2 http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi- tools- 2.4.1.2.tar.gz  Libpri 1.4.12 http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.12.tar.gz Sau khi tải thành công, ta giải nén các gói và cài đặt theo trình tự sau: (lệnh giải nén: tar –xzvf file nén)

 cd /usr/src/asterisk/libpri-1.4.12 make make install  cd /usr/src/asterisk/dahdi-linux-2.4.1.2 ./configure make all make install  cd /usr/src/asterisk/dahdi-tool-2.4.1.2

make config  cd /usr/src/asterisk/asterisk-1.6.2.20 ./configure make make install make config make samples

Ta có thể cài thêm gói Asterisk-Addon để hổ trợ các file âm thanh mp3…. Khởi động Asterisk bằng lệnh sau:

 service dahdi start  asterisk –cvvvv  asterisk –r Thoát khỏi Asterisk:

 Exit

 Shut down

5.1.3 Tải chƣơng trình Asterisk.NET:

 Chương trình Asterisk.NET giúp ta thực hiện cơ chế gọi từ xa FastAGI. Nó bao gồm chức năng quản lí API.

 Khi máy tổng đài muốn lấy một ứng dụng nào từ xa thì trên máy đó,ta chạy chương trình ứng dụng Asterisk.NET này lên và trả về kết quả cho máy server thông qua các Script.

 Link down: http://sourceforge.net/projects/asterisk-dotnet/

5.1.4 Cấu hình SIP cho softphone

 Link down: http://www.3cx.vn/dien-thoai-voip/index.html

 Với điện thoại phần mềm 3CX, bạn có thể gọi điện trực tiếp từ PC hoặc laptop tới mọi điện thoại phần mềm, di động hoặc cố định bằng cách sử dụng công nghệ thoại qua giao thức IP (VOIP) để truyền giọng nói qua mạng Internet.

 Để cấu hình cho SIP softphone dùng với 3CX hoặc X-Lite ta chỉ cần cấu hình một số thông số chính trong file sip.conf hoặc file đã được include trong file sip.conf như sau:

 Khi cấu hình phần mềm điện thoại, ta cần điền tên-kênh vào mục username, mật khẩu vào password và domain là địa chỉ IP của máy Asterisk.

 Các tham số khác không đặt tên thì hệ thống sẽ lấy tham số theo mặc định. Giá trị mặc định có thể theo giá trị mặc định của hệ thống hoặc theo giá trị được đặt chung trong mục [general] trong file sip.conf

Hình 5.1: Cấu hình Softphone [tên-kênh]

- type : tên kiểu;friend|user|peer.

- context : tên context ;dùng cho việc điều khiển cuộc gọi trong dialplan và để phân biệt một user theo quyền (user, admin) hay phân biệt theo phòng ban.

- secret : mật-khẩu

- callerid : "tên-user" <số-điện-thoại> ;sẽ được hiện thị trên máy người được gọi

- accountcode : tên-accountcode ;dùng phân biệt trong các file ghi cước CDR(tuỳ mà khai báo hay không) - host : dynamic

- mailbox : tên-hòm-thư@tên-context ;dùng cho mục đích voice mail

5.2Cài đặt Sql Server 2005 và tạo các bảng dữ liệu 5.2.1 Tại sao chọn Sql Server 2005 5.2.1 Tại sao chọn Sql Server 2005

 So với phiên bản củ SQL 7.0, SQL 2000 thì SQL 2005 chú trọng đến công tác bảo mật nhiều hơn phần mềm quản trị CSDL mã nguồn mở.  Mở rộng một số chức năng so với phiên bản trước ví dụ như Report,

SQL Server Profiler , Schema, thêm một số kiểu data mới, sao lưu dữ liệu nhanh chóng, an toàn hơn... nhằm đem lại cho người sử dụng thuận tiện, nhanh chóng.

 Chức năng SSL được tự động hóa hơn, thay vì lúc trước trên MS SQL 2000 khai báo tùm lum, thì trên SQL 2005 nó khai báo cho mình một cách tự động.

 Đối với người dùng doanh nghiệp, SQL Server Express dễ dàng cắm vào cho doanh nghiệp nhất quản lý môi trường SQL Server Express cũng cung cấp hỗ trợ cho cả hai cài đặt hoặc thiết lập dựa trên giao diện và cài đặt. Điều này cho phép các nhà phát triển phần mềm kiểm soát cuối cùng và tính linh hoạt trong việc cài đặt và thiết lập của nhúng vào cơ sở dữ liệu.

5.2.2 Bảng dữ liệu

 TuDien

CREATETABLE [dbo].[TuDien](

[matu] [int] IDENTITY(1,1) NOT NULL,

[tu] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

CONSTRAINT [PK_TuDien] PRIMARYKEYCLUSTERED (

[matu] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON

[PRIMARY] ) ON [PRIMARY]

 Truong

CREATETABLE [dbo].[Truong](

[matruong] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [tentruong] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL, [ghinho] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL,

CONSTRAINT [PK_Truong] PRIMARYKEYCLUSTERED (

[matruong] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON

[PRIMARY] ) ON [PRIMARY]

 SinhVien

CREATETABLE [dbo].[SinhVien]( [masv] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [tensv] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL, [ngaysinh] [datetime] NULL,

[matruong] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [ghinhho] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL,

CONSTRAINT [PK_SinhVien] PRIMARYKEYCLUSTERED (

[masv] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON

[PRIMARY] ) ON [PRIMARY] GO

ALTERTABLE [dbo].[SinhVien] WITHCHECKADD CONSTRAINT

[FK_SinhVien_Truong] FOREIGNKEY([matruong])

REFERENCES [dbo].[Truong] ([matruong]) GO

ALTERTABLE [dbo].[SinhVien] CHECKCONSTRAINT

[FK_SinhVien_Truong]

 MonHoc

CREATETABLE [dbo].[MonHoc]( [mamh] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [tenmh] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL, [ghinho] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL,

CONSTRAINT [PK_MonHoc] PRIMARYKEYCLUSTERED (

[mamh] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON

[PRIMARY] ) ON [PRIMARY]

 Diem

CREATETABLE [dbo].[Diem](

[masv] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [mamh] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NOT NULL, [diem] [float] NULL,

[ghinho] [nvarchar](50) COLLATE

SQL_Latin1_General_CP1_CI_AS NULL,

CONSTRAINT [PK_Diem] PRIMARYKEYCLUSTERED (

[masv] ASC, [mamh] ASC

)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON

[PRIMARY] ) ON [PRIMARY] GO

ALTERTABLE [dbo].[Diem] WITHCHECKADD CONSTRAINT

[FK_Diem_MonHoc] FOREIGNKEY([mamh])

REFERENCES [dbo].[MonHoc] ([mamh]) GO

ALTERTABLE [dbo].[Diem] CHECKCONSTRAINT

[FK_Diem_MonHoc] GO

ALTERTABLE [dbo].[Diem] WITHCHECKADD CONSTRAINT

[FK_Diem_SinhVien] FOREIGNKEY([masv])

REFERENCES [dbo].[SinhVien] ([masv]) GO

ALTER TABLE [dbo].[Diem] CHECK CONSTRAINT

5.3 Kết quả đạt đƣợc của việc thực thi tổng đài tự động 5.3.1 Cài đặt Server

 Đã xây dựng cài đặt phần mềm tổng đài Asterisk trên nền Linux Server Centos 5.6.

 Tìm hiểu cơ chế FASTAGI để gọi các ứng dụng từ xa trên các máy cục bộ.

Hình 5.2: Câu lệnh gọi dịch vụ từ xa.

5.3.2 Hoạt động của tổng đài:

 Khởi động tổng đài Asterisk trên server HĐH Linux Centos 5.6. bẳng lệnh : Asterisk –r

 Trong tổng đài, ta cấu hình trên 3 file chính trong thư mục etc/asterisk, đó là: sip.cof,extensions.conf,smb.conf

oVào sip.conf (etc/asterisk), ta đăng kí địa chỉ cho softphone có chức năng gọi và nghe. Đầu tiên, ta đăng kí 2 phone là 101 và 102.

Hình 5.4: Cấu hình file Sip

o Vào extensions.conf, ta ghi kế hoạch gọi cho tổng đài.

 Khai báo chức năng gọi điện thoại lẫn nhau cho 2 số điện thoại 101 và 102

 Khai báo số 200 để khi gọi vào sô 200 này, server sẽ gọi dịch vụ từ máy có địa chỉ 192.168.1.123 thông qua script mang tên “ivr”.

 Khai báo số 205 với tính năng ghi âm, khi gọi vào số 205,sau khi nghe tiếng bíp thì bạn có thể ghi âm,kết thúc ghi âm bấm phím # và sau 2 giây nó sẽ phát lại đoạn ghi âm trên.

Hình 5.5:Cấu hình file extensions  Cài đặt gói samba để chia sẻ dữ liệu:

o Kiểm tra gói samba đã cài chưa: rpm -qa | grep samba o Gõ lệnh cài đặt

yum install samba

o Tạo một thư mục để thực hiện share dữ liệu. Ví dụ tạo thư mục có tên là “share”:

mkdir/share o Phân quyền thư mục share:

chmod 777 –R /share/

o Ta cấu hình file smb.conf. Gõ lệnh: vi /etc/samba/smb.conf. Xuống dòng cuối cùng và thêm đoạn sau:

 Gõ lệnh : service smb start để khởi động samba

Hình 5.7: Khởi động samba  Thiết lập tài khoản mật khẩu cho người dùng samba:

Gõ lệnh: smbpasswd –a root

 Tiến hành nhập mật khẩu. Mật khẩu này dùng để truy cập vào máy chứa thư mục chia sẽ.

Hình 5.8: Khai báo user chia sẻ

 Trên Client, vào RUN gõ đường máy chủ chia sẽ dữ liệu:

 Truy cập thành công, vào “Thƣ mục chia sẻ” có tệp tin chia sẻ

 Chạy chương trình thực thi bẳng visual 2010 trên máy win 7 để nó tạo ra port 4573 và máy server thông qua port đó để thực thi chương trình.

 Dịch vụ được gọi thông qua các Script trong chương trình như sau:

Hình 5.12: Script kết nối với server

 Bật softphone 3CX lên với số điện thoại đã đăng kí.Ở đây là máy có số phone là 101.

 Bấm số 200 để gọi vào dịch vụ.

 Khi kết nối vào được hệ thống, thì sẽ xuất hiện câu chào mừng bạn đến với hệ thống.Câu chào như sau : ” Chào mừng bạn đến với tổng đài thông tin tra cứu điểm tuyển sinh. Mời bạn chọn số 1 để nghe thông tin về mã môn thi, chọn số 2 để nghe về kết quả điểm thi tuyển sinh.”

Hình 5.13: Màn hình đã kết nối vào dịch vụ

o Bấm phím 1 để nghe thông tin tổng quát

o Bấm phím 2 để bạn nhập vào mã thí sinh.

 Softphone nhận được chuỗi phím nhập vào bằng hàm GetData()  Sau đó,lấy giá trị nhận vào rồi tìm kiếm giá trị đó trong cơ sở dữ

liệu.

 Nếu tìm thấy sẽ đọc lên âm thanh kết quả điểm cho thí sinh đó,nếu không tìm thấy thì đọc lên kết quả không tìm thấy cho thí sinh.

o Một số trƣờng hợp xử lí lỗi:

 Khi bạn gọi đến số 200, nghe lời chào xong, không thao tác hay chọn bất kì phím nào, thì sau khoảng thời gian nhât định, hệ thống sẽ tự kết thúc cuộc gọi.

 Khi gọi vào tổng đài, ta có hai lựa chọn là số 1 và số 2, nếu bấm ngoài hai số trên, hệ thống sẽ đưa ra thông báo yêu cầu nhập lại số báo danh hoặc kết thúc cuộc gọi

Hình 5.16: trường hợp sai phím bấm

 Khi bấm số 2 để nghe điểm thi, nếu sinh viên đó chưa có điểm hay nhập số báo danh không có trong cơ sở dữ liệu thì thông báo lỗi “không có thí sinh”

5.3.3 Quá trình tổng hợp tiếng nói:

 Tổng hợp các từ ngữ thành một chuỗi

 Dùng hàm MergeFile để ghép các từng từ trong bộ từ điển tiếng việt thành một chuỗi kí tự.

 Chép các tất file .wav của từng từ ngữ vào trong đường dẫn bin của project để chương trình có thể tìm thấy từ đó và đọc lên.

 Ví dụ ta có project để trong ổ D:\ và ta phải chép filewave có sẵn vào đường dẫn bin :

Hình 5.18 : Thư mục để đọc các âm thanh từ file Text  Tạo các file âm thanh của từng thí sinh và để lên server

 Thuộc tính OutPath dùng để chứa chuỗi âm thanh xuất ra.

Một phần của tài liệu công nghệ voip và các tiện ích của công nghệ này (Trang 49)

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

(78 trang)