76431256-407170129-ntt
TRANSCRIPT
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 1/78
Đồ án tốt nghiệp Đại học Mở đầu
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
MỞ ĐẦU
----oo00oo----
Công nghệ thoại qua nền Internet dùng giao thức IP (Voice Over IP – VoIP), là một công nghệ mà cho phép ta tạo cuộc gọi bằng cách kết nối băngthông rộng thay vì dùng đường dây điện thoại sử dụng tín hiệu tương tự (analog).
Công nghệ Voip dựa trên chuyển mạch gói (thay thế công nghệ chuyểnmạch kênh). Nó có thể nén và ghép nhiều kênh thoại trên một đường truyền tínhiệu. Các tín hiệu này được truyền qua mạng Internet, vì thế có thể giảm giá thành
đáng kể. Để thực hiện việc truyền tải này, điện thoại IP phải tích hợp sẵn các giaothức báo hiệu chuẩn như SIP hay H.323 để kết nối tới một tổng đài IP của doanh
nghiệp hay nhà cung cấp.
Để đáp ứng nhu cầu trên,đã có một phần mềm ra đời trên sự kết hợp giữachuyển mạch VoIP và chuyển mạch TDM. Sản phẩm này là một hệ thống chuyểnmạch mềm – mã nguồn mở. Nó được viết bằng ngôn ngữ C,tích hợp chạy trên nền
Linux. Đó chính là phần mềm Asterisk. Sản phẩm này thực hiện đầy đủ các tínhnăng của một tổng đài cùng một số tiện ích mới rất hấp dẫn.
Asterisk ra đời vào năm 1999 bởi một sinh viên sinh năm 1977 tên là Mark Spencer. Anh ta viết phần mềm này ban đầu với mục đích hỗ trợ cho công ty của
mình trong việc liên lạc đàm thoại.
Asterisk hỗ trợ nhiều giao thức truyền thông khác nhau do sự kết hợp côngnghệ hiện đại VoIP và công nghệ PSTN . Điều này làm cho nó một công cụ mạnhcho việc xây dựng các gateway và việc chuyển đổi giao thức.
Để tìm hiểu thêm về hệ thống phần mềm Asterisk , chúng ta phải hiểucông nghệ Voip và các tiện ích của công nghệ này.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 2/78
Đồ án tốt nghiệp Đại học Lời cám ơn
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
LỜI CẢM ƠN ----oo00oo----
Trong kì thực tập tốt nghiệp và làm luận văn tốt nghiệp vừa qua,em đã có
cơ hội để áp dụng những kiến thức mà mình đã học vào thực tế. Đồng thời, em
đã có thêm những kiến thức cơ bản về kỹ thuật viễn thông, kiến thức về ngôn ngữlập trình C#.
Sau một thời gian làm việc ,với sự hướng dẫn và trợ giúp tận tình của thầy
Trần Minh Nhật, em đã hoàn thành đề tài này một cách thuận lợi và gặt hái đượ c
một số kết quả khả quan.
Em xin chân thành cảm ơn khoa Công nghệ Thông tin II, đã tạo điều kiện
thuận lợi và giúp đỡ chúng em hoàn thành tốt khóa luận tốt nghiệp này.
Em xin chân thành cảm ơn thầy Trần Minh Nhật – giáo viên hướng dẫn đề tài
này, đã chỉ dạy tận tình, giúp đỡ em rất nhiều trong quá trình làm đề tài.
Em xin chân thành cám ơn các thầy cô trong khoa Công nghệ thông tin II đã
tạo điều kiện tốt cho em hoàn thành đề tài.
Em xin chân thành cảm ơn đến các anh chị ở công ty quốc tế Sông Hồng, đ ã
tạo điều kiện và hỗ trợ cho em hoàn thành tốt đề tài trong kì thực tập và luận văn
vừa qua.Trên nền tảng những gì đã thực hiện, em sẽ tiếp tục phát triển đề tài này để
phần mềm này có thể áp dụng trong thực tế.
Tuy em đã cố gắng hoàn thành thật tốt đồ án tốt nghiệp nhưng chắc chắn sẽ
không tránh khỏi những thiếu sót.
Kính mong quí Thầy Cô và các bạn góp ý để đề tài hoàn thiện hơn.
Xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thanh Tâm
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 3/78
Đồ án tốt nghiệp Đại học Mục lục
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
MỤC LỤC MỞ ĐẦU ......................................................................................................................................... 0
CHƢƠNG 1: TỔNG QUAN VỀ VOIP ........................................................................................ 1
1.1 Giới thiệu VoIP ................................................................................................................... 1
1.1.1 Khái niệm: .............................................................................................................. 1
1.1.2 Ƣu và Khyết của VoIP:.......................................................................................... 2
1.2 Các thiết bị dùng trong VoIP: ........................................................................................... 2
1.2.1 VoIP phone ............................................................................................................. 2
1.2.2 Softphone ................................................................................................................ 2
1.2.3 Card giao tiếp vớ i PSTN........................................................................................ 2
1.2.4 ATA (Analog Telephone Adaptors)...................................................................... 3
1.3 Ƣu điểm sử dụng tổng đài IP-PBX so với PBX truyền thống......................................... 4
CHƢƠNG 2: TÌM HIỂU TỔNG ĐÀI ASTERISK .................................................................... 62.1 Lí do chọn tổng đài IP ........................................................................................................ 6
2.1.1 Tích hợp dễ dàng.................................................................................................... 6
2.1.2 Giảm chi phí cuộc gọi ............................................................................................ 6
2.1.3 Không cần dây điện thoại riêng ............................................................................ 6
2.1.4 Không bị khoá bởi nhà sản xuất và mở rộng đƣợc ............................................. 6
2.1.5 Dịch vụ khách hàng và hiệu năng tốt ................................................................... 7
2.1.6 Tính năng mới cập nhật liên tục ........................................................................... 7
2.1.7 Kiểm soát tốt hơn nhờ báo cáo đầy đủ ................................................................. 7
2.1.8 Xem tổng quan tình trạng hệ thống hiện tại ........................................................ 7
2.1.9 Di chuyển dễ dàng .................................................................................................. 7
2.2 Tìm hiểu hệ thống mã nguồn mở Asterisk ....................................................................... 7
2.2.1 Vì sao chọn phần mềm Asterisk ............................................................................ 7
2.2.2 Giới thiệu Asterisk ................................................................................................. 8
2.3 Kiến trúc hệ thống ............................................................................................................ 10
2.3.1 Asterisk là thiết bị trung gian ............................................................................. 10
2.3.2 Asterisk hỗ trợ nhiều loại điện thoại .................................................................. 10
2.3.3 Hệ thống Asterisk PBX Switching Core............................................................... 10
2.3.4 Chức năng các API(Application Program Interface) ....................................... 11
2.4 Tính năng cơ bản .............................................................................................................. 11
2.4.1 Một số chức năng trong tổng đài Asterisk ......................................................... 11
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 4/78
Đồ án tốt nghiệp Đại học Mục lục
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
2.4.2 Một số định dạng file ........................................................................................... 13
2.5 Các giao thức VoIP trong hệ thống Asterisk ................................................................. 13
2.5.1 IAX(Inter-Asterisk Exchange)............................................................................ 13
2.5.2 SIP ......................................................................................................................... 14
2.5.3 H.323 ..................................................................................................................... 162.5.4 MGCP(Media Gateway Control Protocol) ........................................................ 18
2.5.5 Skinny/SCCP ........................................................................................................ 18
2.5.6 UNISTIM .............................................................................................................. 19
2.6 Ngữ cảnh ứng dụng trong tổng đài IP ............................................................................ 19
2.6.1 Kết nối IP PBX với PBX...................................................................................... 19
2.6.2 Kết nối giữa Server Asterisk ............................................................................... 20
2.6.3 Các ứng dụng IVR,Conference Call ................................................................... 20
2.6.4 Phân phối cuộc gọi tự động ACD........................................................................ 21
2.7 Tổ chức thƣ mục trong hệ thống Asterisk ...................................................................... 22
2.7.1 Các thƣ mục trong hệ thống................................................................................ 22
2.7.2 Các tập tin cấu hình trong hệ thống ................................................................... 24
2.8 Cơ chế FastAGI ................................................................................................................ 24
2.8.1 FastAGI là gì? ...................................................................................................... 24
2.8.2 Hoạt động.............................................................................................................. 25
3.1 Khái niệm:......................................................................................................................... 26
3.1.1 Sơ lƣợc về tiếng nói trong VoIP: ......................................................................... 26
3.1.2 Khái niệm về Text To Speech: ............................................................................ 26
3.1.3 Lí do chọn Text To Speech .................................................................................. 26
3.1.4 Hạn chế của Text To Speech (TTS) .................................................................... 27
3.2 Cấu trúc file âm thanh ..................................................................................................... 27
3.2.1 Khái niệm: ............................................................................................................ 27
3.2.2 Định dạng dữ liệu:................................................................................................ 27
3.2.3 Xử lí tập tin wave ................................................................................................. 28
CHƢƠNG 4: TÌM HIỂU DỊCH VỤ TRA CỨU ĐIỂM TUYỂN SINH .................................. 39
4.1 Tổng quan về hệ thống tuyển sinh: ................................................................................. 39
4.1.1 Hoạt động: ............................................................................................................ 39
4.1.2 Các thành phần và quá trình hoạt động: .......................................................... 39
4.2 Chức năng của hệ thống: ................................................................................................. 40
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 5/78
Đồ án tốt nghiệp Đại học Mục lục
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
4.2.1 Tổng quát chức năng ................................................................................................... 40
4.2.2 Sơ đồ xử lí chức năng................................................................................................... 41
4.3 Thiết kế lƣợc đồ dữ liệu quan hệ ERD ........................................................................... 42
4.3.1 Các tập thực thể ................................................................................................... 42
4.3.2 Diagram ................................................................................................................ 424.4 Các bảng dữ liệu ............................................................................................................... 43
4.4.1 Danh sách bảng dữ liệu: ...................................................................................... 43
4.4.2 Mô tả các bảng: .................................................................................................... 43
4.4.3 Các mối liên hệ ..................................................................................................... 45
4.5 Những thuận lợi và khó khăn của ứng dụng: ................................................................ 46
4.5.1 Thuận lợi............................................................................................................... 46
4.5.2 Khó khăn............................................................................................................... 46
CHƢƠNG 5: CÀI ĐẶT VÀ CẤU HÌNH HỆ THỐNG SERVER .......................................... 47
5.1 Cài đặt các tính năng cơ bản của tổng đài Asterisk ...................................................... 47
5.1.1 Yêu cầu thiết bị: ................................................................................................... 47
5.1.2 Các bƣớc cài đặt các gói Asterisk phiên bản 1.6.2.20 ....................................... 47
5.1.3 Tải chƣơng trình Asterisk.NET:......................................................................... 48
5.1.4 Cấu hình SIP cho softphone ................................................................................ 48
5.2 Cài đặt Sql Server 2005 và tạo các bảng dữ liệu............................................................ 50
5.2.1 Tại sao chọn Sql Server 2005 .............................................................................. 50
5.2.2 Bảng dữ liệu.......................................................................................................... 50
5.3 Kêt quả đạt đƣợc của việc thực thi tổng đài tự động .................................................... 53
5.3.1 Cài đặt Server....................................................................................................... 53
5.3.2 Hoạt động của tổng đài:....................................................................................... 53
5.3.3 Quá trình tổng hợp tiếng nói: ............................................................................. 62
5.4 Kết luận ............................................................................................................................. 63
5.5 Những hạn chế:................................................................................................................. 64
ĐÁNH GIÁ CHUNG VÀ XU HƢỚNG PHÁT TRIỂN ĐỂ TÀI ............................................. 65
PHỤ LỤC...................................................................................................................................... 67
TÀI LIỆU THAM KHẢO ........................................................................................................... 68
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 6/78
Đồ án tốt nghiệp Đại học Danh mục hình ảnh
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
DANH MỤC HÌNH ẢNH Chƣơng 1
Hình 1.1 : Thiết bị card phần cứng giao tiếp với PSTN .................................... 3Hình 1.2 : Mô hình các thiết bị kết nối với Adapter .......................................... 4Hình 1.3 : Hệ thống tổng đài IP-PBX ................................................................ 5
Chƣơng 2 Hình 2.1 : Mô hình VoIP to PSTN sử dụng tổng đài Asterisk .......................... 8Hình 2.2 : Kiến trúc của Aster ik ....................................................................... 9Hình 2.3 : Sơ đồ kết nối giữa tổng đài với các thiết bị ..................................... 10Hình 2.4 : Hoạt động của SIP ........................................................................... 15Hình 2.5 : Mô hình điều khiển cuộc gọi H.323 ................................................. 17Hình 2.6 : Hoạt động của giao thức MCGP ....................................................... 18Hình 2.7 : Sơ đồ kết nối IP PBX với PBX........................................................ 19Hình 2.8 : Sơ đồ kết nối các server Asterisk ...................................................... 20Hình 2.9 : Các ứng dụng của tổng đài .............................................................. 21Hình 2.10 : Phân phối cuộc gọi ACD ................................................................ 23
Hình 2.11 : Cấu trúc thư mục trong var ............................................................. 23Hình 2.12 : Mô hình kết nối của chương trình Asterisk.NET ........................... 27
Chƣơng 3 Hình 3.1 : Định dạng chuỗi sóng ....................................................................... 28Hình 3.2 : Cấu trúc tập tin âm thanh .................................................................. 29Hình 3.3 : Làn song dạng RIFF ......................................................................... 30Hình 3.4 : Định dạng dữ liệu Chunk .................................................................. 33Hình 3.5 : Làn sóng mẫu Interkind Stereo ......................................................... 34Hình 3.6 : Định dạng thực tế Chunk .................................................................. 35
Chƣơng 4 Hình 4.1 : Chức năng của ứng dụng tuyển sinh ................................................. 40Hình 4.2 : Mô hình tập thực thể ......................................................................... 42Hình 4.3 : Sơ đồ Diagram .................................................................................. 42
Chƣơng 5 Hình 5.1 : Cấu hình SoftPhone .......................................................................... 51Hình 5.2 : Cấu hình gọi dịch vụ từ xa ................................................................ 52Hình 5.3 : Mà hình sau khi đã kết nối Asterisk ................................................. 53Hình 5.4 : Cấu hình file Sip ............................................................................... 54Hình 5.5 : Cấu hình file extensions.................................................................... 55
Hình 5.6 : Cấu hình tập tin chia sẻ ..................................................................... 55Hình 5.7 : Khởi động samba .............................................................................. 56Hình 5.8 : Khai báo user chia sẻ ........................................................................ 56Hình 5.9 : Đường dẫn vào server ....................................................................... 56Hình 5.10 : Địa chỉ share tập tin âm thanh ........................................................ 57Hình 5.11: Kết nối giữa máy server và máy client ............................................ 58Hình 5.12 : Script kết nối với server .................................................................. 59Hình 5.13 : Màn hình đã kết nối dịch vụ ........................................................... 60
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 7/78
Đồ án tốt nghiệp Đại học Danh mục hình ảnh
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
Hình 5.14 : Xử lí phím số 1 ............................................................................... 60Hình 5.15 : Xử lí phím số 2 ............................................................................... 61Hình 5.16 :Trường hợp sai phím bấm................................................................ 62Hình 5.17: Xử lí ghép âm thanh......................................................................... 62Hình 5.18: Thư mục đọc file âm thanh từ Text ................................................. 63
Đánh giá chungHình1 : Mô hình dịch vụ IVR ............................................................................ 65
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 8/78
Đồ án tốt nghiệp Đại học Kí hiệu các cụm từ viết tắt
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
AATA : Analog Telephone Adaptors Bộ chuyển đổi điện thoại số
API : Application Programming Interface Giao diện ứng dụng
AGI : Asterisk Gateway Interface Giao diện cổng Asterisk
ACD : Automatic Call Distribution Phân phối cuộc gọi tự động
C
CGI : Computer Graphics International Đồ họa máy tính quốc tế
CSDL : Cơ sở dữ liệu
D
DoS : Denial of Service Từ chối dịch vụ
F
FXO : Foreign Exchange Office Cổng tiếp nhận đường tín hiệu tương tự
FXS : Foreign Exchange Station Cổng cung cấp đường tín hiệu tương tự
H
HTTP : Hypertext Transfer Protocol Giao thức truyền siêu văn bản
IIP : Internet Protocol Giao thức Internet
IP-PBX : Internet Protocol- Tổng đài IP
Private Branch Exchange
IAX : Inter-Asterisk eXchange Giao thức chuyển đổi IAX
IVR : Interactive Voice Response Tương tác thoại
ITSP : Internet Telephony Service Provider Nhà cung cấp dịch vụ điện thoại Internet
IETF : Internet Engineering Task Force Cộng đồng quốc tế mở về mạng
ITU : International Telecommunication Union Liên minh Viễn thông quốc tế ISDN : Interated Services Digital Network Mạng số tích hợp dịch vụ
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 9/78
Đồ án tốt nghiệp Đại học Kí hiệu các cụm từ viết tắt
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
M
MGCP : Media Gateway Control Protocol Giao thức điều khiển cổng truyền thông
MD5 : Message-Digest algorithm 5 Là hàm băm mật mã
N
NAT : Network Address Translators Biên dịch địa chỉ mạng
P
PBX : Private Branch Exchange Tổng đài Nhánh Riêng
PSTN : Public Switched Telephone Network Mạng điện thoại chuyển mạch công cộng
R
RJ-11 : Registered Jack 11 Kết nối các thiết bị điện thoại
RJ-45 : Registered Jack 45 Kết nối các thiết bị trong mạng Ethernet
RTP : Real-Time Transport Protocol Giao thức truyền thời gian thực
RSA : Resgister Admission Status Báo hiệu đăng kí, cấp phép, thông tintrạng thái
RFC : Request for Comment Yêu cầu cho ý kiến
RTCP : Real Time Control Protocol Giao thức điều khiển thời gian thực
S
SIP : Session Initiation Protocol Giao thức khởi tạo phiên
SCCP : Signaling connection Control Part Phần điều khiển kết nối tín hiệu
SMTP : Simple Mail Transfer Protocol Giao thức truyền thông tin đơn giản
T
TDM : Time Division Multiplexing Ghép kênh phân chia thời gian
TĐĐTS : Tổng đài điện tử số
TLS : Transport Layer Securit Giao thức bảo mật lớp truyền tải
TCP : Transport Control Protocol Giao thức điều khiển truyền TCP
TTS: Text To Speech Chuyển văn bản thành tiếng nói
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 10/78
Đồ án tốt nghiệp Đại học Kí hiệu các cụm từ viết tắt
SVTH: Nguyễn Thanh Tâm - Lớp:D07THPM
U
UDP : User Datagram Protocol Giao thức gói người sử dụng
V
VoIP : Voice over Internet Protocol Tiếng nói qua giao thức Internet VPN : Virtual Private NetWork Mạng riêng ảo
WAN : Wide Area Network Mạng diện rộng
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 11/78
Đồ án tốt nghiệp Đại học Chương 1:Tổng quan về VOIP
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 1
CHƢƠNG 1: TỔNG QUAN VỀ VOIP
1.1 Giới thiệu VoIP 1.1.1 Khái niệm:
VoIP (Voice Over Internet Protocol) là một công nghệ cho phép truyền
thoại sử dụng giao thức mạng IP trên cơ sở hạ tầng sẵn có của mạngInternet.
VoIP có thể vừa thực hiện mọi cuộc gọi trên mạng điện thoại thông
thườ ng vừa có thể truyền dữ liệu trên mạng truyền số liệu. Do các ưu
điểm về giá thành dịch vụ và sự tích hợ p nhiều loại hình dịch vụ nên
VoIP hiện nay đã đượ c triển khai rộng rãi.
Dịch vụ điện thoại VoIP bao gồm việc số hóa tín hiệu tiếng nói, thực
hiện nén tín hiệu số, chia nhỏ các gói nếu cần và truyền gói tin này qua
mạng. Tại nơi nhận, các gói tin này đượ c ráp lại theo đúng trình tự bản
tin và giải mã để phục hồi lại tiếng nói ban đầu.
Các cuộc gọi trong VoIP dựa trên cơ sở sử dụng k ết hợ p chuyển mạch
kênh và chuyển mạch gói. Trong mỗi loại chuyển mạch đều có ưu và
nhược điểm.
Vớ i chuyển mạch kênh dành riêng một kênh có tốc độ truyền
dẫn cố định (trong mạng PSTN, tốc độ này là 64Kbit/s) do đó
có độ trễ nhỏ và độ chính xác cao nên không thể xảy ra tắc
nghẽn.
Vớ i chuyển mạch gói, các bản tin đượ c chia thành các góinhỏ, sử dụng hệ thống lưu trữ và chuyển tiếp các gói thông
tin trong nút mạng. Đối vớ i loại chuyển mạch gói này không
tồn tại khái niệm kênh riêng và băng thông hoàn toàn có thể
thay đổi đượ c. Tuy nhiên, k ỹ thuật này lại cho độ trễ lớ n vì
trong chuyển mạch này không quy định thờ i gian mỗi gói tớ iđích do đó không đáp ứng đượ c tính thờ i gian thực như trong
thoại.
Như vậy để truyền dẫn thoại trong môi trườ ng mạng chuyển mạch gói,VoIP phải k ết hợ p cả ưu điểm của hai loại chuyển mạch kênh và gói.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 12/78
Đồ án tốt nghiệp Đại học Chương 1:Tổng quan về VOIP
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 2
1.1.2 Ƣu và Khyết của VoIP: Ưu điểm:
Đối với điện thoại Internet có các cơ chế để phát hiện khoảng lặng
(khoảng thờ i gian không có tiếng nói) nên sẽ làm tăng hiệu suất mạng.
Điện thoại IP là bước đột phá về công nghệ và dịch vụ, mang lại khả
năng gọi đườ ng dài và quốc tế vớ i giá rẻ.
Điện thoại IP còn mang lại lợ i ích trong việc phát triển tích hợ p các dịch
vụ viễn thông và mở rộng dịch vụ .
Khuyết điểm của VoIP:
Không thể thực hiện mọi cuộc gọi qua Internet nếu như ngườ i gọi không
có trực tuyến trên mạng.
Không đảm bảo tính bảo mật.
1.2 Các thiết bị dùng trong VoIP:
1.2.1 VoIP phone Là thiết bị phần cứng k ết nối vớ i VoIP giống như máy điện thoại cố định
thông thường. Tuy nhiên để sử dụng cho VoIP cần phải cấu hình trướ c
khi sử dụng.
Một số tính năng khi mua thiết bị điện thoại VoIP:
Low Bandwidth: hỗ trợ cho loại Codec nào, thườ ng hiện nay
ngườ i ta sử dụng G729.
Web Interface: phải có giao tiếp thiết lập cấu hình thân thiện , dễ
sử dụng. Audio Interface: xét xem có speaker phone hay không.
1.2.2 Softphone
Là một phần mềm đượ c cài trên máy tính, thực hiện tất cả các chức nănggiống như thiết bị điện thoại VoIP.
Khi sử dụng softphone, ta phải có card âm thanh để giao tiếp máy tính,
headphone và firewall không bị khóa(hoặc tắt firewall).
Đối vớ i hệ thống Asterisk, nên dùng softphone vớ i công nghệ giao thức
mớ i dành cho Asterisk là IAX.
1.2.3 Card giao tiếp vớ i PSTN
Để các máy điện thoại nội bộ trong hệ thống Asterisk k ết nối và thực
hiện cuộc gọi vớ i mạng PSTN, chúng ta cần phải có thiết bị phần cứng
tương thích. Đó chính là thiết bị của công ty Digium.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 13/78
Đồ án tốt nghiệp Đại học Chương 1:Tổng quan về VOIP
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 3
Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chính tác giả lập
công ty Digium phân phối, xuất phát từ ý tưở ng phân phối phần mềm
Asterisk và hệ thống nguồn mở miễn phí.
Hình 1.1: Thiết bị card phần cứng.
Thiết bị phần cứng thườ ng ký hiệu bắt đầu bằng cụm từ TDMxyB,
trong đó :
x là số lượ ng port FXS.
y là số lượ ng port FXO
Giá trị tối đa của cả x và y là 4.
1.2.4 ATA (Analog Telephone Adaptors)
ATA là thiết bị k ết nối với điện thoại Analog thông thường đến mạng
VoIP, một thiết bị ATA gồm có hai loại port:
RJ-11 để k ết nối với máy analog thông thườ ng.
RJ-45 để k ết nối vớ i mạng VoIP.
ATA là thiết bị FXS chuyển đổi tín hiệu Analog sang tín hiệu số, nó sử
dụng cho mạng VoIP để tận dụng thiết bị Analog k ết nối VoIP.
Thiết bị ATA sử dụng vớ i giao thức IAX đượ c Digium phân phối và
thiết bị ATA này đượ c sử dụng rộng rãi vớ i Asterisk có tên gọi là IAXy.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 14/78
Đồ án tốt nghiệp Đại học Chương 1:Tổng quan về VOIP
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 4
Hình 1.2: Mô hình các thiết bị k ết nối vớ i Adapter
1.3 Ƣu điểm sử dụng tổng đài IP-PBX so với PBX truyền thống.
Tận dụng được toàn bộ hạ tầng mạng của đơn vị để truyền thông tin
thoại, đơn giản hơn nhiều với PBX truyền thống, phải thực hiện việc đấunối vật lý đường trung kế giữa hai tổng đài.
Quản lý tập trung, thông qua giao diện web. quản trị viên có thể giámsát, vận hành, cấu hình từ bất kỳ đâu và bất cứ khi nào.
Khả năng nâng cấp hệ thống cao nhất và không giới hạn số lượng người
dùng.
Tích hợp phần mềm Softphone cài trên máy tính, chỉ cần thêm tai nghe
và mic là biến thành điện thoại IP.
Điện thoại IP có thể kết nối về tổng đài tại bất cứ vị trí nào(có mạng làcó thể sử dụng được ngay) trong khi số điện thoại không hề thay đổi,
thậm chí qua cả môi trường Internet.
Cắt giảm chi phí cuộc gọi đến mức thấp nhất giữa các chi nhánh, văn phòng và cuộc gọi quốc tế khi kết hợp với các nhà cung cấp dịch vụ điệnthoại quốc tế (ITSP).
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 15/78
Đồ án tốt nghiệp Đại học Chương 1:Tổng quan về VOIP
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 5
Hình 1.3: Hệ thống một tổng đài IP-PBX
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 16/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 6
CHƢƠNG 2: TÌM HIỂU TỔNG ĐÀI ASTERISK
2.1 Lí do chọn tổng đài IP 2.1.1 Tích hợp dễ dàng
Tổng đài dễ cài đặt hơn so với hệ thống điện thoại thông thường.
Thiết lập các thông số thông qua giao diện web, không cần cài đặt bất kì phần mềm phức tạp nào để vận hành nó. Do đó, bất kì ai có hiểu biết vềmáy tính đều có thể cài đặt hệ thống PBX.So với hệ thống điện thoạitruyền thống thì nhân viên cài đặt phải được huấn luyện về cách vận
hành hệ thống đó.
2.1.2 Giảm chi phí cuộc gọi
Bạn sẽ tiết kiệm được rất nhiều chi phí nếu sử dụng dịch vụ VoIP đối
với cuộc gọi đường dài hay gọi ra quốc tế. Kết nối điện thoại dễ dàng giữa các văn phòng hay chi nhánh và được
gọi nội mạng miễn phí.
2.1.3 Không cần dây điện thoại riêng
Cho phép bạn kết nối điện thoại phần cứng trực tiếp vào cổng mạng tiêu
chuẩn của máy tính – có thể chia sẻ với máy tính bên cạnh.
Điện thoại này dạng phần mềm nên được cài trực tiếp lên máy tính ,không cần lắp đặt và duy trì một dây riêng cho hệ thống điện thoại.
Linh động trong việc mở rộng hệ thống và thêm người dùng. Nhất làtrong trường hợp bạn chuyển đến văn phòng mới và chưa kéo dây điện
thoại thì bạn có thể tiết kiệm bằng cách lắp đặt một mạng máy tính.
2.1.4 Không bị khoá bởi nhà sản xuất và mở rộng đƣợc
Hệ thống VOIP là hệ thống tiêu chuẩn mở, nó sử dụng giao thức SIP.Bạn có thể dùng bất kì điện thoại VOIP chuẩn SIP hay phần cứng VOIPgateway nào.
So với hệ thống điện thoại thông thường, để phát triển lớn hơn (nhưthêm đường dây,thêm số máy nhánh), ta phải mở rộng thêm các mô đun,
nâng cấp những phần cứng đắt tiền hay có khi là làm mới hệ thống hoàntoàn.
Với một máy tính bình thường, ta có thể quản lí một lượng lớn cácđường dây điện thoại và các số máy nhánh con.Nếu muốn mở rộng tachỉ cần thêm các điện thoại mới vào trong mạng của bạn .
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 17/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 7
2.1.5 Dịch vụ khách hàng và hiệu năng tốt
Dễ tích hợp với các ứng dụng thương mại do các cuộc gọi dựa trên máytính
Các cuộc gọi đi có thể thực hiện trực tiếp từ Outlook , không cần phải gõ
số điện thoại vào.
Tất cả tính năng đều được thực hiện dễ dàng từ một giao diện ngườidùng với các cửa sổ thân thiện(nhất là dùng trong hội đàm)
2.1.6 Tính năng mới cập nhật liên tục
Hệ thống VOIP dựa trên phần mềm nên các nhà phát triển có thể
thêm,cải thiện các tính năng một cách dễ dàng.
Các chức năng cập nhật liên tục như trả lời tự động,thư thoại,cuộc gọichờ,danh sách đen…
2.1.7 Kiểm soát tốt hơn nhờ báo cáo đầy đủ
Các thiết lập VOIP lưu trữ thông tin cuộc gọi đến và cuộc gọi đi trongmột cơ sở dữ liệu trên máy chủ của bạn. Vì thế, bạn sẽ cập nhật đầy đủvề chi phí gọi và lưu lượng gọi.
2.1.8 Xem tổng quan tình trạng hệ thống hiện tại
Thông qua trình duyệt web, bạn có thể chỉ định người dùng nào có thểxem tình trạng của hệ thống ở dạng đồ hoạ.
Nếu với hệ thống thông thường thì bạn phải cung cấp các máy điện thoạivới hệ thống đắt tiền để biết những gì đang diễn ra trong máy điện thoại.
2.1.9 Di chuyển dễ dàng Người dùng chỉ cần lấy điện thoại và cắm nó vào cổng Ethernet gần nhất
.Đặc biệt, họ vẫn giữ được số điện thoại hiện có.
Các cuộc gọi có thể được chuyển hướng đến bất kì đâu trên thế giới nhờ vào các đặc điểm của giao thức SIP.
2.2 Tìm hiểu hệ thống mã nguồn mở Asterisk 2.2.1 Vì sao chọn phần mềm Asterisk
Tiết kiệm chi phí ( chi phí thấp hơn so với các tổng đài khác).
Asterisk được xem như là một tổng đài PBX (Private BrancheXchange) và tích hợp nhiều tính năng mới.
Ngoài những tính năng của một tổng đài PBX thông thường, Asterisk còn được tích hợp cả chuyển mạch TDM và chuyển mạch VoIP, có khảnăng mở rộng đáp ứng nhu cầu cho từng ứng dụng như mở rộng giao
tiếp với mạng PSTN (Public Switched Telephone Network).
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 18/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 8
Asterisk có thể chạy trên các hệ điều hành khác như: Mac OS X,Linux,FreeBSD, OpenBSD và Microsoft Windown…
Với một máy tính đã cài hệ điều hành (một trong các hệ điều hành nóitrên, ở đây ta xét hệ điều hành Linux) và có thêm phần mềm Asterisk đã
cấu hình, khi đó máy tính này sẽ có đầy đủ tính năng của một tổng đàiđiện thoại và có thể hơn thế.
2.2.2 Giới thiệu Asterisk
Asterisk là phần mềm nguồn mở,một hệ thống chuyển mạch mềm, đượcviết bằng ngôn ngữ C, ra đời năm 1999 bởi Mark Spencer,
Phần mềm đầu tiên được thiết kế và triển khai trên GNU/Linux nền x86
(của Intel).
Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại. Làserver xử lí đầy đủ các chức năng cuộc gọi, thực hiện tất cả các tính
năng của tổng đài PBX. Tích hợp giao tiếp với mạng PSTN và mạng VOIP cho phép gọi ra bất
cứ số điện thoại nào trên mạng PSTN.
Hình 2.1: Mô hình VoIP-to-PSTN sử dụng tổng đài Asterisk
Ứ ng dụng cho điện thoại: chuyển mạch cuộc gọi, cuộc gọi hội nghị,voicemail, chuyển hướ ng cuộc gọi, …
Một Asterisk server đượ c k ết nối tớ i một mạng vùng nội hạt sẽ điều
khiển các điện thoại trong mạng k ết nối đến mạng khác, các điện thoại
trong mạng có thể thực hiện cuộc gọi và k ết nối Internet thông qua
Asterisk server.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 19/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 9
Cổng FXS dùng để Asterisk server điều khiển các điện thoại tương tự
trong nội hạt. Cổng FXO và kênh T được dùng để k ết nối giữa Asterisk
server vớ i mạng PSTN. Thuê bao trong mạng PSTN thực hiện cuộc gọi
đến các thuê bao đượ c quản lý bở i Asterisk server, các thuê bao của
Asterisk cũng có thể thực hiện cuộc gọi đến thuê bao trong mạng PSTN.
Hình 2.2: Kiến trúc của Asterisk
Khi khở i động hệ thống Asterisk thì Dynamic Module Loader thực
hiện nạp driver của thiết bị và bắt đầu nạp các giao thức.
Hiện nay hệ thống Asterisk đang được phát triển mạnh, nhiều doanhnghiệp, công ty đã và đang triển khai hệ thống tạo.Họ tạo liên lạc bêntrong và ra cả mạng ngoài thông qua mạng máy tính, gọi điện thoại.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 20/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 10
Hình 2.3: Sơ đồ k ết nối giữa tổng đài và các thiết bị.
Asterisk không chỉ giao tiếp, k ết nối giữa các điện thoại vớ i nhau mà
còn có thể mở rộng k ết nối đến các tổng đài khác, vớ i IP Phone và nhiều
dịch vụ như: Softswitch, Media Gateway, Voicemail Services,
Conference Server, Music on hold…
Asterisk là một phần mềm nguồn mở, miễn phí, có độ tin cậy cao.
2.3 Kiến trúc hệ thống 2.3.1 Asterisk là thiết bị trung gian
Thiết bị liên kết công nghệ thoại và Internet.
Được ứng dụng để kết nối điện thoại ,gói thoại đến một dịch vụ khác.
Asterisk có độ tin vậy cao và dễ dàng triển khai cho các hệ thống (từ hệ
thống nhỏ đến hệ thống lớn).
2.3.2 Asterisk hỗ trợ nhiều loại điện thoại
Hỗ trợ các công nghệ thoại như VoIP,SIP,H.323,IAX.
Kết nối với hầu hết loại điện thoại truyền thống mạng ISDN qua luồngT1 và E1 cùng các API được nạp vào hệ thống.
2.3.3 Hệ thống Asterisk PBX Switching Core Các cuộc gọi được thực hiện tuỳ vào kế hoạch quay số.
Chức năng Application Launchar để rung chuông thuê bao, k ết nối vớ i
hộp thư thoại hoặc gọi ra đườ ng trung k ế…
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 21/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 11
Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao như: lập
thờ i biểu và quản lý các cuộc gọi đến – gọi ra ngoài. Đây là các chức
năng đượ c phát triển bở i cộng đồng phát triển Asterisk.
Codec Translator xác nhận các kênh nén dữ liệu ứng vớ i các chuẩn khác
nhau có thể k ết hợ p liên lạc đượ c vớ i nhau.
Tất cả các cuộc gọi định hướ ng qua hệ thống Asterisk đều thông qua các
giao tiếp như: SIP, Zaptel or IAX. Mọi cuộc gọi vào và ra ngoài đều
đượ c thực hiện thông qua các giao tiếp trên. Vì thế hệ thống Asterisk
phải đảm trách nhiệm vụ liên k ết các giao tiếp khác nhau đó để xử lý
cuộc gọi.
2.3.4 Chức năng các API(Application Program Interface)
Codec translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn
khác nhau như: GMS, G723, Mu-Law… Asterisk Channel API : giao tiếp vớ i các kênh liên lạc khác nhau, đây là
đầu mối cho việc k ết nối các cuộc gọi tương thích vớ i nhiều chuần khác
nhau như SIP, ISDN, H323, Zaptel…
Asterisk file format API : Asterisk tương thích vớ i việc xử lý các loại
file có định dạng khác nhau như: Mp3, WAV, GSM, AU…
Asterisk Aplication API : bao gồm tất cả các ứng dụng đượ c thực thi
trong hệ thống Asterisk như: cuộc gọi hội nghị, VoiceMail, CallerID…
Ngoài ra, Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tự như CGI) cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết k ịch bản phức
tạp vớ i một số ngôn ngữ như PHP hay Perl.
2.4 Tính năng cơ bản 2.4.1 Một số chức năng trong tổng đài Asterisk
2.4.1.a Voice mail - hộp thƣ thoại
Cho phép hệ thống nhận các thông điệp tin nhắn thoại.
Mỗi máy điện thoại được khai báo trong hệ thống cho phép khai báo
thêm chứa năng hộp thư thoại. Khi số điện thoại bận hay ngoài vùng phủ sóng thì hệ thống định hướng
trực tiếp đến các cuộc gọi đến hộp thư thoại tương ứng đã khai báotrước.
Voice mail cung cấp cho người sử dụng nhiều lựa chọn như: xác nhận password khi truy cập vào,gửi mail báo có thông điệp mới đến.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 22/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 12
2.4.1.b Call Forwarding – chuyển cuộc gọi
Cho phép chuyển một cuộc gọi đến một hay nhiều số máy điện thoạiđược định trước.
Một số trường hợp cần chuyển cuộc gọi như: chuyển cuộc gọi khi
bận ,chuyển khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộcgọi với thời gian định trước.
2.4.1.c Caller ID – hiển thị số gọi đến
Cho phép ta xác nhận số thuê bao gọi đến,dựa vào đó ta có thể biết màtiếp nhận hay không tiếp nhận cuộc gọi đến từ phía hệ thống.
Chức năng này rất hữu dụng cho việc ta muốn biết chính xác cuộc gọiđến từ ai và ngăn được một số cuộc gọi ngoài ý muốn.
2.4.1.d Automated attendant – tƣơng tác thoại
Chức năng này ứng dụng trong thực tế rất nhiều và thân thiện với người
dùng.
Một số trường hợp như khi gọi đến đường dây nóng một công ty,cơ quan…ta sẽ nghe thông điệp:”Chào mừng bạn đến với công ty A, bạn
vui lòng bấm phím 1 để gặp phòng nhân sự,bấm phím 2 để gặp phòngkinh doanh…”
Các dịch vụ xem điểm thi,xem tỉ số trận bóng đá,xem kết quả sổsố…đều thực hiện nhờ chức năng tương tác thoại IVR.
Với chức năng này, hệ thống sẽ định hướng cuộc gọi theo mong muốn.
2.4.1.e Time and Date Cuộc gọi được định hướng đến một số điện thoại hay một chức năng nào
đó vào từng thời điểm mà ta qui định trong tổng đài.
Chức năng rất hữu dụng trong các công ty muốn kiểm soát nhân viên.Chẳng hạn,trong công ty A giám đốc chỉ cho phép nhân viên dùng điệnthoại trong giờ hành chính còn ngoài giờ thì sẽ hạn chế hoặc không chogọi ra ngoài.
2.4.1.f Call Parking
Chức năng cho phép chuyển cuộc gọi có quản lí.
Với chức năng này ta phải có một số điện thoại trung gian và hai thuê bao có thể gặp nhau khi thuê bao được gọi nhấn vào số điện thoại màthuê bao chủ đang chờ trên đó và từ đây có thể đàm thoại với nhau.
Chẳng hạn như, khách hàng muốn gặp giám đốc nhưng khi gọi vào
công ty, khách hàng sẽ gặp thư kí trước và sau đó thư kí sẽ nối đườngdây vào cho giám đốc.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 23/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 13
2.4.1.g Remote call pickup
Chức năng cho phép ta có thể nhận cuộc gọi từ máy điện thoại khácđang rung chuông.
2.4.1.h Privacy Manager
Tính năng này qui định điện thoại của ta chỉ được gọi đến những số cốđịnh nào đó (được lập trình sẵn trong hệ thống), những số ngoài danhsách định sẵn sẽ không thực hiện được.
Chẳng hạn, khi một chủ doanh nghiệp xây dựng hệ thống điện thoạinhưng không muốn nhân viên mình gọi ra ngoài trò chuyện với bạn bè
hay dùng trong việc riêng.
2.4.1.i Backlist
Giống chức năng của Privacy Manager nhưng cung cấp thêm một tínhnăng nữa.Đó là những máy điện thoại nằm trong danh sách này sẽ không
được gọi đến máy của bạn. Tính năng này hữu dụng trong trường hợp bạn thường xuyên bị quấy rối
điện thoại. Với những tính năng trên cho thấy sự đa dạng về dịch vụ của hệ thống tổngđài Asterisk. Tuy nhiên, đó chỉ là các tính năng cơ bản,bạn có thể nâng cấpcác tính năng cao cấp hơn bằng việc tích hợp thêm một số sản phẩm phầncứng của nhà cung cấp dịch vụ thoại IP.
2.4.2 Một số định dạng file
Raw : dữ liệu 16 bit tuyến tính
Pcm: dữ liệu 8 bit.
Vox : dữ liệu 4 bit IMA-ADPCM
Wav : file wav tuyến tính 16 bit ở 8 KHz
Wav : file wav nén GSM ở 8 KHz
Gsm: dữ liệu nén GSM
G723 : định dạng g723 đơn giản với nhãn thời gian.
2.5 Các giao thức VoIP trong hệ thống Asterisk 2.5.1 IAX(Inter-Asterisk Exchange)
IAX là một giao thức mở , ta có thể download và phát triển nó hoàn toàn
miễn phí.Phiên bản hiện tại của nó là IAX 2.
Tất cả các hỗ trợ cho IAX 1 không còn tồn tại nữa. Vì vậy khi nói đến
IAX có nghĩa là IAX2. Trong Asterisk, IAX đượ c hỗ trợ bở i module
chan_iax2.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 24/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 14
IAX đượ c phát triển bở i Digium vớ i mục đích giao tiếp vớ i các server
Asterisk khác, vì thế nó đượ c gọi là Inter-Asterisk eXchange. IAX là
giao thức truyền tải (giống như SIP), sử dụng port UDP 4569 cho cả
kênh tín hiệu lẫn dòng dữ liệu RTP.
IAX có khả năng kết hợ p lại nhiều phiên k ết nối thành một dòng dữ liệu
duy nhất. Việc k ết hợp này làm tăng khả năng sử dụng băng thông.Thêm vào đó việc sử dụng một header chung duy nhất làm giảm thờ igian overhead cho mỗi kênh riêng lẽ. Giao thức này thích hợ p khi có
nhiều kênh k ết nối giữa hai đầu cuối.
Vì IAX được tối ưu hóa cho thoại, nên trên thực tế nó không ưu việt khitruyền tín hiệu video. Tuy nhiên, vì nó là một giao thức mở, nên việc mở rộng dành cho các loại dữ liệu khác ngoài thoại là điều hoàn toàn có thể.
Về khía cạnh bảo mật, IAX có khả năng nhận thức bằng ba cách khác
nhau như sau:
Plain text
Mã hóa MD5
Mã hóa trao đổi khóa RSA.
Không mã hóa phần header giữa hai đầu cuối. Có nhiều giải pháp sử
dụng mạng riêng ảo (VPN) và các phần mềm mã hóa khác đã được sửdụng, đòi hỏi đầu cuối phải thiết lập trước các phương pháp tunnel vàhoạt động.
Trong tương lai, IAX có thể mã hóa dòng dữ liệu giữa hai đầu cuối sửdụng việc trao đổi khóa RSA hoặc trao đổi hóa động tại thời điểm thiết
lập cuộc gọi. Điều này rất hấp dẫn vì nó có tính bảo mật khá cao, đặc biệt trong các lĩnh vực đòi hỏi tính bảo mật như ngân hàng.
IAX2 được thiết kế để tương thích với các thiết bị sử dụng giao thức NAT. Việc sử dụng duy nhất một port UDP cho cả tín hiệu báo hiệu và
truyền dẫn dẫn đến tăng cườg tính năng bảo mật của firewall. Điều nàylàm cho IAX là một trong các giao thức bảo mật tốt nhất cho mạng.
2.5.2 SIP
Sự ra đời của SIP đã giúp phát triển mạnh VoIP. SIP có ưu điểm là giaothức đơn giản, có cấu trúc syntax khá giống với các giao thức HTTP hay
SMTP.
SIP được hỗ trợ bởi module trong Asterisk là chan_sip.so module.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 25/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 15
SIP được phát triển bởi IETF vào tháng 2-1996. Ban đầu SIP chỉ cóchức năng yêu cầu thiết lập cuộc gọi. Vào tháng 3 -1999, phiên bản thứ11 có tên gọi là SIP RFC 2543 ra đời.
SIP được coi như là giao thức thông dụng của VoIP. Tất cả các user và
doanh nghiệp đều có xu hướng hỗ trợ SIP. Ngày nay,SIP hỗ trợ thêm cả những chức năng không có trong VoIP như
video, âm nhạc và các dịch vụ multimedia thời gian thực khác.
Hình 2.4: Mô hình hoạt động SIP.
Yêu cầu SIP có 6 loại:
INVITE : thiết lập phiên
ACK: xác nhận yêu cầu invite
BYE : kết thúc phiên
CANCEL: huỷ bỏ việc thiết lập phiên
REGISTER: trao đổi thông tin địa điểm người dùng (bao gồm
tên máy,IP) OPTIONS : trao đổi các thông tin về khả năng của các điện
thoại SIP để gọi và nghe trong phiên.
Phản hồi SIP : các yêu cầu SIP được trả lời bằng các phản hồi SIP và có6 loại phản hồi:
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 26/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 16
1xx = phản hồi thông tin.
2xx = phản hồi thành công
3xx = phản hồi chuyển hướng
4xx = yêu cầu bị thất bại 5xx = lỗi máy chủ
6xx = thất bại toàn cục
DoS (Denial of Service) được xem như phương thức tấn công thôngdụng nhất trên mạng VoIP. Một phiên tấn công DoS sẽ diễn ra khi cómột số lượng lớn các lời mời INVITE không hợp lệ đến proxy server để
làm quá tải hệ thống. SIP có một vài phương thức để giảm thiểu tácđộng của DoS nhưng không thể hoàn toàn phòng ngừa nó.
Một lược đồ hỗ trợ tính bảo mật được cài đặt thêm bởi SIP là mật mã
phương thức truyền tải (TLS- Transport Layer Security). Nó được sửdụng để thiết lập kết nối giữa người gọi và domain. Yêu cầu được gởimột cách bí mật đến đầu cuối, dựa trên các chính sách bảo mật của
mạng. Lưu ý rằng phương thức mật mã không nằm trong khả năng củaSIP và phải được kết hợp một cách độc lập.
SIP và NAT: Một trong những vấn đề lớn nhất khi triển khai SIP làtruyền tải thông qua lớp NAT. Bởi vì SIP mật mã thông tin địa chỉ trongcấu trúc khung của nó. NAT ở lớp mạng sẽ không nhận đúng địa chỉ
này.Vì thế dòng dữ liệu sẽ không được truyền tải đúng như mong muốn. Như vậy, các firewall được tích hợp chức năng NAT sẽ loại bỏ các kết
nối SIP này.
2.5.3 H.323
H323 được phát triển bởi ITU từ tháng 5-1996, để hỗ trợ truyền thoại,video, dữ liệu ,fax… trong khi mạng IP vẫn duy trì kết nối với mạng
PSTN truyền thống. Từ thời điểm đó, H323 đã có một vài phiên bản vớicác tính năng bổ sung cho phép nó hoạt động trong một mạng thuầnVoIP và các mạng phân bố khác.
Dù có nhiều tranh cãi xung quanh việc sử dụng H323 hay là SIP.Nhưng
trên thực tế mạng VoIP, H323 có vài trò cao nhất còn trên hệ thống
Asterisk, SIP vẫn là sự lựa chọn số một.
Hai phiên bản của H323 được hỗ trợ trong Asterisk được hỗ trợ bởi 2module chan_h323.so và chan_oh323.so.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 27/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 17
Về khía cạnh bảo mật, H323 là một giao thức có tính bảo mật tương đốicao.Vì H323 sử dụng RTP để kết nối media, nó không hỗ trợ mật mã.Việc sử dụng VPN hay các phương pháp tunnel khác giữa đầu cuối làcách thức thông dụng nhất để đảm bảo tính bảo mật. Tất nhiên là nó
cũng gây ra một vài vấn đề. Khi VoIP được sử dụng cho các lĩnh vực đòihỏi tính bảo mật cao như ngân hàng, đòi hỏi giao thức VoIP phải hỗ trợ một phương pháp mật mã mạnh.
H323 cũng gặp những vấn đề tương tự như SIP khi triển khai với NAT.
Phương pháp đơn giản nhất là cho forward những port nhất định quathiết bị tích hợp NAT đối với các client nội bộ. Để tiếp nhận cuộc gọi,TCP port 1720 phải luôn được forward. Thêm vào đó, port UDP cho cácdữ liệu RTP và RTCP cũng phải được forward. Những client cũ như MS
Netmeeting cũng yêu cầu forward port TCP cho việc tunnel của giao
thức H245. Nếu có một số lượng các client đằng sau thiết bị có tích hợp NAT,
chúng ta phải sử dụng gatekeeper chạy proxy mode. Gatekeeper sẽ cầnmột Interface liên lạc với một mạng IP subnet và mạng Internet. H323client trên mạng riêng sẽ đăng ký đến gatekeeper, sau đó gatekeeper sẽgọi cuộc gọi thay mặt cho client. Các client bên ngoài muốn gọi bên
trong cũng phải thực hiện thủ tục đăng ký đến proxy server.
Hình 2.5: Mô hình điều khiển cuộc gọi H.323
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 28/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 18
Vào thời điểm hiện tại, Asterisk không thể đóng vai trò gatekeeper,chúng ta phải sử dụng các ứng dụng độc lập như Open H323
Gatekeeper.
2.5.4 MGCP(Media Gateway Control Protocol)
MGCP được thiết kế để đơn giản hóa thiết bị đầu cuối .Nó được địnhnghĩa bởi IETF.
MGCP được tiến hành khá nhanh nhưng không có tính khả dụng bằngSIP và IAX.
Việc thực hiện xử lý đều được tiến hành tại media gateway và call agent.
Không giống như SIP, MGCP sử dụng cấu trúc tập trung. Cuộc gọiMGCP không thể được tiến hành trực tiếp mà phải đi qua controller.
Hình 2.6 : Giao thức MGCP
Asterisk hỗ trợ MGCP qua module chan_mgcp.so và đầu cuối được định
nghĩa thông qua file cấu hình mgcp.conf. Bởi vì Asterisk cung cấp các
cuộc gọi cơ bản nên nó không thể giả lập MGCP phone.
Nếu có một MGCP phone, chúng ta có thể sử dụng chúng với Asterisk.Tuy nhiên không thể xem MGCP phone như một sản phẩm của hệ thống
Asterisk vì nó đã có những chuẩn riêng.
2.5.5 Skinny/SCCP
Là giao thức mặc định cho các đầu cuối của Cisco Call Manager PBX.
Skinny được hỗ trợ bởi Asterisk .Nếu chúng ta kết nối Cisco phone đếnAsterisk, thông thường chúng ta mặc định sử dụng giao thức SIP.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 29/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 19
2.5.6 UNISTIM
Là giao thức hỗ trợ của Nortel cho VoIP, cũng đã được bổ sung vàoAsterisk.
Điều đáng nói ở đây là Asterisk là tổng đài PBX đầu tiên hỗ trợ đầu
cuối IP cho cả hai nhà sản xuất lớn nhất trên lĩnh vực VoIP là Nortel vàCisco.
2.6 Ngữ cảnh ứng dụng trong tổng đài IP 2.6.1 Kết nối IP PBX với PBX
Một ngữ cảnh đặt ra ở đây như sau :”Hiện tại công ty đã trang bị hệ
thống PBX bây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong
công ty sao cho vớ i chi phí thấp nhất”.
Giải pháp để thực hiện việc đó là trang bị hệ thống Asterisk và k ết nối
vớ i hệ thống PBX đang tồn tại qua luồng E1.
Hình 2.7: Sơ đồ k ết nối IP PBX vớ i PBX
Ngoài ra để tăng khả năng liên lạc vớ i mạng PSTN và VoIP khác, Công
Ty sẽ đăng ký k ết nối d ịch vụ vớ i nhà cung cấp dịch vụ VoIP.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 30/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 20
2.6.2 Kết nối giữa Server Asterisk
Phương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rãi rác ở các vị trị địa lý khác nhau nhằm giảm chi phí đườ ng dài.
Hình 2.8 : Sơ đồ k ết nối các server Asterisk
Ví dụ công ty Mẹ có trụ sở đặt tại nướ c Mỹ và có các Chi nhánh đặt tại
Việt Nam vớ i hai địa điểm là Hà Nội và thành phố Hồ Chí Minh. Thông
qua mạng WAN của công ty, các cuộc gọi nội bộ giữa các vị trí khác
nhau đượ c k ết nối, và sẽ giảm chi phí đáng k ể.
2.6.3 Các ứng dụng IVR,Conference Call
Ứ ng dụng thực hiện các server k ết nối vớ i hệ thống PSTN hay tổng đài
PBX để triển khai các ứng dụng như tương tác thoại IVR.
Một ví dụ cho ứng dụng tương tác thoại đó là cho biết k ết quả xổ số,
kiểm tra cướ c cuộc, dịch vụ giải trí – tra cứu thông tin thông qua số
19001260. Ứ ng dụng VoiceMail thu nhận những tin nhắn thoại từ phía
thuê bao giống như chức năng hộp thư thoại của Bưu Điện.
Chức năng cuộc gọi hội nghị đượ c thiết lập cho nhiều máy điện thoạicùng nói chuyện vớ i nhau.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 31/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 21
Hình 2.9 : Các ứng dụng của tổng đài IP 2.6.4 Phân phối cuộc gọi tự động ACD
ACD (Automatic Call Distribution): Phân phối cuộc gọi tự động.
Chức năng đượ c ứng dụng cho nhu cầu chăm sóc khách hàng hay nhận
phản hổi từ phía khách hàng.
Vớ i chức năng này, hệ thống tổng đài sẽ bớ t tình trạng tắt nghẽn khi có
nhiều cuộc gọi cùng lúc.
Hình 2.10: Phân phối cuộc gọi ACD
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 32/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 22
Giả sử một Công ty hệ thống điện thoại có khả năng tiếp nhận cùng một
lúc 10 cuộc gọi,nếu có thêm cuộc gọi thứ 11 gọi đến thì hệ thống giải
quyết như thế nào? Bình thườ ng thì sẽ nghe tín hiệu bận nhưng vớ i
chức năng phân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợ i để chờ trả lờ i, trong khi chờ trả lờ i cuộc gọi thuê bao có thể nghe những bài hát
hay do asterisk cung cấp và khi nào một trong mườ i số điện thoại đang
gọi trở về trạng thái rỗi thì cuộc gọi đang chờ sẽ đượ c trả lờ i. Giống
như chức năng của dịch vụ: dịch vụ hỗ trợ thông tin 1080, dịch vụ
hẹn giờ 116 của Bưu Điện, dịch vụ hỗ trợ khách hàng của các tổng đàiđiện thoại.
2.7 Tổ chức thƣ mục trong hệ thống Asterisk
2.7.1 Các thƣ mục trong hệ thống Cd /etc/asterisk/
Chứa các tập tin cấu hình ASTERISK. Tuy nhiên tập tin zaptel.conf lại nằm trong thư mục /etc/. zaptel.conf được dùng để cấu hình thực
hiện liên lạc giữa máy tính và môi trường điện thoại truyền thống.
Cd /usr/lib/asterisk/modules/
Chứa tất cả các module được khởi động bởi ASTERISK. Các ứng
dụng chương trình, codecs, formats, và các kênh thoại. Mặc địnhASTERISK sẽ khởi động tất cả các modules lúc khởi động.
Cd /var/lib/asterisk
Chứa đựng tập tin astdb và các thư mục con khác. Tập tin astdbchứa thông tin về cơ sở dữ liệu của ASTERISK bao gồm các thưmục chính:
agi-bin/ : Chứa các custom scripts, như là các ứng dụng
AGI.
Firmware : Chứa các thông tin về các thiết bị gắn kết với
ASTERISK.
mohmp3 : Chứa tập tin mp3 cho chức năng Music on Hold
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 33/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 23
sounds : Tất cả các thông báo từ hệ thống ASTERISK đềunằm trong thư mục sounds.
Cd /var/spool/asterisk/
Chứa một số thư mục con như outgoing/, qcall/, tmp/, và voicemail/
Hình 2.11: Cấu trúc thư mục var
Thư mục tmp/ được dùng để lưu trữ các thông tin tạm thời cho cácquá trình như sao chép, hoặc ngăn cản hai quá trình ghi và đọc tập tincùng một lúc.
Tất cả các voicemail và các lời chào đều chứa trong thư mụcvoicemail.
Cd /var/run/
Chứa tất cả thông tin về các tiến trình đang hoạt động trong hệ
thống, bao gồm ASTERISK (đặt biệt là trong tập tin asterisk.conf).
Cd /var/log/asterisk/
Chứa các thông tin logs của ASTERISK. Các thông tin này có thểđược hiệu chỉnh trong logger.conf trong thư mục /etc/asterisk/.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 34/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 24
2.7.2 Các tập tin cấu hình trong hệ thống
Các f ile cấu hình cho hệ thống asterisk đều nằm tại thư mục
/etc/asterisk
Ví dụ như:
extensions.conf
sip.conf
voicemail.conf
asterisk.conf…….
Tuy nhiên, file zaptel.conf cấu hình cho phần cứng TDM nằm tại thưmục /etc, cách thức cấu hình giống như tập tin .ini của window.
Một số file .conf quan trọng
Extensions.conf : file chứa dial plan
Sip.conf : dùng để cấu hình giao thức SIP.
Iax.conf : dùng cấu hình các kênh truyền của giaothức IAX.
2.8 Cơ chế FastAGI2.8.1 FastAGI là gì?
FastAGI có thể được sử dụng như một khuôn mẫu để thiết kế quá trìnhlập trình AGI từ xa của bạn.
Cơ chế này giúp giảm tải trên CPU của bạn. Nó sẽ gọi dịch vụ từ mộtmáy tính khác trong mạng và trả về kết quả cho server xử lí.Nó giúp cho
server bớt công đoạn xử lí các công việc,giảm quá trình tắt nghẽn tổngđài.
FastAGI vẫn là một trong những lựa chọn thay thế tốt nhất để xây dựngcác ứng dụng Asterisk, tách các ứng dụng riêng của mình, nhân rộng
trên nhiều ứng dụng máy chủ FastAGI.
Để kết nối với một giao diện AGI /API interfaces,ta phải có một số thưviện để kết nối. Chúng bao gồm:
Asterisk – Java
Asterisk.NET
PHPAGI
Asterisk-Perl
Asterisk-PyThon
Để chạy được dịch vụ thì máy chủ FastAgi , ta chọn dùng Asterisk.NET.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 35/78
Đồ án tốt nghiệp Đại học Chương 2: Tìm hiểu tổng đài Asterisk
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 25
2.8.2 Hoạt động
Đầu tiên,trên tổng đài ta chỉ khai báo địa chỉ của máy cục bộ(nơi xử lícông việc dùm server)
AGI:\\192.168.1.123\script_cong_viec
Down về thư viện Asterisk.NET để chạy các script trên máy cục bộ và
trả về kết quả cho server. Thư viện này bao gồm một tập hợp các lớp C#
cho phép bạn dễ dàng xây dựng các ứng dụng tương tác với một máy
chủ PBX Asterisk. Cả FastAGI và API đều được hỗ trợ trong .NET /
Mono tương thích.
Asterisk NET hỗ trợ cả hai giao diện đó Asterisk cung cấp cho kịch bảnnày:Các giao thức FastAGI và quản lý API. Việc thựchiện FastAGI hỗ trợ tất cả các lệnh có sẵn từ Asterisk.
Link down : http://sourceforge.net/projects/asterisk-dotnet/
Hình 2.12: Mô hình kết nối của chương trình Asterisk.NET
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 36/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 26
CHƢƠNG 3: TÌM HIỂU CHỨC NĂNG TEXT TO SPEECH3.1 Khái niệm:
3.1.1 Sơ lƣợc về tiếng nói trong VoIP:
Là công cụ để diễn đạt ý nghĩ và giao tiếp giữa người với người.Tiếngnói là một sự kết hợp của rất nhiều âm thanh khác nhau.
Trong lĩnh vực viễn thông , ta có cụm từ “voice over IP”. Đó là “tiếng
nói qua giao thức Internet”. Nói đến công nghệ tiếng nói qua IP là nóiđến việc truyền dẫn tiếng nói qua các mạng lưới hoạt động dựa trên
mạng internet. Ban đầu giao thức Internet (Internet Protocol - IP) đượcthiết kế để nối mạng dữ liệu và sau khi vận hành thành công, giao thứcđã được áp dụng vào việc nối mạng tiếng nói.
Công nghệ tiếng nói qua IP (VoIP) có thể dễ dàng hỗ trợ các nhiệm vụvà đáp ứng các dịch vụ mà khi sử dụng hệ thống PSTN truyền thống có
thể sẽ phức tạp hay tốn kém.3.1.2 Khái niệm về Text To Speech:
Text To Speech (kí hiệu TTS) là quá trình chuyển dạng văn bản dạngtext sang tiếng nói.
TTS được phân loại như sau:
Nối từ (Concatenated Word): Là hệ thống chứa những từ đã được ghi âm sẵn . Khi nhận được
một chuỗi văn bản cần đọc, hệ thống tách các từ trong chuỗi này
ra. Sau đó, tìm các từ này trong hệ thống từ ghi âm sẵn. Cuốicùng, ta kết hợp các từ tương ứng trong chuỗi lại và phát âm
thành câu.
Hai âm tố(Diphone Concatenation):
Là phương pháp nối lại những đoạn âm thanh ngắn đã được số hoá
và tạo ra âm thanh liên tục. Mỗi diphone bao gồm hai âm vị : một
âm vị bắt đầu và một âm vị kết thúc.
Tổng hợp: Là phương pháp tạo âm giống giọng con người với sự mô phỏng
về chiều dài,cổ họng,khoang miệng…Với kĩ thuật này, ta có thểthay đổi chất lượng giọng ,tạo ra âm trầm bổng khác nhau.
3.1.3 Lí do chọn Text To Speech
Thuận tiện cho việc đọc văn bản động, nhất là các cụm từ ngữ ngắn vàluôn thay đổi liên tục mà ta không thể ghi âm hết tất cả.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 37/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 27
Khi đọc lên văn bản hay số liệu sẽ giúp người sử dụng có thể nghe lạivăn bản của mình và phát hiện lỗi khi gõ bàn phím.
Cung cấp những phản hồi rõ ràng và thông báo cho người dùng bằng âmthanh phát ra. Người dùng có thể nghe và đáp ứng lại thông báo.
Ứng dụng này rất thiết thực và hữu ích trong cuộc sống như: hộp thưthoại, các tổng đài trả lời tự động,các đường dây nóng 1900xxx…
3.1.4 Hạn chế của Text To Speech (TTS)
Chất lượng giọng chưa tốt đôi khi khó nghe nếu đọc cụm từ dài . Vì TTSthực chất là ta phải nối từng từ lại với nhau để tạo thành 1 câu dài. Nó là
giọng đọc tổng hợp các từ ngữ với các dấu nhấn,nhịp ngắt,trọng âm,thờigian đọc….
Biểu cảm cảm xúc như chấm than,chấm hỏi lên xuống giọng sẽ khôngđáp ứng thật như con người.
Có thể bị lỗi phát âm từ sai do đặc điểm phát âm của từng vùng trongnước.
3.2 Cấu trúc file âm thanh3.2.1 Khái niệm:
Tâ p tin âm thanh la mô t da ng tâ p tin du ng đê lưu trư dư liê u âm thanh số(dạng sóng ) và nó là một trong những định dạng phổ biến nhất của hệđiều ha nh Windows.
Tâ p tin wave thuô c chuâ n RIFF ( Resource Interchange File Format -
dạng tập tin tài nguyên co thê trao đô i). Đặc điểm của những tập tin thuộc chuẩn RIFF đó là nó sẽ nhóm nội
dung cu a tâ p tin thành các khối riêng biệt .Mỗi một khối sẽ gồm mộtheader (dùng để qui định kiểu và kích thước của khối ) và các byte dữliê u.
Tập tin wave có hai dạng là dạng nén và dạng không nén (dạngchuẩn).Vì thế trong đề tài này tôi chỉ đề cập đến dạng chuẩn của tập tinwave tức là dạng không nén.
3.2.2 Định dạng dữ liệu:
Tất cả các giá trị dữ liệu được lưu trữ trong thứ tự nhỏ dần về cuối
(byte ít quan trọng đầu tiên).
File sóng có thể chứa các chuỗi văn bản quy định cụ thể các nhãn điểmnhấn, ghi chú,… Strings được lưu trữ trong một định dạng mà các byte
đầu tiên xác định số lượng theo byte văn bản ASCII trong chuỗi.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 38/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 28
Các byte sau đây là các byte ký tự ASCII tạo nên các chuỗi văn bản.Đây là định dạng được sử dụng cho các chuỗi Pascal.
7 'E' 'X' 'A' 'M' 'P' 'L' 'E'
Hình 3.1: Định dạng chuỗi sóng
3.2.3 Xử lí tập tin wave
Là một dạng tập tin dùng để lưu trữ dữ liệu âm thanh số(dạng sóng) vànó là một trong những định dạng phổ biến nhất của hệ điều hành
Windows.
Một file RIFF chứa một hay nhiều loại chunks.Mỗi chunk gồm có loại
chunk và dữ liệu theo sau loại chunk đó,đồng thời chứa con trỏ để trỏđến chunk kế tiếp.
Cấu trúc file âm thanh gồm ba khối: khối mô tả dạng RIFF,khối thuộctính “fmt “ và khối dữ liệu “data” trong đó khối thuộc tính “fmt” và khốidữ liệu “data” là 2 khối con của khối mô tả dạng RIFF.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 39/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 29
Hình 3.2: Cấu trúc tập tin âm thanh
Khối mô tả dạng RIFF:
Khôi na y xác định dạng RIFF và co k ch thươ c la 12 byte gôm ca ctrươ ng.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 40/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 30
Hình 3.3 : Làn sóng dạng RIFF
Khôi thuô c t nh “fmt ”:
Khối này xác định các thuộc tính của dữ liệu âm thanh và có kíchthước là 24 byte.
Cấu trúc khối fmt như sau:
class WavFormatChunk : WavChunk
{
/ / kiểu mã hoá dữ liệu âm thanh
public ushort wFormatTag;
// có hai giá trị: bằng 1 cho âm thanh mono, bằng 2 cho âm thanh
stereo
public ushort wChannels;
// cho biết tốc độ lấy mẫu (11025-11,025kHz,22050-22,05
kHz…)
public ulong dwSamplesPerSec; // số byte trung bình yêu cầu trong 1 giây để phát lại mẫu dữ liệu
của sóng âm
public ulong dwAvgBytesPerSec;
// cho biết số byte dùng để chứa một mẫu âm thanh
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 41/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 31
// mẫu <= 8 bit sẽ yêu cầu 1 byte, mẫu 9-16 bit sẽ yêu cầu 2
bytes
public ushort wBlockAlign;
// cho biết số bit trong một mẫu dữ liệu(dạng byte hay word)
public ushort wBitsPerSample;
}
Khối này xác định các thuộc tính của dữ liệu âm thanh và có kích thước
là 24 byte gồm các trường: • Subchunk1ID:
- Kích thước: 4 byte
- Chư c năng: chư a chuô i “fmt ”.
• Subchunk1Size:
- Kích thước: 4 byte- Chức năng :cho biết tổng kích thước của các trường thuộc khối
thuộc tính đứng phía sau trường này. (đối với tập tin wave không nén thì Subchunk1Size bằng 16)
• AudioFormat:
- Kích thước: 2 byte
- Chức năng: cho ta biết dạng nén của dữ liệu trong tập tin wave.
Giá trị mô tả
- 0 :Không xác định
- 1: Không nén (PCM-Pulse Code Modulation)
Một số giá trị thông dụng
• NumChannels: Kích thước: 2 byte
Chức năng: cho biết số kênh của tập tin wave. (Mono=1,Stereo=2,v.v)
• SampleRate: - Kích thước: 4 byte
- Chức năng: cho biết số mẫu trên 1s và đây chính là tần số lấy mẫucủa tập tin wave. • ByteRate:
- Kích thước: 4 byte
- Chức năng:cho biết số byte trên 1 s ứng với tần số lấy mẫu trên. (ByteRate=SampleRate*NumChannels*(BitsperSample/8))
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 42/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 32
• BlockAlign:
- Kích thước:2 byte
- Chức năng: cho biết số byte của 1 mẫu gồm tất cả các kênh. • BitsPerSample: cho biết số bit trên 1 mẫu chỉ tính cho 1 kênh. ( 8 bit=8,16 bit=16,v.v)
Data Chunk - "dữ liệu" Chunk sóng dữ liệu chứa dữ liệu mẫu âm thanh kỹ thuật số có thể được
giải mã bằng cách sử dụng định dạng và phương pháp nén quy định tạiChunk Định dạng Wave.
Đối với mẫu âm thanh 8 bit,dữ liệu của “data” bao gồm các giá trị 1 byte(từ 0-255) của các mẫu âm thanh. Với mẫu âm thanh 16 bits,mỗi
mẫu dữ liệu gồm 2 bytes (-32768 đến 32767).
Cấu trúc :
typedef struct{
ID chunkID; Long chunkSize; unsigned char waveformData [];
} DataChunk;
ChunkSize là số lượng byte trong đoạn.
Độ phân giải bit và các thông tin khác nhận được từ các đoạn địnhdạng(Format).
Các mảng waveformData chứa dữ liệu dạng sóng thực tế. Dữ liệu được
sắp xếp thành các khung mẫu.
Số lượng các khung mẫu trong waveformData được xác định bằng cáchchia này chunkSize wBlockAlign đoạn định dạng.
Chunk dữ liệu là cần thiết vì chỉ có một Chunk dữ liệu có thể xuất hiệntrong một WAVE.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 43/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 33
Làn sóng các tập tin thường chứa chỉ có một đoạn dữ liệu, nhưng chúngcó thể chứa nhiều hơn một nếu họ được chứa trong một Chunk Danh
sách Wave ("wavl").
Hình 3.4: Định dạng dữ liệu Chunk
Mẫu kĩ thuật số đa kênh âm thanh được lưu trữ như các dữ liệu sóng xen
kẽ (như âm thanh stereo và surround).
Sóng tập tin được lưu trữ bằng cách lướt qua các mẫu âm thanh cho mỗikênh trước khi tiến tới mẫu tiếp theo. Điều này được thực hiện để các
tập tin âm thanh có thể được phát hoặc xem trực tiếp trước khi toàn bộ
tập tin có thể được đọc. Đây là tiện dụng khi phát một file lớn từ đĩa (cóthể không hoàn toàn phù hợp với bộ nhớ) hoặc trình chiếu một tập tinqua Internet.
Các giá trị trong sơ đồ dưới đây sẽ được lưu trữ trong một file Wavetheo thứ tự được liệt kê trong cột giá trị (trên xuống dưới).
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 44/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 34
Hình 3.5: Làn sóng mẫu Interlaced Stereo
Một điểm về dữ liệu mẫu mà có thể gây ra một số nhầm lẫn khi mẫu
được biểu diễn với 8- bit, được quy định như giá trị unsigned. Tất cả cácmẫu khác - bit kích thước được quy định cụ thể như các giá trị đã kí kết.
Ví dụ một mẫu 16- bit có thể là -32.768-32767 với một điểm giữa (imlặng) ở 0.
Như đã đề cập trước đó, tất cả các khối RIFF (bao gồm cả WAVE "dữliệu" khối) phải được liên kết từ. Nếu dữ liệu mẫu sử dụng một số lẻ của
byte, một byte padding với một giá trị không phải được đặt ở phần cuốicủa dữ liệu mẫu. Các đoạn "dữ liệu" tiêu đề của kích thước không nên bao gồm byte này.
Fact Chunk - "thực tế"
Một đoạn thông tin thực tế nén phụ thuộc mã về nội dung của tập tin
sóng. Đó là yêu cầu tất cả các định dạng WAVE nén và khi các dữ liệudạng sóng được chứa bên trong một đoạn "wavl DANH SÁCH", nhưng
không cần thiết cho các tập tin định dạng không nén PCM WAVE (nén
mã 1) có chứa các dữ liệu dạng sóng bên trong một đoạn "dữ liệu" .
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 45/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 35
Hình 3.6: Định dạng thực tế Chunk
Định dạng Phụ thuộc dữ liệu :
Hiện tại chỉ có một lĩnh vực quy định cho các dữ liệu phụ thuộc vào địnhdạng. Đó là một giá trị duy nhất 4- byte quy định cụ thể số lượng mẫutrong đoạn dữ liệu dạng sóng. Giá trị này có thể được sử dụng với các
mẫu ,mỗi giá trị thứ hai quy định trong định dạng đoạn để tính toánchiều dài dạng sóng trong vài giây.
Khi định dạng WAVE mới được giới thiệu, các đoạn thực tế sẽ được mở rộng, lĩnh vực phụ được thêm vào sau khi số lượng quy định của mẫu
nghiên cứu lấy.
Các ứng dụng có thể sử dụng kích thước đoạn thực tế để xác định cáclĩnh vực có mặt trong đoạn.
3.2.4 Đọc file RIFF:
Làn sóng tập tin header theo cấu trúc tập tin định dạng RIFF chuẩn.
8 byte đầu tiên trong tập tin tiêu đề trong đó có một ID đoạn "RIFF" và
một đoạn kích thước bằng kích thước tập tin trừ đi 8 byte được sử dụng
bởi tiêu đề.
Vì vậy, chúng ta cần phải biết tổng chiều dài của tất cả các tập tin để xác
định ChunkSize và đọc NumChannels SampleRate và BitsPerSample.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 46/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 36
private void WaveHeaderIN( string spath)
{
FileStream fs = new FileStream(spath, FileMode.Open,
FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
length = ( int )fs.Length - 8 ;
fs.Position = 22 ;
channels = br.ReadInt16();
fs.Position = 24 ;
samplerate = br.ReadInt32();
fs.Position = 34 ;
BitsPerSample = br.ReadInt16();
DataLength = ( int )fs.Length - 44 ;
br.Close ();fs.Close();
}
Như chúng ta biết, các kênh được lưu trữ trong tiêu đề WAV trong số
byte 22, chúng tôi di chuyển vị trí hiện tại của tập tin đến vị trí này và
kích thước của nó là 2 byte, do đó chúng tôi sử dụng br.ReadInt16 () đểđọc chỉ có 2 byte.
private void WaveHeaderOUT( string sPath)
{FileStream fs = new FileStream(sPath, FileMode.Create,
FileAccess.Write );
BinaryWriter bw = new BinaryWriter(fs);
fs.Position = 0;
bw.Write(new char[4] { 'R', 'I', 'F', 'F' });
bw.Write(length);
bw.Write(new char[8] {'W','A','V','E','f','m','t',' '});
bw.Write((int)16);
bw.Write((short)1);
bw.Write(channels);
bw.Write(samplerate );
bw.Write((int)(samplerate * ((BitsPerSample * channels) / 8)));
bw.Write((short )((BitsPerSample * channels) / 8));
bw.Write(BitsPerSample);
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 47/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 37
bw.Write(new char[4] {'d','a','t','a'});
bw.Write(DataLength);
bw.Close();
fs.Close();
}
Khai báo "RIFF" như là một mảng của char, không phải là chuỗi và
sử dụng loại int để lưu trữ 4 byte và loại ngắn để lưu trữ 2 byte.
public void Merge( string [] files, string outfile)
{
WaveIO wa_IN = new WaveIO();
WaveIO wa_out = new WaveIO();
wa_out.DataLength = 0;
wa_out.length = 0;
//Gather header data
foreach (string path in files)
{
wa_IN.WaveHeaderIN(@path);
wa_out.DataLength += wa_IN.DataLength;
wa_out.length += wa_IN.length;
}
//Recontruct new header
wa_out.BitsPerSample = wa_IN.BitsPerSample;wa_out.channels = wa_IN.channels;
wa_out.samplerate = wa_IN.samplerate;
wa_out.WaveHeaderOUT(@outfile);
foreach (string path in files)
{
FileStream fs = new FileStream(@path, FileMode.Open,
FileAccess.Read);
byte[] arrfile = new byte[fs.Length - 44];
fs.Position = 44;
fs.Read(arrfile, 0, arrfile.Length);
fs.Close();
FileStream fo = new FileStream(@outfile, FileMode.Append,
FileAccess.Write);
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 48/78
Đồ án tốt nghiệp Đại học Chương 3: Tìm hiểu chức năng Text to speech
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 38
BinaryWriter bw = new BinaryWriter(fo);
bw.Write(arrfile);
bw.Close();
fo.Close();
}
Chúng ta cần để tính toán tổng chiều dài và chiều dài dữ liệu của tất cảcác tập tin và sau đó xác định các kênh, SampleRate và BitsPerSample
của file.
Tất cả chúng ta cần làm là gọi phương thức kết và quy định cụ thể các
tập tin đầu vào và tập tin đầu ra.
string [] files = new string [ 2 ] { @" ..\ đường dẫn \file.wav" ,
@"C:\WINDOWS\Media\Windows\XP Shutdown.wav" };
WaveIO wa = new WaveIO();
wa.Merge(files, @" c:\oou.wav" );
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 49/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 39
CHƢƠNG 4: TÌM HIỂU DỊCH VỤ TRA CỨU ĐIỂM TUYỂN SINH 4.1 Tổng quan về hệ thống tuyển sinh:
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ạiviê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ạohiệ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ấpnhư mã thí sinh mà đáp ứng yêu cầu người dùng.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 50/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 40
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ểnsang 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 textsang 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ươngtrì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
Hình 4.1: Chức năng của ứng dụng
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 51/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 41
4.2.2 Sơ đồ xử lí chức năng
Lựa chọnphí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àosố 200
Nhập SBD Kết thúccuộc gọi
Truy vấnCSDL
Trả lời tự động
Phím 1
Phím 2
hết thời gian thao tác
hếtthờigianthaotác
khôngcó
cóđiểm
hết thời gian xử lí
Phím 2
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 52/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 42
4.3 Thiết kế lƣợc đồ dữ liệu quan hệ ERD 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
Hình 4.3 : Mô hình diagram
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 53/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 43
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:
Truong
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 54/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 44
MonHoc
SinhVien
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 55/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 45
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 liên hệ bảng SinhVien- bảng Diem
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 56/78
Đồ án tốt nghiệp Đại học Chương 4: Tìm hiểu dịch vụ tra cứu điểm tuyển sinh
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 46
- 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 chonhiề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
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ềnnhanh hay chậm.
Việc dùng hàm text to speech để ghép từng từ làm cho chuỗi âm thanhcòn rời rạc nên âm thanh không hay lắm.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 57/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 47
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 LinuxFedora, 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ínhServer 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
make all
make install
cd /usr/src/asterisk/dahdi-tool-2.4.1.2
make
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 58/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 48
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 – rThoá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 đó,tachạ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ặclaptop 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ấuhình một số thông số chính trong file sip.conf hoặc file đã được includetrong file sip.conf như sau:
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 59/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 49
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ụcusername, 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/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 60/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 50
5.2 Cà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
So với phiên bản củ SQL 7.0, SQL 2000 thì SQL 2005 chú trọng đếncô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ậntiệ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ộtcách tự động.
Đối với người dùng doanh nghiệp, SQL Server Express dễ dàng cắm vàocho 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ốicù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
CREATE TABLE [dbo].[TuDien](
[matu] [int] IDENTITY (1 ,1) NOT NULL,[tu] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL,
CONSTRAINT [PK_TuDien] PRIMARY KEY CLUSTERED
(
[matu] ASC
)WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON
[PRIMARY]
) ON [PRIMARY]
Truong
CREATE TABLE [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] PRIMARY KEY CLUSTERED
(
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 61/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 51
[matruong] ASC
)WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON
[PRIMARY]
) ON [PRIMARY]
SinhVien
CREATE TABLE [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] PRIMARY KEY CLUSTERED (
[masv] ASC
)WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON
[PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SinhVien] WITH CHECK ADD CONSTRAINT
[FK_SinhVien_Truong] FOREIGN KEY ([matruong])
REFERENCES [dbo].[Truong] ([matruong])
GO ALTER TABLE [dbo].[SinhVien] CHECK CONSTRAINT
[FK_SinhVien_Truong]
MonHoc
CREATE TABLE [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] PRIMARY KEY CLUSTERED
(
[mamh] ASC
)WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON
[PRIMARY]
) ON [PRIMARY]
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 62/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 52
Diem
CREATE TABLE [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] PRIMARY KEY CLUSTERED
(
[masv] ASC ,
[mamh] ASC
)WITH (PAD_INDEX = OFF , IGNORE_DUP_KEY = OFF ) ON
[PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Diem] WITH CHECK ADD CONSTRAINT
[FK_Diem_MonHoc] FOREIGN KEY ([mamh])
REFERENCES [dbo].[MonHoc] ([mamh])
GO
ALTER TABLE [dbo].[Diem] CHECK CONSTRAINT
[FK_Diem_MonHoc]
GO
ALTER TABLE [dbo].[Diem] WITH CHECK ADD CONSTRAINT
[FK_Diem_SinhVien] FOREIGN KEY ([masv])
REFERENCES [dbo].[SinhVien] ([masv])
GO
ALTER TABLE [dbo].[Diem] CHECK CONSTRAINT
[FK_Diem_SinhVien]
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 63/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 53
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
Hình 5.3 :Màn hình đã kết nối Asterisk
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 64/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 54
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
o Vào sip.conf (etc/asterisk), ta đăng kí địa chỉ cho softphone có chứcnă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ệnthoại 101 và 102
Khai báo số 200 để khi gọi vào sô 200 này, server sẽ gọidịch vụ từ máy có địa chỉ 192.168.1.123 thông quascript 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úcghi âm bấm phím # và sau 2 giây nó sẽ phát lại đoạn ghi
âm trên.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 65/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 55
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ốngdòng cuối cùng và thêm đoạn sau:
Hình 5.6: Cấu hình tập tin chia sẻ
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 66/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 56
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ứathư 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:
Hình 5.9:Đường dẫn vào server
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 67/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 57
Truy cập thành công, vào “Thƣ mục chia sẻ” có tệp tin chia sẻ
Hình 5.10:Địa chỉ chia sẻ tập tin âm thanh
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 68/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 58
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.
Hình 5.11:Cổng kết nối giữa máy client và máy server
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 69/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 59
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 đếnvớ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 tinvề mã môn thi, chọn số 2 để nghe về kết quả điểm thi tuyển sinh.”
Sau khi nghe câu chào xong, bạn có 2 lựa chọn:
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 70/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 60
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
Hình5.14: Xử lí phím số 1
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 71/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 61
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.
Hình 5.15: Xử lí phím số 2
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 72/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 62
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ầunhậ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ểmhay 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.
Hình 5.17: Xử lí ghép âm thanh
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 73/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 63
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.
Để xuất ra server thì ta trỏ đường dẫn đến thư mục share giữa máy
win và máy server.
Ứng với mỗi từ được ghi ở dạng Text sẽ có một file âm thanh của nó
trong thu mục đường dẫn bin phía trên. Ta dùng hàm mergerfile đểghép các từ ngữ đơn lại thành chuỗi và đọc ra kết quả tương ứng.
5.4 Kết luận
Thử nghiệm được các chức năng thực tế của tổng đài như:
Dial giữa các phone nội bộ.
Record and Playback (ứng dụng cho việc ghi danh,điền thông tin). Chức năng lấy dữ liệu, đọc file âm thanh trên các máy local.
Xây ứng dịch vụ điểm tuyển sinh đối với mạng nội bộ, giữa các hệ thốngchi nhánh của trường hoạt động như sau:
Bấm số 200 để gọi vào tổng đài Asterisk Tổng đài Asterisk đã được cài đặt trên hệ điều hành Linux
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 74/78
Đồ án tốt nghiệp Đại học Chương 5: Cài đặt và cấu hình hệ thống Server
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 64
Khi đã kết nối vào tổng đài và ta có 2 lựa chọn cho khách hàng
o Bấm số 1 để bạn nghe thông tin về tuyển sinh cũng như mã các
môn thi
o Bấm số 2 để bạn nghe kết quả điểm thi tuyển sinh.
5.5 Những hạn chế:
Chỉ dừng ở mức độ gọi điện cục bộ trong một môi trường cụ thể.
Các file âm thanh được nhập cố định trong cơ sở dữ liệu, chưa linh độngtrong trường hợp có từ ngữ mới phát sinh.
Do thời gian có hạn nên ứng dụng tự động chưa được hoàn thiện và đầy đủ
như thực tế ,chất lượng âm thanh giọng đọc chưa chuẩn.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 75/78
Đồ án tốt nghiệp Đại học Đánh giá chung và hướng phát triển
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 65
ĐÁNH GIÁ CHUNG VÀ XU HƢỚNG PHÁT TRIỂN ĐỀ TÀI
Qua quá trình tìm hiểu, em đã có những kiến thức cơ bản về các kỹ thuậtviễn thông, các kiến thức về lập trình trên phần cứng.
Với công nghệ VOIP, việc xây dựng một tổng đài thực tế Asterisk này sẽ
rất hữu ích cho các doanh nghiệp muốn có một tổng đài với chi phí vừa phải.
Dựa vào nền tảng là các ứng dụng nhỏ trong quá trình làm đề tài, em sẽ cốgắng phát triển lên thành một hệ thống cuộc gọi hoàn chỉnh hơn như cácứng dụng về các IVR.
Hình 6.1: Mô hình một hệ thống IVR
Asterisk hỗ trợ rất nhiều công nghệ khác nhau và có cấu trúc nguồn mở,cho phép các nhóm phát triển lẫn người sử dụng có thể tùy biến ứngdụng Asterisk của mình đáng kể.
Đặc biệt, phải kể đến giao tiếp Asterisk AGI&FASTAGI hay
AsteriskRealtime cho phép Asterisk kết hợp với các ngôn ngữ lập trình
thông dụng như : C, C++,C#, VB, PHP, Shell-script, Python cùng với hệ
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 76/78
Đồ án tốt nghiệp Đại học Đánh giá chung và hướng phát triển
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 66
cơ sở dữ liệu MySQL,Oracle,SQL Server để phát triển những ứng dụng
Voice-Application khác nhau.
Asterisk là một IP-PBX đã được triển khai cũng khá nhiều ở các công tynhằm giảm chi phí liên lạc, tuy nhiên nó cũng còn khá mới nên việc cài
đặt, cấu hình chủ yếu từ các chuyên viên trong lĩnh vực viễn thông.
Mục tiêu của đồ án và hướng phát triển tiếp theo là xây dựng hệ thống
Asterisk với các tiện ích thực tế, thân thiện để những nhân viên bìnhthường cũng có thể xây dựng và quản lí hệ thống IP-PBX cho công ty
mình.
Kết luận, em đã hoàn tất việc cài đặt một hệ thống PBX với các tính năng củamột server tổng đài. Và đã hoàn thành cơ bản nội dung đề cương đặt ra trong
kì đồ án tốt nghiệp.Trên cơ sở đó có thể phát triển ứng dụng khai thác hệ thống
Asterisk theo hướng hoàn thiện các chức năng nêu ở phần hạn chế và để có thểứng dụng được chương trình trong thực tế. Trong quá trình làm bài luận văn tốt nghiệp này, em vẫn còn nhiều thiếu sót và
mong nhận được sự góp ý kiến của quý thầy cô.
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 77/78
Đồ án tốt nghiệp Đại học Phụ lục
SVTH: Nguyễn Thanh Tâm – Lớp: D07THPM Trang 67
PHỤ LỤC 1. Các gói phần mềm phụ thuộc phải có trong hệ điều hành Linux
yum -y update
yum -y upgrade
yum -y install dahdi-tools kernel-devel kernel-headers
yum -y install make bison bison-devel ncurses ncurses-devel zlib zlib-developenssl openssl-devel gnutls-devel gcc gcc-c++ kernel-devel flex libxml2-devel
which
yum -y install httpd httpd-devel
/etc/init.d/httpd start
yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt
php-devel php-xml php-imap php-ldap php-odbc php-pear php-xmlrpc
ImageMagick ImageMagick-devel
yum -y install linux-headers-$(uname -r) bison openssl libssl-dev libeditline0
libeditline-dev libedit-dev gcc make g++ mc php5-cli gt libgtk2.0-dev
2. Các gói cần thiết của phần mềm Asterisk Asterisk Communications Engine – bản mới nhất là Asterisk 10.0.0
Source Tarball . DAHDI Linux / DAHDI Tools LibPRI LibSS7
3. Khắc phục lỗi khi cài Dahdi Bước 1:
o cd /usr/srco wget http://mirror.anl.gov/pub/linux/kernel/v2.6/linux-2.6.18.tar. o tar zxvf lilnux-2.6.18.tar.gz
Bước 2: o ln -s linux-2.6.18 linuxo cd linuxo make oldconfigo makeo make modules_install install
Bước 3:o uname – ro 2.6.18-92.1.13.el5
Bước 4: o cd /lib/modules/2.6.18-92.1.13.el5/ o mv build build.bak o mv source source.bak
5/17/2018 76431256-407170129-NTT - slidepdf.com
http://slidepdf.com/reader/full/76431256-407170129-ntt 78/78
Đồ án tốt nghiệp Đại học Tài liệu tham khảo
SVTH ễ D07THPM T 68
TÀI LIỆU THAM KHẢOTiếng Việt
[1]. Asterisk Tiếng Việt – Lê Quốc Toàn
[2]. Các dịch vụ tổng đài link: http://www.tongdai.com.vn
[3]. Cấu trúc tập tin wavefile
link :http://my.opera.com/f0ng_vn/blog/show.dml/671686
[4]. Diễn đàn giải pháp VoIP
Tiếng Anh
[1]. Asterisk™The Future of Telephony- Publisher: O'Reilly Media-2005
[2]. Configuration Guide For Asterisk PBX – By Flavio E.Goncalves
Copyright © 2006 V.Office Networks Ltda., All rights reserved.
[3]. How to setup Asterisk 1.6.2 on Centos 5.4
http://www.selbytech.com/2010/01/how-to-setup-asterisk-1-6-2-on-centos-5-4/
[4]. The Open Source Telephony Projects
link: http://www.asterisk.org/ [5]. The VOIP Wiki - a reference guide to all things VOIP
link: http://www.voip-info.org/ [6]. VoIP Telephony with Asterisk – Paul Mahler.
[7]. , Building Telephony Systems with Asterisk - Barrie Dempster - David
Gomillion Packt Publishing Ltd , 2005.