Tìm hiểu về TAPI và xây dựng mô hình thử nghiệm trả lời điện thoại tự động bằng máy tính - Pdf 32

Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
LỜI NÓI ĐẦU
Thời đại thông tin đang mang lại cho chúng ta nhiều thành tựu to lớn. Sự
bùng nổ thông tin đã và đang diễn ra mạnh mẽ ở tất cả các nước trên thế giới. Từ
khi ra đời cho đến nay Công nghệ thông tin là một khoa học tuy mới mẽ song đã
có ảnh hưởng rất lớn và chiếm vị trí quan trọng trong mọi lĩnh vực của cuộc sống:
kinh tế, giáo dục, y tế, viễn thông, …
Một trong số đó phải kể đến lĩnh vực viễn thông. Bên cạnh công nghệ điện
thoại truyền thống PSTN (Public Switch Telephone Network) đã tồn tại và phát
triển từ lâu, thì công nghệ điện thoại IP cũng đã được thương mại hoá từ năm
1995. Với lợi thế giá cước thấp, chất lượng dịch vụ có thể chấp nhận được đã làm
nhiều nhà kinh doanh viễn thông quan tâm. Tại Việt Nam, dịch vụ này cũng vừa
mới được đưa vào sử dụng nhưng còn mang tính chất thử nghiệm.
Hiện nay, cũng đã có nhiều phần mềm xây dựng dịch vụ trả lời điện thoại tự
động IP và đã mang lại nhiều lợi ích không nhỏ. Nhận thấy được khả năng phát
triển của dịch vụ này và những ứng dụng vô cùng to lớn của nó trong tương lai.
Em đã lựa chọn đề tài “Tìm hiểu về TAPI và xây dựng mô hình thử nghiệm
trả lời điện thoại tự động bằng máy tính”. Đây không phải là một đề tài mới
mẽ, đã có nhiều cá nhân và tổ chức nghiên cứu, tìm hiểu và xây dựng. Song, nó là
một đề tài rất thú vị, và chắc hẳn còn nhiều điều cần phải đề cập đến.
Với phạm vi của đề tài, em đã đề cập tới một số vấn đề liên quan đến: Giao
tiếp lập trình hệ thống điện thoại TAPI; Công nghệ điện thoại IP và các ứng dụng
cùng với những ưu nhược điểm của nó. Từ đó xây dựng được mô hình ứng dụng
TAPI, mô hình lập trình hệ thống điện thoại,…Có sơ lược một số vấn đền liên
quan đến file tiếng nói (Wave), cách thu và phát file tiếng nói, … Trên cơ sở lý
thuyết đã nghiên cứu và tìm hiểu đi đến xây dựng một ứng dụng “Trả lời điện
thoại tự động bằng máy tính”.
Nguyễn Văn Hùng Lớp: 43 A
1
Khoa: Công Nghệ Thông Tin

cấp để hỗ trợ cho việc giao tiếp giữa điện thoại và máy tính thông qua Modem
hoặc các thiết bị truyền thông. Với TAPI người lập trình không cần để ý nhiều đến
các tập lệnh của Modem để khởi tạo nó hoặc chọn cổng hoạt động cho Modem.
Mục đích của TAPI là cho phép các nhà lập trình viết các ứng dụng mà
không cần quan tâm chi tiết đến các thiết bị phần cứng. Chẳng hạn, với Modem
người lập trình không cần biết Modem loại nào? của hãng nào? tập lệnh của
Modem là gì?…chỉ cần thiết bị phần cứng đó có một TAPI driver hay còn gọi là
TSP (Telephony Service Provider) do nhà sản xuất cung cấp, mà khi cài đặt các
thiết bị phần cứng thì đồng thời các Driver cũng được cài đặt.
TAPI hỗ trợ hệ thống đàm thoại H.323 và giao thức đàm thoại đa điểm
(Mutilcast). Nó kết hợp cả việc truyền số liệu lẫn tiếng nói ở nhiều loại thiết bị đầu
cuối khác nhau, hỗ trợ các kiểu kết nối phức tạp và các kỹ thuật quản lí cuộc gọi
như: tạo cuộc gọi, chờ cuộc gọi, thư thoại, …Các ứng dụng được viết bởi TAPI có
thể truy cập trực tiếp được vào các dịch vụ trên đường dây điện thoại, khi đó nó có
thể phát ra và nhận vào mọi tín hiệu của điện thoại.
Nguyễn Văn Hùng Lớp: 43 A
3
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Dù đường dây điện thoại truyền tín hiệu dạng tương tự (Analog) hay dạng số
(Digital) thì ta cũng cần có một thiết bị trung gian hỗ trợ cho việc giao tiếp giữa
đường dây điện thoại và máy tính. Tuy nhiên, thiết bị giao tiếp đó phải có hỗ trợ
TAPI TSP. Nó có thể là một trạm ISPN, một bảng mạch hệ thống điện thoại hoặc
đơn giản là một Modem.
2. Chương trình ứng dụng TAPI
Ứng dụng TAPI là ứng dụng mà có sử dụng giao tiếp lập trình hệ thống điện
thoại nhằm thực hiện một công việc gì đó. Ví dụ: phần mềm giả lập điện thoại
trong mạng điện thoại chuyển mạch công cộng (PSTN), phần mềm gửi/ nhận Fax,
hộp thư thoại, hệ thống trả lời tự động, điện thoại qua Internet (VoIP),…
3. TAPI DLL (Dynamic Link Library – Thư viện liên kết động)

6. TAPI Server
TAPI Server được xem như kho trung tâm lưu trữ các thông tin về hệ thống
điện thoại trên máy người dùng. Tiến trình của dịch vụ này giám sát các tài nguyên
cục bộ và ở xa của hệ thống điện thoại, giám sát các ứng dụng của TAPI, và thực
Nguyễn Văn Hùng Lớp: 43 A
6
Registry
Telephony Control
Panel, Dialing,
Properties, etc…
Ứng dụng
TAPI 16-bit
Tapi.dll
TAPISVR.EXE
TSP
Kernel mode driver
Tapi32.dll
MSP
Tapi3.dll
Ứng dụng
TAPI 32-bit
Ứng dụng
TAPI 32-bit
Tapi32.dll
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
hiện một giao tiếp phù hợp với TSP (mối liên hệ giữa TAPI Server và các thành
phần khác được thể hiện ở mô hình lập trình hệ thống điện thoại).
Trong Windows 95/ 98/ NT, TAPI Server (Tapisvr.exe) sẽ chạy như một
tiến trình riêng biệt. Trong Windows 2000, nó chạy trong ngữ cảnh của

Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
II. Điện thoại IP (Internet Protocol )
1. IP Telephony là gì?
IP Telephony (điện thoại IP) là một tập hợp các công nghệ phát triển cho
phép tiếng nói, dữ liệu và video truyền qua mạng LAN, WAN và mạng Internet.
Đặc biệt, IP telephony dựa trên sự kết hợp cơ sở hạ tầng mạng điện thoại truyền
thống PSTN (Public Switch Telephone Network) với kỹ thuật thoại VoIP dựa trên
kiến trúc chuẩn H 323. Do điện thoại sử dụng giao thức Internet – IP, nên tín hiệu
thoại được truyền qua mạng thoại tới cổng thoại – Voice Gateway, được số hoá tín
hiệu qua mạng riêng sử dụng giao thức Internet.
Trong điện thoại thông thường, tín hiệu thoại có tần số nằm trong khoảng
0.4 – 3.3 KHz được lấy mẫu với tần số 8 KHz theo Nyquyst. Sau đó các mẫu sẽ
được lượng tử hoá với 8bit/mẫu và được truyền với tốc độ 64 KHz đến mạng
chuyển mạch rồi được truyền tới đích, ở bên nhận, dòng số 64 Kbps này được giải
mã để cho ra tín hiệu thoại tương tự.
Hình 1.2. Mô hình điện thoại
Thực chất thoại qua mạng IP (Voice over IP – VoIP) cũng không hoàn toàn
khác hẳn điện thoại thông thường. Đầu tiên tín hiệu thoại cũng được số hoá, nhưng
Nguyễn Văn Hùng Lớp: 43 A
9
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
sau đó thay vì truyền trên mạng TSPN qua các trường chuyển mạch, chúng sẽ
được nén xuống tốc độ thấp, đóng gói và chuyển mạch lên mạng IP. Tại bên nhận,
các gói tin này được giải nén thành các luồng PCM 64 Kb truyền đến thuê bao bị
gọi. Sự khác nhau chính là mạng truyền dẫn và khuôn dạng thông tin dùng để
truyền dẫn. Trên hình 1.3 đưa ra ví dụ về một cuộc gọi VoIP:
Giả sử thuê bao A muốn gọi đến thuê bao B. Thuê bao A quay số điện thoại
của thuê bao B. Mạng TSPN có nhiệm vụ phân tích địa chỉ và kết nối đến

tính năng mới.
Ta có thể xem một vài ứng dụng trước mắt của điện thoại:
 Thoại thông minh:
Hệ thống điện thoại ngày càng trở nên hữu hiệu: rẻ, phổ biến, dễ sử dụng, cơ
động. Nhưng nó hoàn toàn “ngớ ngẫn”. Nó chỉ có một số phím để điều khiển.
Trong những năm gần đây, người ta đã cố gắng để tạo ra thoại thông minh, đầu
tiên là các thoại để bàn, sau là đến các Server. Nhưng mọi cố gắng đều bị thất bại
do sự tồn tại của các hệ thống có sẵn.
Internet sẽ thay đổi điều này. Kể từ khi Internet phủ khắp toàn cầu, nó đã
được sử dụng để tăng thêm tính thông minh cho mạng điện thoại toàn cầu. Giữa
mạng máy tính và mạng điện thoại tồn tại một mối liên hệ. Internet cung cấp cách
Nguyễn Văn Hùng Lớp: 43 A
11
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
giám sát và điều khiển các cuộc thoại một cách tiện lợi hơn. chúng ta có thể thấy
được khả năng kiểm soát và điều khiển các cuộc thoại thông qua mạng Internet.
 Dịch vụ điện thoại Web:
“World Wide Web” đã làm cuộc cách mạng trong cách giao dịch với khách
hàng của các doanh nghiệp. Điện thoại Web hay bấm số (click to dial) cho phép
các nhà doanh nghiệp có thể đưa thêm các phím bấm lên trang Web để kết nối tới
hệ thống điện thoại của họ. Dịch vụ bấm số là cách dễ nhất và an toàn nhất để đưa
thêm các kênh trực tiếp từ trang Web của bạn vào hệ thống điện thoại.
 Truy cập các trung tâm trả lời điện thoại:
Truy nhập đến các trung tâm phục vụ khách hàng qua mạng Internet sẽ thúc
đẩy mạnh mẽ thương mại điện tử. Dịch vụ này sẽ cho phép một khách hàng có câu
hỏi về một sản phẩm được chào hàng qua Internet được các nhân viên của công ty
trả lời trực tuyến.
 Dịch vụ fax qua IP:
Nếu bạn gửi nhiều Fax từ PC, đặc biệt là gửi ra nước ngoài thì việc sử dụng

những tính chất này, IP cho phép các tổ chức, các cá nhân giảm mức chi phí cho
các dịch vụ: truyền tiếng nói, video, trong sự mở rộng các phương tiện truyền
thông kể cả hội thoại video truyền thống, chia sẻ ứng dụng và các công cụ
WhiteBoarding; sản sinh ra những công cụ kết hợp mới và gia tăng hiệu quả.
4. Ưu và nhược điểm của điện thoại IP
Về mặt kỹ thuật điện thoại IP có những ưu điểm và nhược điểm sau:
 Ưu điểm:
- Thông tin thoại trước khi đưa lên mạng IP sẽ được nén xuống dung lượng
thấp (tuỳ theo kỹ thuật nén), vì vậy sẽ làm giảm được lưu lượng mạng.
Nguyễn Văn Hùng Lớp: 43 A
13
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
- Trong trường hợp cuộc gọi ở mạng chuyển mạch kênh một kênh vật lí sẽ
được thiết lập và duy trì giữa hai bên cho đến khi một trong hai bên huỷ bỏ liên
kết. Như vậy, trong khoảng thời gian không có tiếng nói, tín hiệu thoại vẫn được
lấy mẫu, lượng tử hoá và truyền đi. Vì vậy, hiệu suất đường truyền sẽ không cao.
Đố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.
 Nhược điểm:
- Nhược điểm chính của điện thoại qua mạng IP chính là chất lượng dịch vụ.
Các mạng số liệu vốn dĩ không phải xây dựng với mục đích truyền thoại thời gian
thực, vì vậy khi truyền thoại qua mạng số liệu cho chất lượng cuộc gọi thấp và
không thể xác định trước được. Sở dĩ như vậy là vì gói tin truyền trong mạng có
thể thay đổi trong phạm vi lớn, khả năng mất mát thông tin trong mạng hoàn toàn
có thể xảy ra. Một yếu tố làm giảm chất lượng thoại nữa là kỹ thuật nén để tiết
kiệm đường truyền. Nếu nén xuống dung lượng càng thấp thì kỹ thuật càng phức
tạp, cho chất lượng không cao và đặc biệt là thời gian xử lí sẽ lâu, gây trễ.
- Một nhược điểm khác của điện thoại IP là vấn đề tiếng vọng. Nếu như
trong mạng thoại, do trễ ít nên tiếng vọng không ảnh hưởng nhiều thì trong mạng

TSPI
Hình 1.4. Mô hình lập trình cho hệ thống điện thoại
Nguyễn Văn Hùng Lớp: 43 A
16
Ứng dụng
TAPI
TAPI DLL
(Dynamic Link Library)
MSP (Media
Service Provider)
TAPISVR
(TAPI Server)
TSP
(TAPI Service Provider)
Device
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
II. Mô hình ứng dụng TAPI
Hình 1.5. Mô hình ứng dụng TAPI
1. Khởi tạo TAPI (TAPI Initialization)
+ Khởi tạo môi trường truyền thông trên máy tính
+ Việc khởi tạo là đồng bộ và không quay trở lại cho tới khi thao tác hoàn tất
hoặc bị lỗi.
+ Nếu TAPISVR chưa được gọi thì TAPI sẽ gọi nó.
+ TAPI thiết lập một kết nối cho tiến trình TAPISVR.
+ TAPISVR nạp vào các bộ phận cung cấp dịch vụ được chỉ định trong
Registry và buộc chúng khởi tạo những thiết bị mà chúng hỗ trợ.
+ Lấy số phiên bản thích hợp cho ứng dụng TAPI, TAPI và bộ cung cấp dịch
vụ điện thoại. Công việc này phải làm ở TAPI 2.
+ Kiểm tra và thu nhận thông tin liên quan đến các thiết bị khả dụng cho ứng

+ Channel: là sự chia nhỏ của một Line
+ Address: một Address đại diện cho một sự định vị trên Network. Mỗi Line
hay Channel đều có một hay nhiều địa chỉ liên kết với nhau.
+ Terminal: một nguồn hoàn trả lại cho một địa chỉ đặc trưng và một kiểu
phương tiện.
4. Điều khiển phương tiện (Media Control)
Phương tiện của phiên làm việc truyền thông được thiết kế cho dữ liệu
truyền qua. Nó cho phép một ứng dụng nhận biết sự thay đổi của các kiểu phương
Nguyễn Văn Hùng Lớp: 43 A
18
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
tiện và điều chỉnh các luồng trên phương tiện như âm lượng của tiếng nói được
truyền. Đó cũng có thể là việc nhận và gửi các tín hiệu DTMF từ điện thoại.
5. Kết thúc TAPI (TAPI Shutdown)
+ Kết thúc các phiên làm việc
+ Giải phóng các tài nguyên hệ thống đang chiếm giữ
III. Các phiên bản TAPI
Bất kỳ một vấn đề nào liên quan đến TAPI cũng gồm có 3 thành phần:
chương trình ứng dụng, TSP và chính bản thân của TAPI. Mỗi một thành phần
trong ba thành phần này đều có hỗ trợ đến một phiên bản TAPI tối đa. Đây là công
việc của ứng dụng phải kiểm tra và chọn lựa phiên bản cao nhất của TAPI mà cả
ba thành phần này đều hỗ trợ. Các con số phiên bản này được duy trì sự tương
thích khi Microsoft mở rộng các khả năng của TAPI. Các phiên bản Windows khác
nhau thì khả năng tương thích và hỗ trợ các phiên bản TAPI cũng khác nhau:
Hệ điều hành
Windows
Phiên bản TAPI
ban đầu
Phiên bản TAPI tối

Nó đã tạo khả năng cho thiết bị hệ thống điện thoại có thể được cài đặt trên một
máy Server mà các máy Client trong mạng có thể truy cập được.
+ Phiên bản TAPI 3.0 khi nó được hỗ trợ như một bộ các đối tượng kiểu
COM, sẽ tốt hơn kiểu cấu trúc ngôn ngữ C
++
cho Windows. Nó tạo điều kiện dễ
dàng cho việc viết các ứng dụng bằng bất cứ ngôn ngữ nào: C
++
, Visual Basic hay
Java.
Ngoài ra, chức năng khác biệt chính là khả năng hỗ trợ MSP (Media Service
Providers) nhằm cung cấp cách thức truy cập các luồng phương tiện trong một
cuộc gọi và có thể hỗ trợ hệ thống điện thoại theo giao thức Internet (IP).
IV. Kỹ thuật gửi số bằng xung lưỡng đa âm tần DTMF (Dual Tone
MultiFrequency)
1. Hệ thống DTMF là gì?
Nguyễn Văn Hùng Lớp: 43 A
20
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Để thực hiện quay số về tổng đài có hai phương thức quay là DTMF và
PULSE. Trong đó, DTMF là viết tắt của cụm từ “Dual Tone MultiFrequency” (cặp
tín hiệu đa tần). Hệ thống này được hình thành vào năm 1960 nhưng mãi tới năm
1970 mới được phát triển. Ngày nay, DTMF đã trở thành chuẩn thay thế cho hệ
thống xung kiểu cũ. Do đó, mỗi khi ta ấn phím để gọi điện thoại, các âm thanh mà
ta nghe được chính là các tín hiệu DTMF được gửi tới tổng đài.
DTMF là tổng hợp của hai tín hiệu âm thanh; một tín hiệu có tần số thấp và
một tín hiệu có tần số cao. Điều này đã tạo nên lợi thế cho DTMF là chống được
nhiễu. Do đó, tổng đài có thể biết chính xác phím nào đã được nhấn và nó còn giúp
cho người ta sử dụng điện thoại thuận tiện hơn.

Gửi số bằng lưỡng âm đa tần DTMF nhanh hơn cách quay số rất nhiều về
mặt nguyên tắc cũng như trên thực tế. Với DTMF thời gian nhận được một chữ là
50 ms và thời gian nghĩ giữa hai số là 50 ms, tổng cộng là 100 ms cho mỗi số. Giả
sữ ta gửi đi 10 số:
Với DTMF mất 100 ms * 10 = 1 s
Với đĩa quay số mất 5 * 10 * 100 ms + 9 * 700ms = 11,3 s
Như vậy, ngoài ưu điểm sử dụng dễ dàng, nhẹ, DTMF giảm thời gian chiếm
dụng bộ thu rất nhiều, giảm giá thành tổng đài. Đó cũng là lý do tại sao DTMF
được phát triển rộng rãi và phổ biến.
3. Phương thức làm việc của thuê bao
+ Thuê bao gọi nhấc máy:
Tổng đài sẽ nhận biết trạng thái thuê bao chủ gọi nhấc máy thông qua sự
thay đổi điện trở vòng của đường dây thuê bao. Bình thường khi thuê bao ở trạng
thái nghĩ điện trở vòng rất lớn, ta có thể coi như hở mạch.
Khi thuê bao nhấc máy điện trở vòng giảm đi nhiều, tổng đài có thể nhận
biết sự thay đổi điện trở của thuê bao tức là thay đổi của trạng thái thuê bao thông
qua bộ cảm biến trạng thái.
+ Cấp âm hiệu mời quay số cho thuê bao:
Khi tổng đài phát hiện trạng thái nhấc máy (off-hook), xung mời quay số
được phát đến vòng thuê bao; đó là âm hiệu báo cho người gọi biết cuộc gọi đã sẵn
Nguyễn Văn Hùng Lớp: 43 A
22
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
sàng quay số. Tín hiệu này có dạng hình sin có tần số 425Hz và phát liên tục cho
tới khi bắt đầu quay số thứ nhất.
Trong trường hợp người gọi nhấc máy nhưng không quay số, sau một thời
gian khoảng 15s tổng đài sẽ ngắt Dial tone và phát busy tone về phía người quay
số.
 Tín hiệu Dial tone

bao chủ gọi và tiến hành kết nối thông thoại cho cả hai thuê bao.
Tổng đài sẽ giải tỏa một số thiết bị không cần thiết để tiếp tục phục vụ cho
các cuộc đàm thoại khác (mạch giải mã DTMF).
Khi hai thuê bao đang đàm thoại mà có một thuê bao gác máy. Tổng đài
nhận biết trạng thái gác máy này, cắt các thông thoại cho cả hai thuê bao, đồng thời
cấp Busy tone cho thuê bao còn lại, giải toả đường dây đã kết nối để phục vụ cuộc
đàm thoại khác. Khi thuê bao còn lại gác máy, tổng đài xác định trạng thái gác máy
này và kết thúc chương trình phục vụ cho thuê bao. Tất cả các hoạt động trên được
điều khiển bằng các chương trình, người vận hành tổng đài có thể theo dõi hoạt
động của tổng đài thông qua màn hình máy tính của tổng đài.
Nguyễn Văn Hùng Lớp: 43 A
24
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Chương 2: TÌM HIỂU VỀ TIẾNG NÓI
I. Đặc tính chung của tiếng nói
Tiếng nói là công cụ để diễn đạt thông tin rất uyển chuyển và đặc biệt. Khi
người nói phát ra một tiếng thì có rất nhiều bộ phận như lưỡi, thanh môn, môi,
họng, thanh quản,… kết hợp với nhau để tạo thành âm thanh. Âm thanh phát ra la
truyền trong môi trường không khí đến tai người nhận. Do âm thanh phát ra được
tạo nên nhờ sự kết hợp của nhiều bộ phận nên mỗi lần phát ra hầu như là khác
nhau. Vì vậy, việc phân chia tiếng nói thành những loại có đặc tính riêng là rất khó
và nó chỉ mang tính tương đối. Tuy nhiên, qua quá trình phân tích, tổng hợp ta có
thể tạm chia thành ba loại:
• Voiced sound:
Khi chúng ta nói chữ “a” hay chữ “o” thanh môn của ta rung và giãn ra, áp
suất không khí ban đầu lớn và từ từ giảm xuống, lúc này âm phát ra có dạng sóng
Wave đặc trưng như hình vẽ sau:
Hình 2.1. Dạng sóng Wave của Voice sound
• Unvoiced sound:


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status