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

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”.

 

doc68 trang | Chia sẻ: luyenbuizn | Lượt xem: 1106 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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”. Để 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 Chương 1: TỔNG QUAN VỀ TAPI Giao tiếp lập trình cho hệ thống điện thoại TAPI (Telephony Application Program Interface) 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. 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. 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),… 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. 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 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. Ứng dụng TAPI 32-bit Ứng dụng TAPI 16-bit Ứng dụng TAPI 32-bit Tapi3.dll Tapi.dll Tapi32.dll MSP Tapi32.dll TAPISVR.EXE Registry TSP Telephony Control Panel, Dialing, Properties, etc… Kernel mode driver Hình 1.1. Mô hình các thư viện liên kết động (Tapi dll) 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. 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 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. 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ị. 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. 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. 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. Đ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 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 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 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. + 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ả. Ư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. - 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. 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. 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. Ứng dụng TAPI TAPI 2.2 (TAPI/C) TAPI 3.0 (TAPI/COM) TAPI DLL (Dynamic Link Library) MSP (Media Service Provider) MSPI TAPISVR (TAPI Server) Service Providers TSP (TAPI Service Provider) TSPI Device Hình 1.4. Mô hình lập trình cho hệ thống điện thoại Mô hình ứng dụng TAPI 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 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. + Đă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 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ữ 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: 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). 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ì? Để 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 ]

Các file đính kèm theo tài liệu này:

  • docTì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.doc