Tải bản đầy đủ (.doc) (68 trang)

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

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 (444.44 KB, 68 trang )

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


Khóa luận tốt nghiệp đại học
Để hoàn thành được đề tài này, em đã nhận được sự giúp đỡ nhiệt tình ,
những lời động viên khích lệ của thầy giáo – Thạc sỹ Hoàng Hữu Việt – người đã
trực tiếp hướng dẫn em cùng với các thầy cô giáo trong khoa Công Nghệ Thông
Tin và các thành viên lớp 43A. Qua đây, cho phép em được bày tỏ lòng biết ơn sâu
sắc tới thầy giáo Hoàng Hữu Việt, là người đã định hướng và tận tình giúp đỡ em
trong quá trình học tập và nghiên cứu. Cảm ơn các thầy, cô giáo khoa Công nghệ
Thông tin trường Đại Học Vinh đã giảng dạy và chỉ bảo những vấn đề liên quan
đến đề tài. Xin cảm ơn người thân và bạn bè đã giúp đỡ và tạo điều kiện cho em
trong suốt quá trình học tập và hoàn thành khoá luận. Em xin chân thành cảm ơn.
Mặc dù trong quá trình thực hiện đề tài đã có nhiều cố gắng. Song, do hạn
chế về mặt trình độ của bản thân cũng như thời gian thực hiện; nên chắc chắn
không thể tránh khỏi những thiếu sót. Vậy, em rất mong nhận được sự quan tâm,
giúp đỡ và đóng góp ý kiến từ phía thầy, cô giáo và các bạn sinh viên. Nhằm làm
cho đề tài hoàn thiện hơn và có thể phát triển thành một ứng dụng lớn có tính khả
thi.
Vinh, tháng 5 năm 2006
Sinh viên thực hiện:
Nguyễn Văn Hùng
Nguyễn Văn Hùng Lớp: 43 A
2
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Chương 1: TỔNG QUAN VỀ TAPI
I.Giao tiếp lập trình cho hệ thống điện thoại TAPI (Telephony
Application Program Interface)
1. TAPI là gì?
TAPI được phát triển bởi sự kết hợp của hai hãng Intel và Microsoft. Nó
được thiết kế để truy xuất các dịch vụ điện thoại trên tất cả các hệ điều hành
Windows. Nói cách khác, TAPI là tập hợp các hàm riêng lẽ được Windows cung

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)

Các thư viện này cùng với TAPI Server (Tapisvr.exe) là trừu tượng hoá
trong việc phân cách giữa người dùng và các nhà cung cấp dịch vụ điện thoại. Một
thư viện TAPI liên kết với TAPI Server để cung cấp một giao tiếp giữa hai lớp (thể
hiện ở mô hình lập trình cho hệ thống điện thoại được đề cập ở phần sau).
Có ba thư viện liên quan tới TAPI là: Tapi.dll, Tapi32.dll, Tapi3.dll; mỗi thư
viện đều có vai trò như nhau (được minh họa ở hình 1.1).
Mỗi thư viện này tương ứng với mỗi thời điểm phiên bản của TAPI. Các
ứng dụng 16-bit liên kết với Tapi.dll. Trong Windows 98/ NT/ 2000, Tapi.dll sẽ
chuyển các yêu cầu tới Tapi32.dll. Với các ứng dụng 32-bit thì chúng sẽ liên kết
với Tapi32.dll (TAPI phiên bản 1.4 – 2.2). Với phiên bản 3.0 và 3.1 thì chúng sẽ
liên kết với Tapi3.dll.
4. MSP (Media Service Provider)
Trước hết, MSP chỉ đến với TAPI 3, nó cho phép việc điều khiển một ứng
dụng qua phương tiện với cơ chế vận chuyển đặc biệt. Một MSP luôn luôn tồn tại
song song với một TSP (TAPI Service Provider). Một TSP cho phép việc điều
Nguyễn Văn Hùng Lớp: 43 A
4
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
khiển phương tiện thông qua việc điều khiển thiết bị cuối và các giao tiếp luồng
được định nghĩa bởi TAPI.
Nguyễn Văn Hùng Lớp: 43 A
5
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Hình 1.1. Mô hình các thư viện liên kết động (Tapi dll)
5. MSPI (Media Service Provider Interface)
MSPI là tập hợp các giao tiếp và các phương thức được thực hiện bởi MSP
nhằm cho phép việc điều khiển một ứng dụng TAPI 3 trên phương tiện trong suốt
phiên liên lạc truyền thô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

Svchost.exe. Khi ứng dụng nạp TAPI DLL và thực hiện công việc khởi tạo xong,
DLL sẽ xây dựng một kết nối tới TAPI Server. Sau đó, TAPI Server sẽ nạp các
TSP.
7. TSP (Telephony Service Provider)
TSP thực chất là một thư viện liên kết động hỗ trợ điều khiển các thiết bị
truyền thông thông qua một tập các hàm dịch vụ. Ứng dụng TAPI sử dụng các lệnh
được chuẩn hoá, và TSP điều khiển các lệnh đặc trưng mà cần phải được trao đổi
với thiết bị.
8. TSPI (Telephony Service Provider Interface)
TSP phải tạo ra một giao tiếp TSP phù hợp để thực hiện chức năng như một
nhà cung cấp dịch vụ trong môi trường hệ thống điện thoại TSPI định nghĩa ra các
hàm ngoại mà hỗ trợ TSP.
9. Service Providers
Đây được xem như là các bộ phận cung cấp các dịch vụ cần thiết để thực
hiện việc điều khiển cuộc gọi và MSP nếu có sẽ cung cấp điều khiển luồng qua
phương tiện.
Tất cả các TSP thực thi bên trong tiến trình TAPISRV. Các bộ phận cung
cấp dịch vụ có thể tạo ra các Thread ngay trong ngữ cảnh của TAPISRV khi cần và
được chắc chắn rằng không có tài nguyên nào mà chúng tạo ra bị huỷ do thoát khỏi
một ứng dụng cá nhân nào đó. Khi cần TAPI Server có thể dịch các câu lệnh của
ứng dụng sang tập lệnh phù hợp như TSPI.
Nguyễn Văn Hùng Lớp: 43 A
7
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Các MSP thực thi ngay trong tiến trình của ứng dụng, cho phép phản hồi
nhanh một số yêu cầu trong việc điều khiển phương tiện. TAPI DLL cung cấp một
kết nối chặt chẽ với MSPI.
Nguyễn Văn Hùng Lớp: 43 A
8

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

gateway1. Tại đây địa chỉ của B lại được phân tích và gateway1 xác định được
thuê bao B được kiểm soát bởi gateway2. Nó sẽ thiết lập một phiên liên kết với
gateway2. Các thông tin báo hiệu mà gateway1 nhận được từ PSTN sẽ được
chuyển đổi thích hợp sang dạng gói và truyền đến gateway2.
Tại gateway2, các gói tin lại được chuyển đổi ngược lại và truyền sang mạng
PSTN. Mạng PSTN có nhiệm vụ định tuyến cuộc gọi đến thuê bao B. Các thông
tin trả lời sẽ được chuyển đổi ngược lại qua gateway2 đến gateway1.
Sau khi cuộc gọi được thiết lập, các gateway có nhiệm vụ chuyển đổi giữa
các gói tin thoại trên mạng IP và các luồng PCM trên mạng PSTN.
Hình 1.3. Điện thoại IP
Nguyễn Văn Hùng Lớp: 43 A
10
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Sử dụng công nghệ IP đưa đến cho người dùng sự linh hoạt trong các
phương tiện truyền thông vật lý: đường POTS, ADSL, ISDN, kênh truyền dữ liệu,
cáp đồng trục, máy vệ tinh, dây xoắn đôi và cả sự linh hoạt về các địa chỉ vật lý.
Từ đó, các mạng được phân bố rộng rãi nhằm vận chuyển Web, Email và chia sẻ
dữ liệu; nó có thể là cơ sở để kết nối các cá nhân, các thương nghiệp, trường học,

2. Các ứng dụng của điện thoại IP
Giao tiếp thoại sẽ vẫn là dạng giao tiếp cơ bản của con người. Mạng điện
thoại công cộng không thể bị đơn giản thay thế, thậm chí thay đổi trong thời gian
tới. Mục đích tức thời của các nhà cung cấp dịch vụ điện thoại IP là tái tạo lại khả
năng của điện thoại với một chi phí vận hành thấp hơn nhiều và đưa ra các giải
pháp kỹ thuật bổ sung cho mạng PSTN.
Điện thoại có thể được áp dụng cho gần như mọi yêu cầu của giao tiếp thoại,
từ một cuộc đàm thoại đơn giản cho đến một cuộc gọi hội nghị nhiều người phức
tạp. Chất lượng âm thanh được truyền cũng có thể biến đổi tuỳ theo ứng dụng.
Ngoài ra, với khả năng của Internet, dịch vụ điện thoại Ip sẽ cung cấp thêm nhiều

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

dịch vụ Internet Faxing sẽ giúp bạn tiết kiệm được tiền và cả kênh thoại. Dịch vụ
này sẽ chuyển trực tiếp từ PC của bạn qua kết nối Internet. Hàng năm, thế giới tốn
hơn 30 tỷ USD cho việc gửi Fax đường dài. Nhưng ngày nay Internet Fax đã làm
thay đổi điều này. Việc sử dụng Internet không những được mở rộng cho thoại mà
còn cho cả dịch vụ Fax.
 Khi sử dụng dịch vụ thoại và Fax qua Internet, có hai vấn đề cơ bản:
+ Những người sử dụng dịch vụ thoại qua Internet cần có chương trình phần
mềm chẳng hạn Quicknet’s Internet PhoneJACK. Cấu hình này cung cấp cho
người sử dụng khả năng sử dụng thoại qua Internet thay cho sử dụng điện thoại để
bàn truyền thống.
Nguyễn Văn Hùng Lớp: 43 A
12
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
+ Kết nối một gateway thoại qua Internet với hệ thống điện thoại hiện hành.
Cấu hình này cung cấp dịch vụ thoại qua Internet giống như việc mở rộng hệ thống
điện thoại hiện hành của bạn.
3. Lợi ích của IP telephony
Nếu như trước kia việc tổ chức triển khai lực lượng chỉ có thể thực hiện
được trên các mạng riêng lẽ để điều khiển quá trình trao đổi dữ liệu, tiếng nói và
video truyền thống. Phương pháp này đòi hỏi nhiều chi phí cho việc cài đặt, duy trì
và tái tạo. Đặc biệt, khi mạng đang tồn tại dưới dạng vật lý thì việc tích hợp các
chức năng, công cụ là rất khó thực hiện và bị hạn chế về tính hiệu quả, tác dụng và
tiềm lực.
Ngày nay, khi điện thoại IP ra đời và phát triển nó đang dần trở nên hiệu quả
nhờ vào sự phát triển của mạng máy tính, trong việc xử lí tín hiệu, kỹ thuật nén ở
tốc độ bit rất thấp mà vẫn giữ được chất lượng. Băng thông rộng cho phép điện
thoại IP tăng khả năng tìm đường, tiết kiệm đường truyền và tận dụng tối đa dung
lượng chuyển tới của mạng lưới. Thêm vào đó, sự phát triển của các thiết bị IP với
công nghệ ngày càng cao cho phép mô hình IP ngày càng được mở rộng. Với

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

IP, do trễ lớn nên tiếng vọng ảnh hưởng nhiều đến chất lượng thoại. Vì vậy, vấn đề
tiếng vọng là một vấn đề cần phải giải quyết trong điện thoại IP.
I. Mô hình lập trình cho hệ thống điện thoại
Ứng dụng TAPI sẽ nạp thư viện TAPI (TAPI DLL) vào và sử dụng TAPI
cho các nhu cầu truyền thông.
TAPI sẽ tạo ra một kết nối với TAPI Server. Ngoài ra, với phiên bản TAPI
3.0 còn tạo thêm một đối tượng MSP và kết nối với nó bằng cách sử dụng các câu
lệnh định nghĩa trước, hình thành nên MSPI.
Khi ứng dụng thực hiện một thao tác TAPI, thư viện TAPI sẽ thực hiện một
số kiểm tra cần thiết, sau đó sẽ chuyển thông tin cho TAPISVR.
Nguyễn Văn Hùng Lớp: 43 A
14
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
TAPISVR liên lạc với các tài nguyên khả dụng trên máy tính và giao tiếp
với các TSP bằng cách sử dụng TSPI.
Những kết nối TSP và MSP được diễn ra bằng cách sử dụng một kết nối ảo
thông qua TAPI DLL và TAPISVR.
TSP và MSP sẽ làm nhiệm vụ cung cấp những thông tin về trạng thái, chức
năng của thiết bị khi có yêu cầu.
Kết quả của việc lập trình theo mô hình này là ứng dụng vẫn có thể hoạt
động khi thay thiết bị mới mà không cần thực hiện những thay đổi mã nguồn.
Nguyễn Văn Hùng Lớp: 43 A
15
TAPI 2.2 (TAPI/C)
TAPI 3.0 (TAPI/COM)
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
MSPI
Service Providers

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

dụng TAPI.
Nguyễn Văn Hùng Lớp: 43 A
17
Khởi tạo TAPI
Điều khiển phiên
làm việc
Điều khiển thiết bị
Điều khiển phương
tiện
Kết thúc TAPI
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
+ Đăng ký thông điệp để nhận được các sự kiện liên quan tới những thay đổi
trạng thái của đường truyền.
2. Điều khiển phiên làm việc (Session Control)
Một phiên làm việc nói chung hay một cuộc gọi nói riêng là một kết nối giữa
hai hay nhiều địa chỉ. Kết nối này là động và các đối tương liên quan phải được
tạo, quản lý và huỷ bỏ khi không còn dùng. Trong trường hợp đơn giản nhất thì
đây là quá trình từ lúc tạo đến lúc ngắt kết nối một cuộc gọi.
Giai đoạn này gồm hai công việc chính:
+ Điều khiển hoạt động của phiên làm việc: khởi tạo, duy trì và kết thúc
phiên làm việc.
+ Lấy thông tin của phiên làm việc: lấy những thông tin chi tiết trong phiên
làm việc.
3. Điều khiển thiết bị (Device Control)
Thiết kế và lấy thông tin của các thiết bị:
+ Network: là lớp giao vận cho việc truyền thông
+ Line: là một kết nối tới một Network. Đó là một thiết bị vật lý như bảng
mạch Fax, Modem, hay cạc ISDN. Thiết bị có thể không cần kết nối thẳng vào
máy tính mà còn ứng dụng TAPI đang chạy.

+ 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

đa có thể nâng cấp
Windows 95 1.4 2.2
Windows 98 2.0 2.2
Windows ME 2.2 2.2
Windows NT 4 2.2 * SP5 2.2
Windows 2000 3.0 3.3
Windows XP 3.3 3.3
Hình 1.6. Các phiên bản TAPI
Với phiên bản TAPI 1.4 có thể hoạt động bình thường mà không gặp vấn đề
gì khi chạy trên các hệ điều hành Windows khác nhau. Còn đối với ứng dụng TAPI
2.0 sẽ tự động loại bỏ một số chức năng của nó khi chạy cùng với một TSP 1.4.
Dưới đây là các chức năng được hỗ trợ thêm đối với mỗi phiên bản TAPI:
Nguyễn Văn Hùng Lớp: 43 A
19
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Phiên bản TAPI Các chức năng chính được hỗ trợ
1.4 Các chức năng cơ bản cho Windows 32 bit
2.0 Đầy đủ các chức năng cho Windows 32 bit; hỗ trợ
Unicode
2.1 Hỗ trợ Client/ Server
2.2 Quản lý cuộc gọi chuyên dụng
3.0 Giao tiếp kiểu COM (Computer Object Model); hỗ
trợ Media Stream Providers; TSP 2.1 vẫn được
dùng
3.1 Một số điều khiển thiết bị điện thoại và một số giao
tiếp trạm chuyên dụng
Hình 1.7. Các chức năng hỗ trợ cho từng phiên bản TAPI
Có hai thay đổi lớn trong các phiên bản của TAPI:
+ Phiên bản TAPI 2.1 khi chức năng hỗ trợ Client/ Server được thêm vào.

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.

Hầu hết các hệ thống điện thoại hiện giờ đều sử dụng tín hiệu DTMF. Bàn
phím chuẩn của điện thoại này có dạng ma trận chữ nhật gồm có 3 cột và 4 hàng
tạo nên tổng cộng là 12 phím nhấn. Trong đó, có 10 phím cho các chữ số từ 0 --> 9
và hai phím đặc biệt là * và #. Mỗi một hàng trên bàn phím được gán cho một tần
số Tone thấp và mỗi cột được gán cho một tần số tone cao. Do đó, mỗi một phím
sẽ có một tín hiệu DTMF riêng được tổng hợp từ hai tần số tương ứng với hàng và
cột mã phím đó đang đứng.
1209 Hz 1336 Hz 1477 Hz
697 Hz [ 1 ] [ 2 ] [ 3 ]
770 Hz [ 4 ] [ 5 ] [ 6 ]
852 Hz [ 7 ] [ 8 ] [ 9 ]
941 Hz [ * ] [ 0 ] [ # ]
Hình 1.8. Bàn phím chuẩn 12 phím DTMF
Ngày nay, để tăng khả năng sử dụng của điện thoại người ta phát triển thêm
một cột nữa cho bàn phím điện thoại chuẩn tạo nên bàn phím ma trận gồm 4 cột và
4 hàng.
Nguyễn Văn Hùng Lớp: 43 A
1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz [ 1 ] [ 2 ] [ 3 ] A
770 Hz [ 4 ] [ 5 ] [ 6 ] B
852 Hz [ 7 ] [ 8 ] [ 9 ] C
941 Hz [ * ] [ 0 ] [ # ] D
21
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Hình 1.9. Bàn phím chuẩn 16 phím DTMF
Các tín hiệu DTMF này thường được sử dụng trong dịch vụ hộp thư thoại
hoặc trong hệ thống máy điện thoại trả lời tự động. Khi một người gọi tới máy sẽ
xác nhận yêu cầu của người đó thông qua tín hiệu này.
2. So sánh thời gian gửi số

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

+ Tín hiệu báo bận Busy tone:
Khi thuê bao bị gọi đang thông thoại trước đó hoặc các đường kết nối thông
thoại đều bị bận thì tổng đài sẽ cấp busy tone cho thuê bao gọi. Âm hiệu này cũng
là tín hiệu hình Sin có tần số 425Hz nhưng được ngắt quãng 0,5s làm việc 0,5s
nghỉ.
 Tín hiệu Busy tone:
Nếu các đường dây thông thoại không bận thì tổng đài phải nhận biết các
thuê bao gọi và xem xét:
* Nếu số đầu nằm trong tập thuê bao của tổng đài thì tổng đài sẽ phục vụ
như cuộc gọi nội đài.
* Nếu số đầu không nằm trong tập thuê bao của tổng đài thì tổng đài sẽ phục
vụ như 1 cuộc gọi liên đài qua trung kế và giữ toàn bộ phần định vị số quay sang
tổng đài đối phương để giải mã.
* Nếu số đầu là mã gọi chức năng đặc biệt thì tổng đài sẽ thực hiện các chức
năng đó để phục vụ cho thuê bao.
Nếu thuê bao được gọi rảnh thì tổng đài sẽ gửi số nhận diện số chủ gọi nếu
có cài dịch vụ sau đó cấp chuông cho thuê bao được gọi với điện áp AC 70 –
110V, tần số f = 16 – 25Hz (thường là 90VAC/ 25Hz) với chu kì 2s có tín hiệu và
3s không có tín hiệu.
 Tín hiệu chuông
Nguyễn Văn Hùng Lớp: 43 A
23
Khoa: Công Nghệ Thông Tin
Khóa luận tốt nghiệp đại học
Đồng thời tổng đài sẽ cấp tín hiệu hồi âm chuông cho thuê bao gọi, đó là tín
hiệu Ring Back Tone có tần số f = 425Hz với chu kì 3s làm việc và 2s nghỉ.
 Tín hiệu Ring Back Tone:
Khi thuê bao được gọi nhấc máy thì tổng đài sẽ nhận biết trạng thái nhấc
máy này, tiến hành cắt dòng chuông cho thuê bao bị gọi một cách kịp thời để tránh
hư hỏng cho thuê bao. Đồng thời tổng đài cũng tắt âm hiệu hồi chuông cho thuê

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:

Là âm khi phát ra một tiếng mà thanh môn không rung. Có hai loại cơ bản:
phụ âm sát (Fricative) và âm thanh bật hơi (Aspirate). Đối với phụ âm sát (khi phát
âm vần “s”), điểm co thắt được tạo ra tại vài điểm trên bộ máy phát âm, và không
Nguyễn Văn Hùng Lớp: 43 A
25

×