Tải bản đầy đủ (.docx) (84 trang)

Hệ thống cung cấp thông tin qua mạng điện thoại và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (964.33 KB, 84 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
------------------
NGUYỄN TRẦN VỌNG – TRẦN MINH TRƯỜNG
Hệ thống cung cấp thông tin qua mạng điện thoại
và ứng dụng
KHÓA LUẬN TỐT NGHIỆP
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM
TP.HCM, 2010
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
------------------
NGUYỄN TRẦN VỌNG 0612568
TRẦN MINH TRƯỜNG 0612481
Hệ thống cung cấp thông tin qua mạng điện thoại
và ứng dụng
KHÓA LUẬN TỐT NGHIỆP
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM
GIÁO VIÊN HƯỚNG DẪN
TS. VŨ HẢI QUÂN
KHÓA 2006 - 2010
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................


.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
...............................................................................TP. HCM, ngày … tháng … năm …
TP.HCM, ngày … tháng … năm …
Giáo viên hướng dẫn
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Khóa luận đáp ứng yêu cầu của Khóa luận cử nhân CNTT.
TP. HCM, ngày … tháng … năm …
Giáo viên phản biện
LỜI CẢM ƠN
Chúng em xin chân thành cám ơn khoa Công Nghệ Thông Tin trường Đại học
Tự Nhiên đã 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.
Chúng em xin chân thành cám ơn thầy Vũ Hải Quân, thầy Phạm Minh Nhựt đã
tận tình chỉ dạy, giúp đỡ chúng em trong suốt quá trình làm khóa luận, nếu không có
sự hướng dẫn tận tình của các thầy, chúng em không thể nào hoàn thành tốt khóa
luận.
Chúng em xin chân thành cám ơn các thầy cô khoa Công nghệ Thông tin đã tận
tình chỉ dạy, trang bị kiến thức cho chúng em trong suốt bốn năm học qua.
Chúng tôi cũng chân thành cám ơn các anh chị trong AI Lab, các bạn sinh viên
trường Đại Học Khoa Học Tự Nhiên, trường Đại Học Khoa Học Xã Hội và Nhân
Văn, đã nhiệt tình giúp đỡ trong quá trình thu thập dữ liệu phục vụ cho đề tài.
Chúng con xin chân thành cám ơn gia đình, ông bà, cha mẹ đã chăm sóc, nuôi
dưỡng chúng con nên người, và tạo điều kiện cho chúng con hoàn thành khóa luận
này.
Chúng em xin cảm ơn những anh chị đi trước đã để lại những kiến thức rất bổ
ích để chúng em tiếp nối.Cảm ơn các anh chị và các bạn trong nhóm nghiên cứu xử
lý tiếng nói đã giúp đỡ chúng tôi rất nhiều trong quá trình làm luận văn.
Mặc dù chúng em đã cố gắng hết sức để hoàn thành khóa luận, song không thể

tránh khỏi sai sót. Chúng em kính mong nhận được nhận xét và sự đóng góp của quý
Thầy Cô và bạn bè.
Nhóm thực hiện
Nguyễn Trần Vọng - Trần Minh Trường
MỤC LỤC
DANH MỤC HÌNH ẢNH
8
DANH MỤC BẢNG
9
TÓM TẮT KHÓA LUẬN
Tên đề tài là “Hệ thống cung cấp thông tin qua mạng điện thoại và ứng dụng”, cụ thể
ở đây, chúng tôixây dựng thử nghiệm một Voice Server phục vụ truy vấn thông tin
qua điện thoại bằng cách nhận dạng tiếng nói do người dùng đọc vào, tập trung vào
hai nội dung chính:
1. Thử nghiệm các phương pháp nhận dạng tiếng nói đã được nghiên cứu từ
trước, áp dụng cho dữ liệu là tiếng Việt, qua môi trường điện thoại. Gồm hai
bước chính:
a. Thu thập và chuẩn hóa dữ liệu: dùng cho mục đích huấn luyện bộ nhận
dạng.
b. Áp dụng nhiều phương pháp, nhiều mô hình nhận dạng tương ứng với
dữ liệu thu được nhằm tìm ra phương pháp tối ưu nhất, cho chất lượng
nhận dạng tốt nhất đối với tiếng Việt.
2. Xây dựng ứng dụng: Xây dựng một ứng dụng thực tế, mà cụ thể là một
Voice Server giúp người dùng truy vấn thông tin của các mã chứng khoán hiện
đang được niêm yết, bằng cách cho phép người dùng gọi vào và đọc mã chứng
khoán. Chương trình sẽ sử dụng mô hình nhận dạng tối ưu nhất được lọc ra từ
bước 1, nhận dạng mã chứng khoán đó và truy vấn thông tin được lưu trong
Database trả lời lại cho người dùng.
Ngoài ra, đóng góp của luận văn cũng bao gồm:
• Tham gia xây dựng bộ dữ liệu huấn luyện mô hình ngữ âm gồm 5 giờ thu âm

giọng đọc mã chứng khoán của 124 người khác nhau, cả nam và nữ, qua môi
trường điện thoại, kèm văn bản tương ứng.
• Định hướng trong việc tìm ra mô hình và phương pháp nhận dạng tiếng Việt
có chất lượng cao.
10
MỞ ĐẦU
Nhu cầu thực tế
Tiếng nói là công cụ giao tiếp chính của con người. Xuất phát điểm từ ý tưởng
giao tiếp người-máy qua tiếng nói, những nghiên cứu về nhận dạng tiếng nói đã thu
hút được rất nhiều sự quan tâm trong suốt 5 thập kỉ qua. Cho đến thời điểm này, nhận
dạng tiếng nói đã tìm được nhiều ứng dụng cụ thể trong những công việc đòi hỏi có
sự giao tiếp người-máy như điều khiển máy tính bằng giọng nói, tìm kiếm các bản tin
thời sự, trả lời điện thoại tự động, tìm kiếm thông tin về du lịch, thị trường chứng
khoán, thời tiết....
Vì được ứng dụng rộng rãi nên yêu cầu đối với những người nghiên cứu nhận
dạng tiếng nói trên thế giới nói chung và đối với tiếng Việt nói riêng là phải làm sao
để kết quả nhận dạng đạt được càng cao càng tốt. Đáp ứng nhu cầu đó, trên thế giới
đã đưa ra nhiều phương pháp mới, nhiều hướng tiếp cận mới và đã đạt được những
kết quả khả quan.
Tuy nhiên việc áp dụng những kiến thức đó vào thực tiễn đối với tiếng Việt ở
nước ta còn nhiều hạn chế, còn thiếu những kết quả thực tiễn có tính ứng dụng cao
trong lĩnh vực phân tích và nhận dạng tiếng nói, cũng như trong việc giao tiếp một
cách tự nhiên giữa người và máy còn nhiều hạn chế.
Từ thực trạng trên, luận văn được phát triển nhằm xây dựng một ứng dụng thực
tiễn áp dụng một số phương pháp đã được đưa trong lĩnh vực nhận dạng tiếng nói, cụ
thể là : “Nghiên cứu và xây dựng hệ thống Voice Server ứng dụng cho các dịch vụ
cung cấp thông tin qua mạng điện thoại”.
Mục tiêu luận văn
Xây dựng một Voice Server nhỏ nhằm cung cấp thông tin qua mạng điện
thoại.Cụ thể là hệ thống sẽ cung cấp thông tin ở mức cơ bản về tỷ giá cổ phiếu và

thông tin thị trường chứng khoán.Bằng cách cho phép người dùng gọi điện thoại vào
11
nghe hướng dẫn và đọc mã chứng khoán cần tra cứu, hệ thống phải ghi nhận và nhận
dạng mã chứng khoán đó và trả về thông tin đúng cho người dùng.
Trước đề tài này, đã có một đề tài cũng xây dựng một hệ thống tương tự, nhưng
ghi nhận từ thông tin người dùng bằng cách cho người dùng nhập mã chứng khoán
bằng text từ bàn phím điện thoại và đã bảo vệ thành công vào tháng 3 năm 2010.
Nội dung luận văn
Thu thập dữ liệu: Thu thập dữ liệu mẫu thực tế bằng cách thu âm giọng nói
của 124 người khác nhau (cả nam và nữ), với khoảng 5 giờ thu âm. Chuẩn hóa dữ
liệu thu âm được bằng cách loại bỏ một phần nhiễu và đưa về dạng file định dạng
wav chuẩn.
Mục đích là để có dữ liệu phục vụ cho quá trình huấn luyện bộ nhận dạng và
phục vụ cho các đề tài có nhu cầu về sau.
Huấn luyện bộ nhận dạng: Dùng dữ liệu thu thập được, tiến hành huấn luyện
bộ nhận dạng (HTK Tool) theo nhiều cách khác nhau nhằm tìm ra bộ nhận dạng hiệu
quả, phù hợp với mục tiêu của luận văn và cho kết quả nhận dạng chính xác nhất.
Xây dựng Voice Server: Xây dựng Voice server nhỏ sử dụng bộ giao tiếp với
thiết bị là TAPI 3, và sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2005 để lưu trữ
thông tin về các mã chứng khoán. Gắng bộ nhận dạng vào chương trình, chạy thử
nghiệm, chỉnh sửa và đóng gói thành sản phẩm.
Cấu trúc Voice Server
Voice server mà nhóm xây dựng bao gồm 4 module chính:
+ Module giao tiếp: bộ thư viện (TAPI) giao tiếp với thiết bị kết nối vào hệ
thống điện thoại, tiếp nhận tín hiệu từ điện thoại, cũng như trả lời thông
tin có được lại cho người dùng.
12
+ Module nhận dạng: chuyển đổi thông tin từ dạng âm thanh sang dạng
text, cụ thể, tiếp nhận mã chứng khoán do người dùng đọc vào, trả về
thông tin nhận dạng được dưới dạng text.

+ Module xử lý (Truy vấn): cập nhật thông tin trực tuyến từ Internet và lưu
vào Database, tiếp nhận thông tin mã chứng khoán từ Module nhận dạng,
trả về kết quả tương ứng từ database dưới dạng text.
+ Module tổng hợp: ngược lại Module nhận dạng, module này chuyển đổi
thông tin từ dạng text sang dạng âm thanh chuyển về cho module giao
tiếp.
Hình 1.1: Cấu trúc voice server
Chi tiết về từng module sẽ được trình bày trong phần sau của báo cáo này trong
chương 2: “Cơ sở lý thuyết”.
Cấu trúc luận văn
Luận văn trình bày gồm 4 chương:
+ Chương 1: Chương này trình bày tóm lược về thế nào là một Ứng dụng
âm thanh (Voice Application) và giới thiệu về Hệ thống trả lời điện
thoại tự động.
+ Chương 2: Cơ sở lý thuyết thực hiện đề tài.
+ Chương 3: Thiết kế và cài đặt.
13
+ Chương 4: Tóm tắt đề tài.
14
Chương 1: TỔNG QUAN
Chương này trình bày tóm lược về thế nào là một Ứng dụng âm thanh (Voice
Application) và giới thiệu về Hệ thống trả lời điện thoại tự động.
1.1. Thế nào là một Ứng dụng âm thanh (Voice Application)
Là ứng dụng có thể thực hiện tương tác giữa máy tính và con người bằng âm
thanh nó cung cấp cho người dùng khả năng truy cập thông tin bằng âm thanh. Nó có
thể tạo nên những ứng dụng thương mại tương tác với khách hàng bằng âm thanh
thay cho tương tác truyền thống bằng phím và chuột.
Ứng dụng âm thanh có thể được cài đặt trên hệ thống cục bộ hoặc từ xa và
người dùng có thể tương tác với hệ thống bằng các thiết bị cầm tay như điện thoại...
Một ứng dụng âm thanh tiêu biểu sẽ gồm các tương tác sau:

- Khách hàng dùng điện thoại gọi vào hệ thống, hệ thống tự động trả lời
cuộc gọi đồng thời thực thi các ứng dụng tương ứng khác. Ứng dụng sẽ phát
ra câu chào và thông tin cần thiết để hướng dẫn cho khách hàng.
- Ứng dụng có thể chờ đáp ứng trong một khoảng thời gian. Người gọi
có thể tương tác với hệ thống bằng cách nói trực tiếp yêu cầu hoặc có thể thực
hiện thông qua các phím trên điện thoại.
- Hệ thống sẽ xử lý các yêu cầu tương ứng và hồi đáp cho khách hàng.
Ví dụ, nó có thể cập nhật thông tin trong cơ sở dữ liệu hay truy xuất thông tin
và phát thông tin đó cho người gọi dưới dạng âm thanh.
Khách hàng có thể kết thúc cuộc gọi bất cứ lúc nào bằng cách gác điện thoại
hoặc chỉ định tương tác đã kết thúc(bằng phím hay giọng nói).
1.2. Hệ thống trả lời điện thoại tự động
Công nghệ CTI (Computer Telephony Integration) ra đời đã giảm đáng kể chi
phí nhân công cho các dịch vụ trả lời thông tin. Trên cơ sở phần cứng có khả năng
thao tác với cuộc gọi như nhấc máy, đặt máy, quay số, phát âm thanh, ghi lại âm
15
thanh, chuyển thoại, kết hợp với những công nghệ tiên tiến như tổng hợp tiếng nói,
phân tích và nhận dạng tiếng nói, hệ thống trả lời tự động có thể thay thế rất nhiều
nhân viên trực tổng đài để trả lời thông tin phổ biến qua các thao tác bấm phím số
hoặc ra lệnh bằng giọng nói.
1.2.1.Khái niệm
Interactive Voice Response (IVR) là một hệ thống mới trong ngành điện thoại,
được phát triển trên công nghệ CTI (công nghệ tích hợp máy tính và điện thoại), dùng
để cung cấp thông tin hoàn toàn tự động với số lượng cuộc gọi lớn(tối thiểu là ba
mươi cuộc gọi vào hệ thống cùng lúc).
Hình 1.2: Mô hình hệ thống IVR
Hệ thống IVR cho phép khách hàng có thể truy cập thông tin của một tổ chức
thông qua việc sử dụng bàn phím điện thoại để “ nói chuyện” hoặc nói trực tiếp bằng
giọng nói, và IVR “nghe” các phím bấm hoặc nhận dạng giọng nói đó rồi đọc lại cho
khách hàng các thông tin được yêu cầu.

Nếu hệ thống cần cung cấp thông tin động, thông tin không cố định thì phải sử
dụng bộ tổng hợp tiếng nói(TTS) để tổng hợp thành các tập tin âm thanh. Nếu hệ
16
thống chỉ cung cấp các chỉ dẫn hay những thông tin cố định thì chỉ cần ghi âm trước
nội dung rồi đáp ứng người gọi. Ví dụ, dạng tổng đài Vina 900 trong thực tế dùng để
nạp tiền điện thoại trả trước cung cấp các chỉ dẫn được ghi âm trước và nhận các con
số được cung cấp từ điện thoại và sau đó thao tác với cơ sở dữ liệu. Nhưng nếu là hệ
thống cung cấp thông tin tỷ giá cổ phiếu mà nhóm sẽ xây dựng với nội dung luôn
được cập nhật thì ngoài các câu hướng dẫn được ghi âm trước, hệ thống phải sử dụng
thêm bộ phận tổng hợp tiếng nói(TTS) để tổng hợp nội dung thay đổi cung cấp cho
khách hàng.
Lấy một ví dụ, một vài tổ chức sử dụng hệ thống IVR cho phép khách hàng lấy
thông tin về tài khoản được cập nhật ngay thời điểm hiện tại (24 giờ trong ngày) mà
không phải giao dịch trực tiếp với một nhân viên chăm sóc khách hàng nào. Hệ thống
thông tin tự động sẽ bao gồm những chức năng như: là nơi những thông tin về tài
khoản khách hàng có thể được đưa ra một cách tự động theo từng lĩnh vực phù hợp
với yêu cầu của khách hàng. Người sử dụng chỉ việc chọn loại thông tin cần biết và
nhận thông tin đó bằng giọng nói được ghi âm sẵn hoặc qua bộ TTS (Text-To-
Speech) trong hệ thống.
Công nghệ IVR cũng có thể được sử dụng vào mục đích thu thập thông tin, ví
dụ như những cuộc khảo sát qua điện thoại. Người sử dụng sẽ được hướng dẫn để trả
lời những câu hỏi bằng cách nhấn phím số trên điện thoại hoặc thông qua giọng nói.
1.2.2.Các dịch vụ điển hình của IVR
 Bưu điện: Hộp thư thông tin, hộp thư thoại, quà tặng âm nhạc, báo thức, báo
máy hỏng tự động, bình chọn, dự đoán…
 1900xxxx: Các dịch vụ giải trí truyền hình, trò chơi truyền hình (ví dụ: Hugo),
bình chọn ca sĩ, dự đoán kết quả bóng đá qua điện thoại và tin nhắn SMS.
 Ngân hàng/Chứng khoán: Trạng thái tài khoản, thanh toán, chuyển khoản,
kích hoạt tài khoản, thẻ tín dụng, tỷ giá, lãi suất.
 Vận tải/Hành khách: Tra cứu chuyến, giá vé, số ghế, đặt chỗ.

 Quan hệ khách hàng: Nghiên cứu thị trường, điều tra nhu cầu tiêu dùng.
17
 Giáo dục/Nghề nghiệp: Đăng ký tuyển dụng, tìm việc, đăng ký nhập học, thời
khóa biểu, lịch thi, điểm thi, điểm danh, thông báo, thông tin trợ giúp.
 Bảo hiểm: Thông tin chính sách, danh mục đại lý, yêu cầu bảo hiểm, thanh
toán phí.
 Bán hàng: Đặt hàng, thanh toán bằng thẻ tín dụng, tra cứu thông tin hàng, tra
cứu trạng thái đặt hàng và chuyển hàng.
1.2.3.Các ưu điểm của hệ thống IVR
 Giúp tự động hóa cung cấp thông tin, hỏi đáp.
 Mở ra kênh giao tiếp khách hàng mới một cách hữu hiệu.
 Đem lại nhiều lợi ích và doanh thu cho đơn vị sử dụng.
 Đem lại các giá trị mới, sự thuận tiện và tiện ích cho khách hàng, nâng cao
hình ảnh thương hiệu.
 Đa dạng hóa các dịch vụ cung cấp thông tin và chăm sóc khách hàng.
Chương 2: CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày chi tiết cơ sở lý thuyết để xây dựng nên mỗi module đã
được đề cập đến trong phần “Cấu trúc Voice Server” (trang 6).
2.1. Module giao tiếp
Nhiệm vụ của module này là giao tiếp máy tính và hệ thống điện thoại. Tiếp
nhận, xử lý tín hiệu đến từ điện thoại và trả lời thông tin từ máy tính trở lại hệ thống
điện thoại.
Về phần cứng, chúng tôi sử dụng modem Intel 82536 PCI của Intel. Modem
kết nối trực tiếp với line điện thoại và máy tính, làm cầu nối trung gian truyền tải tín
hiệu giữa hệ thống điện thoại và máy tính.
18
Hình 2.1: Vai trò của Voice modem
Về phần mềm, chúng tôi sử dụng bộ thư viện TAPI, mà cụ thề là TAPI 3 do
Microsoft và Intel hợp tác đưa ra.
2.1.1.TAPI là gì?

TAPI (Telephony Application Programming Interface) là một giao diện lập trình
chuẩn có thể làm cho bạn và máy tính “nói chuyện” với nhau qua điện thoại. Được
phát triển bởi Microsoft và Intel, TAPI được tích hợp trong hệ điều hành Windows
95/98 và Windows NT và các hệ điều hành đồ họa sau này. Sử dụng TAPI, các lập
trình viên có thể tận dụng các hạ tầng hệ thống điện thoại khác nhau bao gồm: PSTN
(Public Switching Telephone Network), ISDN (Integrated Services Digital Network)
hay PBX (Private Branch Exchange) mà không cần hiểu chi tiết về chúng. Mỗi nhà
cung ứng phần cứng cho hệ thống điện thoại (ví dụ: modem hay ISDN card) cung cấp
một driver phần mềm đặt trưng để tương tác với phần cứng.
TAPI mở ra khả năng cho các ứng dụng chạy trên Windows có thể chia sẽ các
thiết bị truyền thông với nhau và cung cấp khả năng đa phương tiện trên một nền tảng
rộng lớn của phần cứng.
Phần cứng được hỗ trợ bao gồm card âm thanh và đồ họa, modem, đường dây
ISDN, mạng ATM và máy quay phim. Với chúng, bạn có thể truyền thông qua các kết
nối trực tiếp đến máy tính cục bộ, đường dây điện thoại, mạng LANs, mạng WANs
và cả Internet.
19
Với việc thực hiện và nhận các cuộc gọi, chương trình có thể dùng TAPI để
cung cấp các tính năng truyền thông tiên tiến như định danh người gọi, định tuyến
cuộc gọi, thư thoại, và hội thảo video. Các chương trình truyền thông có thể định
danh người gọi, tự động gọi lại và hiển thị thông tin của người gọi, và thậm chí có thể
ưu tiên hay chuyển hướng cuộc gọi dựa trên thông tin khách hàng.
Với TAPI, khả năng cung cấp các tiêu chuẩn để các chương trình truyền thông
có thể điều khiển các tính năng của dữ liệu, fax và các cuộc gọi tương tác âm thanh:
o
TAPI cung cấp tính năng quản lý tất cả tín hiệu giữa máy tính và mạng điện
thoại, bao gồm những tính năng cơ bản như: quay số, trả lời cuộc gọi và trì
hoãn cuộc gọi.
o
TAPI bao gồm những tính năng phụ trợ được tìm thấy trong tổng đài, ISDN và

các hệ thống điện thoại khác chẳng hạn như: giữ cuộc gọi, chuyển hay đàm
thoại…
o
TAPI cung cấp khả năng truy cập những tính năng đặc trưng của bất kỳ nhà
cung cấp dịch vụ nào, với khả năng mở rộng được xây dựng sẵn để cung cấp
cho mạng điện thoại cũng như các tính năng truyền thống.
o
TAPI cho phép người dùng thực hiện các cuộc gọi âm thanh và hình ảnh qua
mạng truyền thông dựa trên giao thức IP(Internet Protocol) sử dụng giao thức
H.323 và đàm thoại rộng lớn.
o
TAPI bao gồm QoS(Quality of Service) hỗ trợ cải tiến chất lượng đàm thoại
và khả năng quả lý mạng.
Các khả năng trên giúp TAPI có thể đồng nhất truyền thông điện thoại truyền
thống và truyền thông IP, nó hỗ trợ các chương trình làm việc hiệu quả trên Internet
hay Intranet giống như trên mạng điện thoại truyền thống. Hơn nữa, phiên bản của
TAPI hiện tại còn cung cấp khả năng tương thích với phiên bản trước để hỗ trợ các
chương trình được xây dựng trước đây.
20
Ứng dụng “HyperTerminal” được cung cấp trong hệ điều hành Windows và các
kết nối mạng là các chương trình truyền thông sử dụng TAPI và chúng được cung cấp
cùng với họ Microsoft Window Server 2003. Dịch vụ fax, một chương trình truyền
thông khác sử dụng TAPI hỗ trợ hầu hết các tùy chọn cơ bản.
2.1.2.Lịch sử phát triển của TAPI
Phiên bản TAPI đầu tiên 1.3 được cài đặt thêm trên Windows 3.1 nhưng hiện
nay nó không còn được hỗ trợ nữa mặc dù ta vẫn có thể tìm thấy nó trên các đĩa thư
viện MSDN.
Windows 95 là phiên bản Windows đầu tiên tích hợp trực tiếp TAPI với hệ điều
hành. Khi phát hành, Windows 95 hỗ trợ TAPI phiên bản 1.4 – một phiên bản nâng
cấp của TAPI 1.3. Điều khác biệt nhất của TAPI 1.4 là hỗ trợ viết ra các ứng dụng

Windows 32 bit.
TAPI 2.0 được giới thiệu cùng với Windows NT 4.0. Đây không phải là phiên
bản TAPI đầu tiên hỗ trợ nền Windows NT nhưng một số tính năng tăng cường quan
trọng bao gồm hỗ trợ ACD và PBX đã được tích hợp thêm vào phiên bản này.
Vào khoảng giữa năm 1997, Microsoft giới thiệu TAPI 2.1. Đây là phiên bản
TAPI đầu tiên hỗ trợ cả nền Windows 95 và Windows NT/2000. Nếu được cài đặt
trên Windows 95 thì một số tính năng đặc trưng của Windows NT sẽ không được
TAPI sử dụng.
TAPI 3.0 được giới thiệu vào năm 1999 cùng với Windows 2000, TAPI 3.0
không hỗ trợ Windows 9.x và Windows NT 4.x nữa. Phiên bản này hỗ trợ điện thoại
trên IP(VoIP) bằng cách cung cấp các phương pháp để kết nối hai (dùng H.323) hoặc
nhiều (dùng IP Multicast) máy tính với nhau và bây giờ nó có khả năng truy cập bất
kỳ loại phương tiện truyền thông nào liên quan đến việc kết nối.
21
Windows XP bao gồm cả TAPI 3.1 và TAPI 2.2. TAPI 3.1 hỗ trợ mô hình đối
tượng và cung cấp một tập các ứng dụng COM để lập trình ứng dụng. Phiên bản này
sử dụng thành phần “File Terminals” có thể ghi và phát tập tin dữ liệu âm thanh.
2.1.3.TSP là gì?
TSP (TAPI SERVICE PROVIDERS) là một trình điều khiển cho phép các ứng
dụng TAPI có thể liên lạc qua lại trên nhiều nền tảng phần cứng khác nhau. Ở
Windows 95 và NT, TSP được gọi là Unimodem. Unimodem là một chuẩn modem
được hỗ trợ hầu hết các định dạng modem phổ biến. Khi sử dụng các thiết bị phần
cứng TAPI khác như PBX, các card xử lý âm thanh… thì phải sử dụng TSP do nhà
sản xuất phần cứng TAPI đó cung cấp.
2.1.4.Mối quan hệ giữa TSP và phần cứng TAPI
TSP thông dịch các hàm TAPI thành những câu lệnh mà phần cứng TAPI có thể
hiểu được, nó cũng dịch các sự kiện từ phần cứng thành dữ liệu mà các ứng dụng
TAPI có thể hiểu được. Bởi vì các phần cứng TAPI khác nhau có thể hoạt động và hỗ
trợ các tính năng khác nhau, mỗi TSP hỗ trợ các hàm TAPI khác nhau. Ví dụ, nếu
TSP hỗ trợ CallerID và modem đang sử dụng cũng hỗ trợ CallerID thì các ứng dụng

Windows có thể lấy thông tin CallerID thông qua TAPI. Tuy nhiên, nếu cả TSP và
modem sử dụng không hỗ trợ CallerID thì các ứng dụng không thể lấy được thông tin
CallerID. Vì vậy, nếu có vấn đề xảy ra hoặc một số thứ không hoạt động như ta mong
muốn thì có thể do không có sự hỗ trợ từ phần cứng, TSP hay cả hai.
2.1.5.Khả năng tương thích ngược và tới của TAPI và TSP
Có 3 thành phần TAPI quyết định phiên bản đang sử dụng:
 Thành phần đầu tiên là hệ điều hành, thành phần này chỉ
tương thích ngược chứ không tương thích tới. Nếu ta đang sử dụng hệ
điều hành chỉ hỗ trợ TAPI 2.0 thì các ứng dụng TAPI và TSP của chúng
chỉ hỗ trợ tới TAPI 2.1 còn cao hơn thì ứng dụng sẽ không hoạt động.Tuy
22
nhiên, nếu hệ điều hành hỗ trợ TAPI 2.0 và các ứng dụng cùng với TSP
của chúng hỗ trợ TAPI 1.4 thì các ứng dụng sẽ chạy bình thường.
 Thành phần tiếp theo là phiên bản TSP đang sử dụng. Khi
TSP được nạp bởi TAPI thì nó sẽ “thỏa hiệp” về phiên bản sẽ sử dụng. Ví
dụ, một TSP có thể hỗ trợ TAPI 1.3 đến TAPI 2.1, hay chỉ hỗ trợ TAPI
1.4, hay hỗ trợ tất cả các phiên bản TAPI. Một TSP 2.1 không thể cài đặt
được trên môi trường TAPI 1.4 hay TAPI 2.0.
 Thành phần cuối là phiên bản của ứng dụng TAPI. Cũng
giống như TSP, các ứng dụng TAPI cũng sẽ “thỏa hiệp” về phiên bản mà
nó sẽ sử dụng. Ứng dụng có thể yêu cầu phiên bản TAPI cũ hơn hay bằng
phiên bản TAPI mà hệ điều hành hỗ trợ khi hoạt động. Ứng dụng cũng
phải “thỏa hiệp” phiên bản TAPI sử dụng với TSP được cài đặt.
Ví dụ, một hệ điều hành hỗ trợ TAPI 2.1 và hai TSP đã được cài đặt. Một TSP
hỗ trợ phiên bản TAPI 2.1 và TSP thứ hai hỗ trợ các phiên bản TAPI từ TAPI 1.3 tới
TAPI 2.1. Nếu ta chạy ứng dụng chỉ hỗ trợ TAPI 1.4 thì ứng dụng sẽ “thỏa hiệp”
phiên bản với một trong hai TSP. Ứng dụng thường sẽ làm việc với TSP thứ hai vì
TSP này hỗ trợ mọi phiên bản TAPI trong khoảng từ 1.3 tới 2.1, tuy nhiên ứng dụng
cũng có thể làm việc với TSP thứ nhất. Khi đó, hệ điều hành sẽ dịch các lời gọi hàm
TAPI 1.4 lên thành các lời gọi hàm TAPI 2.1.

23
2.1.6.Kiến trúc TAPI
Hình 2.2: Kiến trúc TAPI
Theo sơ đồ trừu tượng trên, TAPI nằm giữa các ứng dụng và phần cứng. Nếu ta
thay từ “TAPI” thành “Windows”, và thay từ “TSP” thành “thiết bị điều khiển” thì sơ
đồ trên sẽ là sơ đồ kiến trúc Windows.
TSP cung cấp những tính năng và những dịch vụ cụ thể cho phần cứng. Khi một
ứng dụng yêu cầu thiết bị điện thoại thực thi một hành động nào đó thì TAPI sẽ tìm
đến dịch vụ TSP của thiết bị và gọi thực hiện nó. Sau đó, TSP hoàn thành yêu cầu
được gởi đến.
2.1.7.Mô hình của TAPI 2.x
Mô hình thiết kế TAPI được chia làm hai lĩnh vực, mỗi lĩnh vực có các lời gọi
TAPI khác nhau tùy thuộc vào thiết bị mà từng lĩnh vực sử dụng:
Các thiết bị đường truyền: là mô hình sử dụng đường truyền vật lý điện thoại để
gửi và nhận âm thanh và dữ liệu giữa hai địa điểm.
Các thiết bị điện thoại: là mô hình để thực hiện và nhận cuộc gọi.
 Line
24
Trong TAPI, các thiết bị đường truyền thực chất không phải là một đường dây
vật lý. Nó như là một đối tượng đại diện cho một đường dây vật lý. Trong các hàm
TAPI cung cấp, một chương trình có thể nắm giữ nhiều thiết bị đường truyền, mỗi
thiết bị đường truyền này kết nối tới một đường dây vật lý.
Ví dụ, một chương trình TAPI có thể thiết kế để cung cấp âm thanh (gọi điện
thoại), fax, liên kết dữ liệu cho người sử dụng. Ứng dụng sẽ định danh ba thiết bị
đường truyền. Một là thiết bị âm thanh, hai là thiết bị truyền dẫn fax, ba là thiết bị để
gửi và nhận dữ liệu thông qua một modem. Nếu máy tính chỉ có một đường truyền
điện thoại vật lý, ứng dụng TAPI sẽ chia sẻ đường truyền này cho cả ba thiết bị
đường truyền. Điều này được gọi là quy hoạch động đường truyền.
Hình 2.3: Mô hình thiết kế TAPI
Vào mỗi thời điểm, ứng dụng TAPI sẽ khởi động một thiết bị đường truyền, nó

sẽ yêu cầu đường truyền vật lý. Nếu đường truyền vật lý chưa sẵn sàng, một thông
báo sẽ được gửi trả về. Trong một số trường hợp, ví dụ như truyền dẫn fax, ứng dụng
có thể “xếp hàng” các yêu cầu để xử lý dần dần.
Nếu có hai đường truyền sẵn sàng, TAPI sẽ điều khiển chúng như chúng yêu
cầu. Nếu thiết bị đường truyền thứ ba lúc này cũng gửi yêu cầu thì ứng dụng TAPI sẽ
25

×