Các ứng dụng trên Internet là rất đa dạng, gồm nhiều loại khác nhau, có thể bao gồm âm thanh, hình ảnh tĩnh hay động.Tuy nhiên, để sử dụng nó không phải bất kỳ nơi đâu, lúc nào cũng có t
Trang 1Mục lục
Mục Lục .1
Đặt vấn đề 4
PHẦN MỘT : THỰC TRẠNG VÀ GIẢI PHÁP CHO 116 6
I Thực trạng của dịch vụ 116 6
II Giải pháp bán tự động dịch vụ 116 10
1 Các chức năng của ứng dụng 12
2 Giao tiếp qua điện thoại 12
3 Truy tìm dữ liệu trên mạng máy tính 13
4 Phát âm 13
III Sơ đồ chức năng của chương trình xử lý 13
IV Kết luận 16
PHẦN HAI : CƠ SỞ LÝ THUYẾT 17
CHƯƠNG 1 : GIAO TIẾP QUA MẠNG ĐIỆN THOẠI 18
I Giới thiệu 19
II Mạng điện thoại 19
1.Tổng đài điện thoại 19
1.1 Định nghĩa 19
1.2Các lớp tổng đài điện thoại 19
1.3Phân loại tổng đài 20
2.Tổng đài PABX 21
3.Máy điện thoại 21
3.1Nguyên tắc cấu tạo máy điện thoại 21
3.2Chức năng chung của máy điện thoại 22
3.3Phân loại các kiểu máy điện thoại 23
3.4Các kiểu mạch của máy điện thoại 23
3.5Yêu cầu về mạch điện của máy điện thoại 24
3.6Các thông số của máy điện thoại 24
3.7Tín hiệu giữa thuê bao và tổng đài 24
4.Dialogic Card 27
4.1Mô tả card Dialogic/4 27
4.2Các mô hình lập trình cho card Dialogic/4 34
4.3Giao diện lập trình ứng dụng (API) 43
CHƯƠNG 2 : TỔNG QUAN VỀ TRUY XUẤT CƠ SỞ DỮ LIỆU 49
I TỔNG QUAN VỀ TRUY XUẤT CƠ SỞ DỮ LIỆU 50
1.Cơ sở dữ liệu là gì ? 50
2.Các mô hình cơ sở dữ liệu 50
2.1Mô hình CSDL phẳng 50
2.2Mô hình CSDL quan hệ 50
3.Cách truy xuất CSDL 51
4.Chọn phương pháp truy xuất CSDL 52
II TRUY XUẤT LIỆU DÙNG ODBC 52
1.Giới thiệu về ODBC 52
2.Kiến trúc của ODBC 52
3.Cấu hình một ODBC data source 56
4.Hướng dẫn gọi các hàm ODBC 57
5.Các bước ứng dụng căn bản 58
CHƯƠNG 3 SƠ LƯỢC VỀ TIẾNG NÓI VÀ CÁC
PHƯƠNG PHÁP TỔNG HỢP ÂM 60
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 1
Trang 2I SƠ LƯỢC VỀ TIẾNG NÓI 60
1.Đặc tính chung của tiếng nói 60
2.Cách thức tổng hợp tiếng nói dùng trong Text-To-Speech 62
3.Tại sao sử dụng Text-To-Speech 63
4.Những lý do cho việc thực thi Text-To-Speech 63
5.Những ứng dụng tìm năng ủa3 Text-To-Speech 64
6.Hạn chế của Text-To-Speech .65
II SƠ LƯỢC VỀ CẤU TRÚC TIẾNG VIỆT 66
1.Các đặc tính cơ bản của Tiếng Việt 66
2.Hệ thống ngữ âm Tiếng Việt 66
2.1Khái niệm 66
2.2Cấu trúc âm Tiếng Việt 66
III CÁC PHƯƠNG PHÁP, TIÊU CHUẨN TỔNG HỢP TIẾNG NÓI TRONG HỆ THỐNG TIẾNG VIỆT 69
1.Nguyên nhân cần phải tổng hợp tiếng nói 69
2.Các tiêu chuẩn cần thỏa mãn khi tổng hợp tiếng nói 69
3.Các phương pháp tổng hợp âm cho Tiếng Việt 70
3.1Ghép từng từ đơn 70
3.2Ghép âm theo các âm tiết cơ bản nhất 71
3.3Ghép âm từ hai âm loại 1 71
3.4Ghép âm từ hai âm loại 2 75
IV SƠ LƯỢC VỀ CÁC DẠNG FILE ÂM THANH DÙNG TRONG CARD DIALOGIC 76
1.Cấu trúc Wave file 76
2.Đọc RIFF files 80
PHẦN BA : THIẾT KẾ HỆ THỐNG 85
CHƯƠNG 1 MODULE GIAO TIẾP 87
1.Hoạt động giao tiếp 88
2.Chọn lựa mô hình lập trình 88
3.Máy trạng thái 89
CHƯƠNG 2 MODULE TRUY XUẤT DỮ LIỆU 93
I GIỚI THIỆU CÁC LỚP MFC ODBC 9
1.Giới thiệu lớp Cdatabase 94
2.Giới thiệu lớp CrecordSet 94
II GIỚI THIỆU VỀ SQL 95
III TRUY XUẤT DATABASEE BẰNG MFC ODBC 97
1.Nếu các quan hệ của Database
đã biết trước tại thời điểm lập trình 97
2.Làm việc với các Database không được xác định trước 100
IV SƠ LƯỢC VỀ CSDL DÙNG TRONG ĐÀI 116, 102
V HOẠT ĐỘNG CỦA PHẦN TRUY XUẤT DỮ LIỆU 103
CHƯƠNG 3 MODULE TỔNG HỢP ÂM 105
1 Chức năng 106
2.Chọn phương pháp tổng hợp âm 106
3.Các bước chuẩn bị 106
4.Tổ chức lưu trữ dữ liệu âm thanh và hiện thực tổng hợp âm .106
4.1Chỉ lưu trữ dữ liệu âm 106
4.2Để riêng lẻ từng file wave 109
5.Chọn phương pháp lưu trữ tạo âm 109
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 2
Trang 3VẬN HÀNH ĐÁNH GIÁ HỆ.THỐNG 110
Giao diện chương trình 111
Vận hành chương trình 112
Đánh gía hệ thống 113
Kết luận 114
CHƯƠNG TRÌNH NGUỒN 115
Trong thời đại thông tin như hiện nay, việc trao đổi thông tin, tìm kiếm thông tin ngày càng nhiều Con người có thể trao đổi, thu thập thông tin qua thư từ, sách báo, đài, tivi, và hiện nay mọi người có thể chủ động hơn qua mạng điện thoại, Internet Các ứng dụng trên Internet là rất đa dạng, gồm nhiều loại khác nhau, có thể bao gồm âm thanh, hình ảnh tĩnh hay động.Tuy nhiên, để sử dụng nó không phải bất kỳ nơi đâu, lúc nào cũng có thể dùng được.Tận dụng hạ tầng cơ sở có sẵn trong hệ thống thông tin liên lạc qua mạng điện thoại, chúng ta có thể phát triển một số ứng dụng mà cho phép người sử dụng có thể khai thác thông tin chỉ qua máy điện thoại nối với mạng điện thoại Các loại dịch vụ trao đổi qua mạng điện thoại thường được thực hiện giữa người và người như 1080, 116
Hiện nay, nhu cầu sử dụng các dịch vụ đó ngày càng cao đặt ra cho chúng ta một vấn đề : làm sao đáp ứng được nhu cầu đó mà Có hai cách giải quyết:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 3
Đ Ặ T V Ấ N Đ Ề
Trang 4 Thứ nhất : tăng cường thêm điện thoại và điện thoại viên nhằm đảm bảo các
cuộc gọi của khách hàng đến dịch vụ không bị quá tải
Thứ hai : chuyển sang hướng tự động các dịch vụ thông tin đó dựa trên máy tính.
Cả hai cách giải quyết này đều phải dùng lại cơ sở hạ tầng để đảm bảo chi phí cảitạo dịch vụ là thấp nhất Tuy nhiên, cách thứ nhất tốn kém chí phí hơn :bao gồm phí lắp đặtđiện thoại, chi phí tuyển điện thoại viên, lương bổng hàng tháng cho điện thoại viên Trongkhi cách thứ hai chỉ cần một máy tính sử dụng cơ sở dữ liệu thông tin có sẵn, một phần cứngchuyên dụng, và một phần mềm quản lý
Việc lựa chọn cách giải quyết nào tùy thuôc vào tình hình cụ thể cơ sơ hạ tầng củatừng dịch vụ và hướng phát triển của dịch vụ đó Mặt khác, bản thân người làm kỹ thuậtcũng phải cân nhắc về hiệu quả của giải pháp (chi phi xây dựng, vận hành, bảo trì) và khảnăng phát triển của giải pháp theo sự mở rộng của dịch vụ
Vấn đề lớn đặt ra ở đây được cụ thể hóa vào dịch vụ 116 của bưu diện thành phố.Dịch vụ 116 có chức năng giải đáp số điện thoại từ tên và địa chỉ thuê bao và ngượclại, từ tên và địa chỉ thuê bao, cho người gọi biết được số điện thoại của chủ thuê bao đó.Dịch vụ này hiện nay đang quá tải vì số cuộc gọi yêu cầu giải đáp thông tin ngày càngnhiều
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 4
Trang 5 SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 5
PHẦN MỘT
THỰC TRẠNG VÀ GIẢI
PHÁP CHO
HỆ THỐNG 116
Trang 6I THỰC TRẠNG CỦA DỊCH VỤ 116 :
Hiện nay, mọi thông tin giải đáp cho người gọi đều được thực hiện thông qua Điệnthoại viên Mỗi Điện thoại viên có một máy điện thoại và một máy tính, thông qua máy điệnthoại Điện thoại viên có thể giao tiếp với người gọi, thông qua máy tính Điện thoại viên cóthể truy xuất dữ trên mạng tùy theo yêu cầu của người gọi Ơ đây, Điện thoại viên đóng vaitrò trung gian trong việc chuyển tiếp dữ liệu từ máy tính lên mạng điện thoại đến với ngườigọi
Các thành phần trong dịch vụ 116 :
Database server: chứa dữ liệu và gởi trả dữ liệu khi có yêu cầu
Hub
Máy tính: được dùng bởi Điện thoại viên để truy xuất dữ liệu
Máy điện thoại: được dùng bởi Điện thoại viên để giao tiếp với người gọi
ACD (Automatically Call Distribution) : phân phối các cuộc gọi tự động đếncác Điện thoại viên
Sơ đồ mạng 116 chưa bán tự động
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 6
Trang 7Để cải tạo dịch vụ, ta có hai cách giải quyết đã nêu trong phần đặt vấn đề Giải pháp tựđộng hóa dịch vụ 116 là giải pháp được ưu tiên lên hàng đầu vì tính khả thi, và sự hiệu quảcủa nó về mặt kinh tế cũng như về mặt kỹ thuật
Việc tự động hóa dịch vụ 116 thực chất là việc thực hiện quá trình trao đổi giữa người
và máy Ơ đây người sử dụng chỉ trao đổi thông qua máy điện thoại Do việc trao trực tiếpqua giọng nói với con người là rất khó khăn, không thể thực hiện được ở đây Vì vậy thông tin
mà người sử dụng cung cấp cho máy chỉ qua các phím trên máy điện thoại Do số lượng phímtrên máy điện thoại có giới hạn, thông tin cung cấp cho máy chỉ gói gọn ở việc nhập vào sốđiện thoại cùng một số tổ quy định trước cho một số chức năng nào đó
Do vậy, việc tự động hóa dịch vụ 116 chỉ dừng lại ở mức độ bán tự động Máy chỉnhận biết và chuyển đổi thông tin từ số điện thoại sang tên và địa chỉ thuê bao do người gọinhập vào; còn việc chuyển đổi ngược lại được tự động kết nối sang Điện thoại viên để thựchiện
II GIẢI PHÁP BÁN TỰ ĐỘNG DỊCH VỤ 116
Khi đã được bán tự động, vai trò của các Điện thoại viên được giảm bớt một nửa, chỉcác cuộc gọi yêu cầu cho biết số điện thoại được chuyển đến Điện thoại viên, các thao tácthực hiện của Điện thoại viên y như là chưa bán tự đông Còn các cuộc gọi yêu cầu về địa chỉthì được xử lý tự động, lúc này quá trình trao đổi được thực hiện giữa người và máy Nói cáchkhác, các thiết bị và chương trình xử lý ở đây đóng vai trò của một Điện thoại viên
Để thực hiện quá trình chuyển kết nối giữa người gọi với chương trình xử lý tự động
và Điện thoại viên có hai cách để thực hiện Thứ nhất, quá trình này do chương trình xử lý tựđộng xử lý theo yêu cầu của người gọi, nghĩa là sau khi giao tiếp với chương trình xử lý, nếungười gọi có nhu cầu trao đổi với Điện thoại viên thì chương trình sẽ kết nối với Điện thoạiviên Thứ hai, quá trình này được xác định ngay từ đầu Khi khách hàng gọi vào 116 thì sẽđược yêu cầu chọn một trong hai chức năng của đài 116 Nếu có yêu cầu về tên và địa chỉ củathuê bao thì sẽ được chương trình xử lý giải quyết, nếu có yêu cầu về số điện thoại thì sẽchuyển qua trao đổi với Điện thoại viên Trong trường hợp thứ hai này chương trình xử lý coinhư nhận các cuộc gọi gọi vào một số điện thoại cố định, việc chuyển đổi cuộc gọi như thếnào chương trình không quan t âm
Tùy theo cách đưa chức năng kết nối với Điện thoại viên vào trong hay ngoài chươngtrình xử lý mà ứng dụng của ta thêm hay bớt chức năng Nếu đưa ra ngoài thì chương trìnhđơn giản hơn và về mặt ứng dụng trong thực tế thì nó phù hợp hơn Lúc này, có thể xem đây
là một dịch vụ có một chức năng độc lập, chỉ cung cấp thông tin về tên và địa chỉ của các thuêbao và có thể gán cho dịch vụ này một số điện thoại nào đó Cách thực hiện này phân định rõchức năng của các dịch vụ có thể giúp cho người gọi sử dụng dễ dàng đồng thời quản lý cácdịch vụ được dễ dàng Còn nếu đưa kết nối vào bên trong thì sẽ gộp hai chức năng lại trongmột chương trình, lúc này có sự kết hợp giữa làm bằng tay và làm bằng máy cho nên quá trình
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 7
Trang 8quản lý dịch vụ sẽ gặp nhiều khó khăn hơn Tùy theo cách chọn mà chương trình có thêmchức năng, còn các chức năng cơ bản thì vẫn không đổi.
Các thành phần trong dịch vụ 116 khi đã được bán tự động:
Các thành phần khi chưa bán tự động
Máy tính và một Card chuyên dụng để xử lý tự động
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 8
Trang 9Sơ đồ mạng 116 bán tự động (xử lý kết nối bên ngoài)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 9
Trang 10Sơ đồ 116 đã bán tự động (xử lý kết nối bên trong)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 10
Trang 11Khi đã được bán tự động, phần chương trình xử lý bán tự động hoạt động giống nhưmột Điện thoại viên.
Hoạt động của Điện thoại viên:
Điện thoại viên chờ các cuộc gọi
Điện thoại viên nhấc máy điện thoại khi có một cuộc gọi đến
Chào hỏi
Lắng nghe yêu cầu của người gọi
Điện thoại viên truy tìm dữ liệu trên mạng thông qua máy tính
Đọc kết quả trả lời cho người gọi
Quá trình trao đổi lặp lại từ bước 3 đến bước 6
Khi quá trình trao đổi kết thúc, Điện thoại viên gác máy và quay lại bước banđầu
Vì quá hoạt động của chương trình xử lý giống như quá trình hoạt động của Điệnthoại viên, nên chương trình xử lý phải có các chức năng để thực hiện các thao tác mà bảnthân Điện thoại viên thực hiện và Điện thoại viên dùng để thực hiện như giao tiếp, phát âm,truy tìm dữ liệu
1 Các Chức Năng Của Ưng Dụng:
Để thay thế được Điện thoại viên, chương trình xử lý phải thực hiện được 3 nhómchức năng chính sau:
Giao tiếp qua mạng điện thoại
Truy tìm dữ liệu
Phát âm
Sự kết hợp của 3 nhóm chức năng trên lại với nhau sẽ tạo nên một “Điện thoại viênảo”
2 Giao Tiếp Qua Điện Thoại
Có nhiệm vụ quản lý các cuộc gọi, xử lý các sự kiện khác nhau xảy ra mạng điệnthoại, gởi/nhận thông tin trao đổi giữa người gọi và chương trình xử lý
Do máy tính không thể kết nối trực tiếp với mạng điện thoại qua các cổng song songhay nối tiếp mà phải qua Modem hay một thiết bị trung gian nào đó có thể kết nối máy tínhvới mạng điện thoại Vì vậy, muốn giao tiếp trực tiếp với mạng điện thoại ta phải dùng thêmmột bộ phận trung gian nào đó Công ty Dialogic có sản xuất một số Card chuyên dùng chocác ứng dụng trong hệ thống Máy tính điện thoại (Telephony Computer) rất phù hợp vớiyêu cầu của ứng dụng này Do vậy, ở đây ta sẽ sử dụng một trong các Card do công tyDialogic sản xuất (Dialogic Card) để làm trung gian thực hiện quá trình giao tiếp này
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 11
Trang 12Như vậy, Dialogic Card đóng vai trò hết sức quan trọng trong ứng dụng này, cácchức năng mà Dialogic Card hỗ trợ nhiều hay ít sẽ làm cho quá trình giao tiếp trong ứngdụng của ta thuận tiện hay khó khăn Và chương trình giao tiếp sẽ dựa vào các chức năngcủa nó, qua đó thực hiện quá trình giao tiếp.
3 Truy Tìm Dữ Liệu Trên Mạng Máy Tính:
Toàn bộ thông tin về các thuê bao được chứa trong một cơ sở dữ liệu và được đặttrên một máy chủ (Database Server) Tất cả các thông tin mà chương trình xử lý cần đềunằm trên Databae Server Để đáp ứng yêu cầu của người gọi, Chương trình xử lý dựa vàocác thông tin mà người gọi cung cấp, tìm kiếm thông tin trên Database Server Như vậy,Chương trình xử lý đóng vai trò của một Client giao tiếp với Database Server thực hiện quátrình gởi/nhận dữ liệu để lấy thông tin cần thiết Và thông tin lấy được ở đây là ở dạng chữ(text)
Tóm lại, chức năng chính ở đây là làm sao chuyển từ dạng chữ viết sang dạng tiếng
nói tương ứng với chữ viết đó (Text to Speech)
III SƠ ĐỒ CHỨC NĂNG CỦA CHƯƠNG TRÌNH XỬ LÝ:
Sơ đồ bao gồm 3 khối chính : “giao tiếp” , “tìm kiếm nội dung” và “tìm kiếm dữ liệuâm” Mỗi khối mang một chức năng riêng, độc lập với các khối khác Ba khối này mang bachức năng như đã phân tích ở trên, trong đó khối “giao tiếp” gọi hai khối còn lại để thựchiện các yêu cầu Tùy theo chức năng kết nối qua Điện thoại viên được đưa vào bên tronghay bên ngoài chương trình xử lý mà quá trình hoạt động của chương trình có sự thay đổi
Hoạt động của Chương trình xử lý theo sơ đồ chức năng khi sự kết nối được đưa vàobên trong:
Khối “giao tiếp” thực hiện chức năng giao tiếp giữa người và máy K hi cócuộc gọi vào, khối này phát ra yêu cầu chọn loại thông tin nào cần lấy, khi người gọi chọnmột trong hai, chương trình kiểm tra sự chọn lựa
Nếu là yêu cầu tìm số điện thoại, Chương trình xử lý tự động chuyển cuộc gọiđến Điện thoại viên, Chương trình xử lý chỉ giám sát cuộc gọi, nếu vào thời điểm này ngườigọi có yêu cầu về địa chỉ, thì Chương trình xử lý ngắt cuộc gọi này và chuyển sang chế độ
xử lý tự động
Nếu là yêu cầu tìm địa chỉ, Chương trình xử lý yêu cầu người gọi nhập số điệnthoại qua các phím trên máy điện thoại, khi người gọi nhập xong, nó lấy số điện thoại nàygởi cho khối “tìm kiếm”
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 12
Trang 13 Khi khối “tìm kiếm” nhận được số điện thoại, nó lập tức tìm kiếm các thông tin
có liên quan đến chủ thuê bao của số điện thoại này, nó thiết lập cầu nối đến DatabaseServer để nhận dữ liệu về Một khi đã có chuỗi thông tin này nó liền gởi ngay cho khối “tìmkiếm dữ liệu âm” và tiếp chờ số điện thoại khác do khối “giao tiếp” gởi đến
Một khi có được chuỗi thông tin do “tìm kiếm” gởi đến, qua thư viện âm có sẵn,khối này sẽ chuyển nội dung của thông tin này sang dạng âm với một cơ chế nào đó Sau đókhối “tìm kiếm dữ liệu âm” sẽ chuyển toàn bộ thông tin dạng âm này cho khối “giao tiếp”
Cuối cùng, khi đã có dữ liệu âm, khối “giao tiếp” sẽ phát nó lên mạng điện thoạiđến với nguời nghe, kết thúc một chu trình xử lý
Bên cạnh các khối chính này, còn có các khối phụ khác phục vụ cho 3 khối chínhnày Các khối con nào hỗ trợ cho khối chính nào thì ta bỏ luôn vào khối chính đó và cuốicùng chỉ tạo nên 3 nhóm chính
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 13
Trang 14Bảng Phần 1 III(sơ đồ khối chức năng xử lý kết nối bên trong)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 14
Trang 15Hoạt động của Chương trình xử lý theo sơ đồ chức năng khi sự kết nối được đưa ra bên ngoài:
ở đây chỉ có khối “giao tiếp” là thay đổi Tuy nhiên các chức năng của nó không
có gì thay đổi ngoài trừ việc phát ra thông báo yêu cầu khách hàng có trao đổi vớiĐiện thoại viên hay không và thực hiện kết nối nếu có
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 15
Trang 16Bảng Phần 1 III(xử lý bên ngoài)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 16
Trang 17IV KẾT LUẬN
Từ quá trình phân tích Chương trình xử lý ở mức toàn cục như trên, ta phân chiatoàn bộ chương trình thành 3 Module chính : Giao tiếp qua mạng điện thoại, Truy xuất dữliệu qua mạng cục bộ và Phát âm
Giao tiếp qua mạng điện thoại : thực hiện toàn bộ quá trình giao tiếp với người gọitrên mạng điện thoại; nhận yêu cầu của người gọi và thông báo kết quả cho người gọi; cóhoặc không tự động chuyển cuộc gọi đến Điện thoại viên khi cần thiết và trả về cho quátrình xử lý tự động khi có yêu cầu
Truy xuất dữ liệu qua mạng cuc bộ: thực hiện quá trình tìm kiếm thông tin có liênquan đến chủ thuê bao của số điện thoại từ số điện thoại đó đặt trên Database Server thôngqua một mạng cục bộ
Phát âm: chuyển đổi dữ liệu từ dạng chữ (Tiếng việt) sang dạng âm(Tiếng việt ứngvới các chữ đó)
Trong 3 module trên, module “Giao tiếp qua mạng điện thoại” nhận yêu cầu từngười gọi và sẽ gọi 2 module còn lại để cuối cùng có được dữ liệu dạng âm và phát lênmạng điện thoại, trả lời cho người gọi
Một trong những điều thuận tiện trong việc phân chia các module trên là tính độc lậpcủa các module Mỗi module sẽ thực hiện một chức năng riêng biệt có thể hiện thực mộtcách độc lập với nhau Mỗi module sẽ có một đầu vào và một đầu ra, trong đó module chính
là “Giao tiếp qua mạng điện thoại” sẽ gọi hai module còn lại để thực hiện quá trình xử lý
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 17
Trang 18 SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 18
PHẦN HAI
CƠ SỞ LÝ THUYẾT
Trang 19 SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 19
GIAO TIẾP QUA
MẠNG ĐIỆN THOẠI
CHƯƠNG 1
Trang 20I GIỚI THIỆU:
Ơ chương trước, ta đã phân tích chương trình ra các module khác nhau, trongchương này ta tìm hiểu các nội dung có liên quan đến module thứ nhất – “Giao tiếp quamạng điện thoại” Một trong các thành phần phần cứng quan trọng có liên quan là DialogicCard Loại Card bao gồm nhiều loại, mỗi loại có các chức năng khác nhau, có thể hỗ trợ chonhiều loại ứng dụng khác nhau, nhưng nói chung bao gồm một số đặc điểm như sau: kết nốitrực tiếp đến đường dây điện thoại, tự động trả lời các cuộc gọi đến, gọi các cuộc gọi đi…
Nó có thể cài đặt trên máy PC XT/AT (ISA/PCI bus), chạy trên môi trường MS-DOS,Windows NT/ 95, OS/2 và UNIX
Mỗi loại Card bao gồm một số kênh khác nhau và mỗi kênh được kết nối với 1 lineđiện thoại nhất định Trong chương này ta tìm hiểu họ D/4xxx gồm 4 kênh (có thể mở rộngcho nhiều kênh bằng cách sử dụng nhiều board), hoạt động đồng thời cho 4 line điện thoạitrên mạng điện thoại analog, cài đặt trên máy PC chạy trên hệ điều hành Windows NT
II MẠNG ĐIỆN THOẠI :
Một mạng điện thoại là một mạng bao gồm các loại tổng đài điện thoại (CO –Central Office) khác nhau và các thuê bao nối kết với nhau
1 Tổng Đài Điện Thoại :
1.1 Định nghĩa:
Tổng đài điện thoại là một hệ thống chuyển mạch, nó có nhiệm vụ kết nối các cuộcliên lạc từ thiết bị đầu cuối chủ gọi (calling side) đến thiết bị đầu cuối được gọi (called side)
1.2 Các lớp tổng đài điện thoại:
Người gọi có thể gọi đến các máy điện thoại trên các khu vực khác nhau, do đó cần
có hệ thống chuyển mạch tương ứng với các khu vực khác nhau để giảm bớt chi phí Chonên người ta lập nên các tổng đài ứng với các lớp khác nhau 5, 4, 3, 2, 1 đặt tương ứng ở cáctrung tâm khác nhau trung tâm chuyển tiếp đầu cuối, trung tâm đường dài, trung tâm cấpmột, trung tâm vùng, trung tâm miền
Trung tâm chuyển tiếp đầu cuối là nơi các thuê bao nối kết trực tiếp đến qua một sợidây xoắn đôi thường được gọi là đường dây thuê bao Khi một thuê bao gọi cho một thuêbao khác Nếu thuê bao được gọi cùng kết nối trong cùng một trung tâm chuyển tiếp đầucuối thì trung tâm này tự động kết nối các máy này lại với nhau Nếu thuê bao được gọikhông ở trung tâm này thì nó sẽ nhờ các trung tâm khác ở các mức cao hơn chuyển mạchgiúp
Các trung tâm chuyển tiếp ở các mức độ khác nhau sẽ kết nối các thuê bao ở cácvùng xa gần khác nhau Ngoài ra người ta còn dùng các trung kế để giảm tải khi lưu lượngcuộc gọi lên cao
1.3 Phân loại tổng đài:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 20
Trang 21Có hai tiêu chẩn để phân loại tổng đài : theo công nghệ chế tạo và theo cấu trúcmạng điện thoại.
Theo công nghệ chế tạo, ta có tổng đài nhân công và tổng đài tự động Trong tổngđài nhân công, công việc kết nối được thực hiện bởi Điện thoại viên Trong tổng đài tựđộng, việc chuyển mạch được thực hiện một cách tự động Dù là nhân công hay tự động, hailoại tổng đài này đều phải thực hiện các chức năng như sau:
Nhận biết nhu cầu gọi của thuê bao gọi, đồng thời định vị được thuê bao gọi
Trực tiếp rung chuông cho thuê bao được gọi
Trong trường hợp thuê bao được gọi bận, phát tín hiệu trả lời cho thuê bao gọibiết
Khi thuê bao được gọi nhấc máy, cho phép hai thuê bao thông thoại, và thực hiệncông việc giám sát
Nếu một trong hai thuê bao gác máy, cắt thông thoại, báo cho thuê bao còn lại biếtcuộc đàm thoại đã chấm dứt
Theo cấu trúc mạng điện thoại, ta có thể phân theo 5 loại như sau:
Tổng đài cơ quan PABX (Private Automatic Branch Exchange): được sử dụngtrong các cơ quan, khách sạn và chỉ sử dụng các trung kế C.O line
Tổng đài nông thôn RE (Rural Exchange): được sử dụng ở các xã, khu dân cưđông, chợ… và có thể sử dụng các loại trung kế
Tổng đài nội hạt LE (Local Exchange): Được đặt ở trung tâm huyện tỉnh và sửdụng tất cả các loại trung kế
Tổng đài đường dài TE (Toll Exchange): Dùng để kết nối các tổng đài nội hạt ởcác tỉnh với nhau, chuyển mạch các cuộc gọi đường dài trong nước không cómạch thuê bao
Tổng đài cửa ngõ quốc tế (GateWay Exchange): Tổng đài này được dùng chọnhướng và chuyển mạch cuộc gọi vào mạng quốc tế Để nối các mạng quốc giavới nhau
2 Tổng Đài PABX :
PABX là loại tổng đài chuyển mạch tự động có đặc tính cơ bản của một tổng đàiđiện thoại là khả năng xử lý nối kết điện đàm Freeman đưa ra 8 chức năng cho việc xử lýmột cuộc gọi điện thoại:
Nối kết (interconnection)
Điều khiển (control)
Phục vụ (attending)
Kiểm tra bận (busy testing)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 21
Trang 22 Báo động (alarming)
Nhận thông tin (information receiving)
Truyền thông tin (information transmitting)
Giám sát (supervisory)
3 Máy Điện Thoại :
3.1 Nguyên tắc cấu tạo máy điện thoại :
Máy điện thoại là thiết bị đầu cuối của hệ thống điện thoại, nó được lắp đặt tại đơn
vị thuê bao để hai người ở xa liên lạc với nhau Hiện nay tuy có nhiều kiểu loại điey76nthoại nhưng mỗi loại đều phải có những phần chính như sau:
Phần chuyển đổi mạch điện: Phần này gồm hệ thống lá mía tiếp điểm và các cơkiện phụ có nhiệm vụ đóng mở mạch điện khi có yêu cầu gọi
Phần thu phát tín hiệu gọi: Phần chính là mạch gởi số và chuông Chuông có nhiệm
vụ biến dòng tín hiệu gọi thành tín hiệu gọi
Phần thu phát thoại: Gồm hai bộ phận chính là ống nói và ống nghe Ống nói cónhiệm vụ biến đổi những tín hiệu âm thanh thành tín hiệu điện và ống nghe thì biến đổi tínhiệu điện thành tín hiệu âm thanh Cả hai được lắp đặt chung trong một tổ hợp
3.2 Chức năng chung của máy điện thoại :
Đối với một máy điện thoại, từ loại nhân công cổ điển đến loại tự động điện tử hiệnđại đều phải thực hiện được các chức năng cơ bản sau:
Báo hiệu cho người sử dụng điện thoại biết là hệ thống tổng đài đã sẵn sàng haychưa sẵn sàng tiếp nhận cuộc gọi Chức năng này thể hiện ở chỗ phải báo cho người sử dụngđiện thoại bằng âm hiệu mời quay số hay âm hiệu báo bận
Phải gởi được mã số của thuê bao bị gọi vào tổng đài Điều này được thực hiệnbằng cách quay số hay nhấn phím
Chỉ dẫn cho người sử dụng biết tình trạng diễn biến kết nối bằng các âm hiệu hồi
âm chuông hoặc báo bận
Báo hiệu cho người sử dụng biết thuê bao đang bị gọi, thường là bằng tiếngchuông
Chuyển đổi tiếng nói thành tín hiệu điện truyền đi đến đối phương và chuyển tínhiệu điện từ đối phương đến thành tiếng nói
Có khả năng báo cho tổng đài khi thuê bao gác máy
Chống tiếng gọi lại, tiếng keng, click khi phát xung quay số
Ngoài ra người ta còn chú ý đến tính năng tự động điều chỉnh mức âm thanh nghe,nói tự động điều chỉnh nguồn nuôi, phối hợp trở kháng với đường dây Chức năng nàytrước kia chưa được chú ý lắm, vì vậy trong thực tế thường xảy ra tình trạng nếu đường dây
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 22
Trang 23thuê bao ngắn, máy nói nghe lớn và ngược lại Máy ấn phím được chế tạo các bộ phận nghenói mà hệ số khuếch đại có thể thay đổi tỷ lệ nghịch với chiều dài đường dây.
Ngoài các chức năng cơ bản kể trên, người ta còn chế tạo những máy điện thoại cókhả năng thực hiện được một số chức năng khác như:
Gọi bằng số rút gọn
Nhớ số thuê bao đặc biệt
Gọi lại tự động: khi gọi một thuê bao nào đó mà thuê bao này bị bận, ta có thể đặtmáy trong khi đó số của thuê bao vừa gọi đã được lưu trữ trong bộ nhớ của máy điện thoại.Sau đó ta ấn một nút tương ứng là số điện thoại vừa gọi này cũng được tự động phát đi, khithuê bao rỗi thì máy tự động reo chuông cả hai phía…
3.3 Phân loại các kiểu máy điện thoại :
3.3.1 Phân loại theo phương pháp tiếp dây:
Máy điện thoại nhân công: Liên lạc qua tổng đài nhân công, gồm có hai loại:
Máy điện thoại từ thạch: nguồn cung cấp để đàm thoại và để gọi chuông đềuđược trang bị tại từng máy lẽ, nguồn đàm thoại thường dùng pin, nguồn gọichuông là máy phát điện magnéto
Máy điện thoại cộng điện: Nguồn cung cấp để đàm thoại và để gọi chuôngđều đặt tại tổng đài, sử dụng nguồn một chiều 24V
Máy điện thoại tự động:
Liên lạc với nhau qua tổng đài tự động bằng cách quay số hoặc ấn phím gởi
Máy treo tường
Máy đi đường
Máy dùng trong hầm mỏ, tàu biển…
3.4 Các kiểu mạch của máy điện thoại :
Do những yêu cầu kỹ thuật và chất lượng đàm thoại nên mạch điện của các loại máyđiện thoại thường có những dạng sau:
Mạch điện tử kiểu hở mạch: dạng mạch điện này ở trạng thái không làm việc phầnthu phát thoại hở mạch còn phần thu tín hiệu nối thông với đường dây
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 23
Trang 24 Mạch điện tử kiểu ngắn mạch: dạng mạch điện này ở trạng thái không làm việcphần thu phát thoại bị ngắn mạch còn phần thu tín hiệu gọi được đấu sẳn lên đường dây.
3.5 Yêu cầu về mạch điện của máy điện thoại :
Bất cứ loại máy điện thoại nào về mạch điện nguyên lý cũng phải thỏa mãn ba yêucầu sau:
Khi máy điện thoại không làm việc phải ở tình trạng sẵn sàng tiếp nhận cuộc gọi.Nghĩa là bộ phận thu phát tín hiệu gọi được nối sẵn lên đường dây, còn bộ phận thu phát tínhiệu thoại phải tách rời để tránh tiêu hao năng lượng
Khi thu tín hiệu gọi bộ phận thu phát tín hiệu gọi lại phải tách ra khỏi đường dâyđiện, lúc đó trên đường dây chỉ còn có dòng tín hiệu gọi
Khi thu phát tín hiệu đàm thoại bộ phận thu phát tín hiệu gọi lại phải tách ra khỏiđường dây điện, lúc đó trên đường dây chỉ còn có dòng tín hiệu thoại
3.6 Các thông số của máy điện thoại:
3.7 Tín hiệu giữa thuê bao và tổng đài :
Gồm các âm hiệu và các tín hiệu mời quay số Các âm hiệu là các tín hiệu âm thanh
mà tổng đài gởi tới các thuê bao để thông báo, bao gồm các tín hiệu sau:
Âm hiệu mời quay số (Dial Tone): âm hiệu này báo cho thuê bao biết tổng đài sẳnsàng nhận số quay từ thuê bao
Âm hiệu báo bận (Busy Tone): âm hiệu này được tổng đài gởi tới báo cho thuê baogọi biết thuê bao bị gọi đang bận, trung kế bận, hết thời gian quay sốv.v…
Hồi âm chuông (Ringback Tone): tổng đài báo cho thuê bao biết chuông thuê baođối phương đang kêu
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 24
Trang 25 Các thông báo tiếng nói: Ngoài các âm hiệu nêu trên, trong tổng đài điện thoại còndùng các câu thông báo bằng tiếng nói được ghi sẳn.
3.7.1 Quay số:
Quay số bằng xung thập phân:
Các số quay của thuê bao được truyền đến tổng đài bằng cách ngắt dòng đường dâytheo tỉ số thời gian qui định tạo thành chuỗi xung quay số
Số quay số là số xung trên đường dây nên phương pháp này được gọi là phươngpháp quay số bằng xung thập phân
Quay số bằng tín hiệu đa tần (DTMF ÷ Dual Tone Multi Frequency):
Khi sử dụng DTMF để quay số, các số được chọn bởi các công tắc bằng một matrận nút bấm, và mỗi cặp tần số riêng được phát ra đồng thời với mỗi số Kỹ thuật gởi sốbằng xung lưỡng âm đa tần sử dụng hai nhóm, mỗi nhóm có bốn tần số Trong mỗi nhómtần số sẽ tạo được 16 tổ hợp
Khi ta nhấn một nút, sẽ có hai tần số được phát ra Thí dụ: khi nhấn số 8 sẽ phát rahai tần số 852Hz và 1336Hz Tần số phát có thể biến động trong khoảng 1,5% và độ nhạy
bộ thu biến động trong khoảng 2%
Hình trên trình bày phương pháp phân cặp tần số này Mỗi cặp tần số (Tone) xuấthiện tối thiểu 40ms Thời gian tối thiểu giữa các số là 60ms
Sự quay số bằng DTMF có thể nhanh hơn gấp 10 lần so với quay bằng xung thậpphân
Tần số DTMF đã được chọn kỹ để ở tổng đài có lẫn với những âm hiệu khác có thểxuất hiện trên đường dây Bộ thu có những mạch lọc rất tốt để chỉ tiếp nhận các tần số
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 25
Trang 26DTMF và có mạch đo thời gian để đảm bảo âm hiệu xuất hiện trong khoảng thời gian ít nhất
là 50ms 1% trước khi nhận lại tín hiệu DTMF
Sau khi được nối thông đến người gọi, bộ thu đã được tách khỏi đường dây và thuêbao có thể dùng bằng nút ấn để chỉnh tín hiệu DTMF đến người bị gọi như là mạch truyềnđưa số liệu tốc độ thấp
Yêu cầu đối với bộ phát âm hiệu DTMF:
Điện áp nguồn nuôi một chiều và mạch vòng phải được giữ ở mức ổn định dù máy
ở xa hay ở gần tổng đài
Âm hiệu phải có mức điện qui định
Bộ phát âm hiệu DTMF phải hoà hợp tổng trở tốt với đường dây
Máy cần một bộ ổn áp và dòng để hoạt động tốt với mọi cự ly mắc từ máy đến tổngđài
3.7.2 Am hiệu mời quay số:
Là tín hiệu âm thanh báo cho người gọi biết tổng đài đã sẳn sàng và người gọi có thểquay số Am hiệu mời quay số là tín hiệu hình Sin có tần số f = 425 ÷25Hz phát liên tụccho đến khi bắt đầu nhấn số thứ nhất Trong trường hợp người gọi nhấc máy nhưng khôngquay số, sau 15 giây tổng đài sẽ ngắt âm hiệu mời quay số và phát âm hiệu báo bận về phíathuê bao
Âm hiệu báo bận này sẽ tồn tại trong 60 giây, sau đó tín hiệu mời quay số sẽ đượcphát trở lại 15 giây nữa, nếu máy vẫn ở trạng thái cũ, tổng đài sẽ hiểu rằng máy bị bỏ rangoài và tự động ngắt mạch, chờ đến khi máy được đặt trở lại, sự ngắt mạch này mới chấmdứt
3.7.3 Âm hiệu báo bận:
Là tín hiệu âm thanh báo cho người gọi biết thuê bao bị gọi đang bận, cuộc đàmthoại không tiến hành được
Nếu các đường kết nối thông thoại (link) đều bị bận thì tổng đài sẽ cấp âm hiệu báobận cho thuê bao có tần số f = 425 ÷ 25Hz, ngắt nhịp 0.5 giây có và 0.5 giây không
Nếu thuê bao bị gọi đang bận hoặc máy bị bỏ ra ngoài, tổng đài sẽ cung cấp âm hiệubáo bận đến thuê bao gọi
3.7.4 Âm hiệu hồi âm chuông (Ringback tone):
Khi tổng đài cấp chuông cho thuê bao bị gọi thì đồng thời cung cấp cho thuê bao gọi
âm hiệu hồi âm chuông để báo cho thuê bao gọi biết đã kết nối với thuê bao gọi biết đã kếtnối với thuê bao đối phương, chờ đối phương đàm thoại Âm hiệu này có tần số 25Hz điềuchế tần số 425Hz, cùng với chu kỳ dòng chuông (2s có, 4s không)
3.7.5 Tín hiệu chuông (Ringing tone):
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 26
Trang 27Là tín hiệu chuông về phía máy bị gọi Điện áp tín hiệu chuông khoảng 90VAC, tần
số 25Hz, dòng chuông 20mA
4 Dialogic Card.
Như đã nói trong phần giới thiệu, Dialogic Card bao gồm nhiều loại khác nhau thuộccác họ(family) khác nhau, mỗi họ có các cấu trúc, các chức năng, đặc điểm khác nhau.Trong đề tài này, ta dùng Card Dialogic/4 để hiện thực chương trình Tuy nhiên, Card này
có nhiều hạn chế nên có những yêu cầu không thực hiện được, nên bên cạnh giới thiệuDialogic/4 trong phần này còn trình bày một số đặc điểm của các họ khác cần thiết cho yêucầu của đề tài để có thể mở rộng sau này
4.1 Mô tả Card Dialogic/4.
4.1.1 Các đặc điểm
Mỗi Dialogic/4 gồm 4 mạch giao tiếp đường dây điện thoại (telephone line interfacecircuits) cho phép kết nối trực tiếp đến các đường dây có dòng khởi động analog (analogloop start lines) Mỗi Card gồm một bộ xử lý kép (dual÷processor) gồm một DSP (DigitalSignal Processor) và một con vi xử lý (microprocessor) , xử lý tất cả các tín hiệu điện thoại
và thực hiện các nhiệm vụ xử lý các tín hiệu audio/voice và DTMF
Phần mềm được nạp trong quá trình khởi động cho DSP giúp cho việc mã hóa âmthanh (voice) ở dạng 24/32 Kb/s ADPCM hay 48/64 Kb/s PCM Tần số lấy mẫu và phươngpháp mã hóa có thể chọn cho từng kênh khác nhau, mỗi kênh có thể ghi hay phát ra âmthanh một cách độc lập cũng như kiểm tra các trạng thái của của các đường dây điện thoại
Các đặc điểm chính của Dialogic/4:
Kết nối trực tiếp với dây điện thoại
Tự động trả lời các cuộc gọi
Kiểm tra touch÷tone
Trả lời các thông điệp tiếng nói (voice messages) đến người gọi
Số hóa, nén và ghi tín hiệu tiếng nói (voice signal)
Gọi các cuộc gọi và tự động báo cáo kết quả
xử lý các tín hiệu điện thoại và DTMF và giúp cho DSP thực hiện việc xử lý các tín hiệucủa các cuộc gọi vào
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 27
Trang 28 Mỗi “line interface” trên Dialogic/4 nhận các thông tin về tín hiệu điện thoại cũngnhư tiếng nói từ mạng điện thoại Các tín hiệu điện thoại gọi vào (Inbound) sẽ được kiểmtra bởi “line interface” và thông qua “control bus” được chuyển đến “control processor”.
“control processor” đáp ứng các tín hiệu này và thông báo ứng dụng của trạng thái tín hiệuđiện thoại này và ra lệnh cho “line interface” truyền tín hiệu ra ngoài (outbound signaling)đến mạng điện thoại
Tín hiệu âm thanh từ mạng được gởi thông qua các bộ lọc, được kiểm tra bởi “lineinteface”, rồi đưa đến mạch CODEC (Coder/ Decoder) CODEC lọc, lấy mẫu và số hóa cáctín hiệu analog này, sau đó gửi các tín hiệu đã số hóa này đến DSP
Dựa trên firmware đã được nạp lên DSP RAM, DSP thực hiện quá trình phân tích cáctín hiệu như sau và xử lý những dữ liệu nhập này:
Tự động bù thêm cho sự biến đổi mức của tín hiệu audio vào
Ap dụng giải thuật ADPCM (Adaptive Differential Pulse Code Modulation) hayPCM (Pulse Code Modulation) để nén các âm thanh đã được số hóa và lưu vào đĩa
Kiểm tra sự hiện diện của các dạng sóng DTMF, MF, hay một dạng sóng được địnhnghĩa bởi chương trình ứng dụng
Kiểm tra khoảng lặng để xác định đường dây là im lặng hay người gọi không đápứng
Đối với dữ liệu đưa ra ngoài, DSP thực hiện những tác vụ sau:
Giải nén các dữ liệu âm đã được lưu và nén để phát âm (play)
Điều chỉnh âm lượng và tốc độ phát âm theo yêu cầu của người sử dụng haychương trình
Tạo ra các dạng sóng DTMF, MF hay một sóng nào đó theo yêu cầu
Sự kết hợp của bộ xử lý kép cũng thực hiện việc gọi(dial) các cuộc gọi và giám sátquá trình gọi:
Truyền tín hiệu off÷hook (tín hiệu tương ứng khi ta nhất máy điện thoại) lên mạngđiện thoại
Trang 29“shared RAM” mà hoạt động như là input/output buffer gia tăng hiệu quả của việc truyềnfile “shared RAM” này giao tiếp với PC thông qua bus AT/XT Tất cả các hoạt động làInterrupt÷driven để đáp ứng các yêu cầu của hệ thống thời gian thực Tất cả các board trên
PC đều dùng chung một interrupt Khi hệ thống khởi động firmware sẽ được nạp từ PC lêncode/data RAM và DSP RAM
SƠ ĐỒ KHỐI CHỨC NĂNG CỦA DIALOGIC/4
Trang 304.1.3 Kiến trúc Bus
Thông tin di chuyển trên Card thông qua bus của nó Có hai loại bus PEB (PCMExpansion Bus) và SCbus (Signal Computing bus) PEB có 32 khe thời gian (time slot), cònSCbus gồm 1024 khe thời gian, mỗi khe thời gian tương ứng với một đường truyền dữ liệukhi dữ liệu được phát lên bus cho các kênh khác nhận
Theo kiến trúc này, mỗi kênh gồm hai thành phần analog và voice (hay digital vàvoice), trong đó mỗi thành phần gồm hai đường truyền và nhận (TX và RX) Đối với Cardgiao tiếp qua mạng analog, thành phần analog là một interface nối kết trực tiếp với mạng,còn thành phần voice nhận các tín hiệu từ thành phần analog Chức năng của thành phầnanalog là nhận các tín hiệu trực tiếp từ mạng điện thoại, sau đó truyền cho thành phần voicenhận biết các tín hiệu này là gì và quyết định xử lý nó Sự kết hợp của hai thành phần nàytương ứng như sự kết hợp của máy điện thoại và người sử dụng máy đó, máy điện thoại trựctiếp nhận biết các tín hiệu trên mạng và thông báo cho người sử dụng biết, người sử dụngnhận biết và xử lý nó
Hai thành phần analog và voice thuộc cùng một kênh, đường TX của analog có thểnối với RX của voice và ngược lại TX của voice có thề kết nối với RX của analog, sự kếtnối này thông qua bus và tạo nên sự trao đổi thông tin hai chiều (full duplex) giữa hai thànhphần này trong cùng một kênh Tuy nhiên, kiến trúc PEB không có những lợi điểm màSCbus có được PEB chỉ cho phép kết nối hai đường truyền và nhận của hai thành phầnanalog và voice, trong khi đó SCbus có khả năng nối kết hai thành phần bất kỳ lại với nhau.Điều này có nghĩa là với kiến trúc SCbus hai kênh có thể thông nhau, do đó có thể cho haingười gọi đàm thoại với nhau thông qua hai kênh đó Còn đối với PEB, để làm được điềunày cần có thêm một board chuyển mạch nữa (như DMX board÷ Digital Matric Switchboard)
Trong yêu cầu của đề tài này, khi khách hàng có yêu cầu chuyển đổi từ địa chỉ sang
số điện thoại thì cần phải kết nối qua Điện thoại viên, cũng có nghĩa là có cuộc hội thoạigiữa hai người, vì thế nếu chỉ dùng Card có kiến trúc PEB thì không thể thực hiện đượcyêu cầu này
Một kênh trên board về mặt luận lý có thể xem như gồm hai thành phần analog vàvoice Mỗi thành phần có một đường truyền (TX) và một đường nhận (RX) , sau đây là sơ
đồ kết nối của các đường truyền/nhận này đối với SCbus khi các kênh được khởi động vàsau khi nối hai kênh lại với nhau
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 30
Trang 31Scbus /1024 time slots Telephoe
network
Ana log Dev ice
Switch handler
Ana log Dev ice
Switch handler
SƠ ĐỒ KIẾN TRÚC BUS LÚC KHỞI ĐỘNG
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 31
Trang 32SƠ ĐỒ KIẾN TRÚC BUS SAU KHI NỐI KẾT
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 32
Scbus /1024 time slots Telephoe
network
Ana log Dev ice
Switch handler
Ana log Dev ice
Switch handler
Trang 334.2 Các mô hình lập trình cho Card Dialogic/4 (Dialogic Card) :
Ơ trên ta đã giới thiệu về kiến trúc phần cứng của card, để card có thể hoạt độngđược, tất nhiên cần có Driver cho nó Và để có thể viết được các chương trình ứng dụng,người ta cung cấp cho người lập trình các thư viện giao diện lập trình ứng dụng (API –Application Programing Interface) Một trong các đặc điểm quan trọng của Card là có nhiềukênh hoạt động riêng biệt và đồng thời, cho nên cần có một mô hình hoạt động tốt đảm bảocho các kênh hoạt động độc lập nhau
Và thông qua SRL (Standard Runtime Library) API, người ta cung cấp cho chúng ta
3 mô hình lập trình cơ bản : đồng bộ (Synchronous), bất đồng bộ (Asynchronous) và bấtđồng bộ mở rộng (Extended Asynchronous) Trong kiểu bất đồng bộ lại có nhiều kiểu khácnhau
Trước khi nói về các mô hình lập trình, ta giới thiệu sơ lược về một số SRL API
4.2.1 Giới thiệu SRL :
SRL là một thư viện chứa các hàm và cấu trúc dữ liệu hỗ trợ cho việc phát triển cácứng dụng Chức năng chính của SRL là cung cấp một giao diện chung cho việc xử lý các sựkiện và các chức năng khác cho tất cả các loại card Nó bao gồm một số nhóm sau:
Hàm quản lý sự kiện (Event management C functions): cung cấp một interface đểquản lý các sự kiện trên các thiết bị
Hàm thuộc tính chuẩn (Standard attribute C functions): trả về các thông tin chung
về các thiết bị như tên, kiểu, lỗi
Quản lý ngữ cảnh ứng dụng (Application context management): cho phép ứng dụngthiết lập hay lấy thông số do người sử dụng định nghĩa
Cấu trúc dữ liệu chứa bảng thông số ngắt (A termination parameter table datastructure)
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 33
Trang 344.2.2 Lập trình đồng bộ, bất đồng bộ,bất đồng bộ mở rộng theo SRL:
Trong lập trình đồng bộ, mỗi hàm sẽ ngưng (block) sự thực thi của thread cho đếnkhi hàm thực hiện xong Quá trình hoạt động ở mô hình này sẽ diễn ra tuần tự theo mộtluồng nhất định
Trong lập trình bất đồng bộ, thread mà đang gọi một hàm sẽ tiếp tục thực thi trongkhi hàm đó đang được thực hiện Và khi thực hiện xong, ứng dụng sẽ nhận được một sựkiện thông báo là đã thực thi xong Trong cách lập trình này, ta cần tạo ra máy trạng thái(state÷machine) gồm nhiều trạng thái khác nhau chuyển đổi nhau theo các sự kiện
Còn trong lập trình bất đồng bộ mở rộng mà thực chất là sự biến đổi của lập trình bấtđồng bộ bằng cách tạo ra nhiều thread và trong mỗi thread đó thực hiện y như trong lậptrình bất đồng bộ
Trang 35Theo mô hình này, mỗi thread sẽ kiểm soát một kênh, thread sẽ nhận các sự kiện(event) xảy ra trên kênh đó và kiểm tra đó là loại sự kiện gì , rồi tiến hành xử lý nó.
Ưu điểm của mô hình đồng bộ:
Đây là mô hình dễ lập trình và bảo trì nhất, cho phép xây dựng chương trình nhanhchóng
Nhược điểm của mô hình đồng bộ:
Bởi vì thread chính trong process tạo ra các thread riêng biệt cho mỗi kênh, nênchiếm giữ nhiều tài nguyên của hệ thống, điều này có thể giới hạn số kênh sử dụng, khó mởrộng cho nhiều kênh
Các tác vụ đồng bộ sẽ ngưng (block) quá trình thực thi của thread, nên thread sẽkhông thực hiện được các quá trình xử lý khác
Các sự kiện xảy ra mà không biết trước sẽ không được tiếp nhận cho đến khi nàothread thực hiện lại quá trình lấy các sự kiện (dx_getevt())
Ta sử dụng mô hình này cho các luồng điều khiển đơn giản với mỗi tác vụ tại mỗikênh cho từng thời điểm, số kênh không qúa nhiều, không cần quản lý tài nguyên hiệu quả
b) Mô hình lập trình bất đồng bộ:
Mô hình này cho phép nhiều kênh được xử lý trên cùng một thread, việc sử dụng tàinguyên hiệu quả hơn bằng cách cho phép thread tiếp tục xử lý trong khi Driver thực hiệncác hàm bất đồng bộ mà thread đó đã gọi
Ưu điểm của mô hình bất đồng bộ:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 35
Trang 36 Vì chỉ sử dụng một thread cho nhiều kênh, nên tiêu tốn ít tài nguyên hệ thống hơn
mô hình đồng bộ
Cho phép chỉ sử dụng một thread cho tất cả các kênh khác nhau thuộc nhiều loạikhác nhau
Nhược điểm của mô hình bất đồng bộ:
Mô hình yêu cầu xây dựng một máy trạng thái (state machine) trong đó gồm nhiềutrạng thái khác nhau và quá trình chuyển đổi giữa các trạng thái khi nhận được các sự kiệnkhác nhau, quá trình này thường là phức tạp hơn nhiều so với xây dựng chương trình theo
mô hình đồng bộ
Do thread hoạt động dựa trên các sự kiện mà nó nhận được, do đó người ta cung cấpmột số hàm để xác định kênh nào sinh ra sự kiện đó và lấy các thông tin có liên quan:
sr_getevtdev( ) : lấy handle của kênh mà sinh ra sự kiện mới nhát
sr_getevttype( ): lấy kiểu của sự kiện hiện thời
sr_getevtdatap( ): trả về một con trỏ trỏ đến vùng dữ liệu của sự kiện hiện thời
sr_getevtlen( ): lấy số byte của dữ liệu được trỏ bởi sr_getevtdatap( )
Một sự kiện mới nhất sẽ lấy sau khi gọi hàm sr_waitevt()
Sau khi đã xử lý một sự kiện, chương trình sẽ gọi một hàm bất đồng bộ nào đó tùythuộc vào sự kiện đã xảy ra và trạng thái cuối cùng của kênh có sự kiện đó
Trong mô hình bất đồng bộ này, người ta phân chia ra làm ba mô hình con : Windowcallback, Polled,SRL callback; mỗi mô hình đều xử lý các sự kiện giống nhau, nhưng vềcách lấy các sự kiện thì khác nhau
c) Mô hình bất đồng bộ theo kiểu Window Callback
Mô hình này sử dụng “Window Message Loop” để thông báo cho chương trình ứngdụng các sự kiện do các kênh sinh ra Khi một sự kiện xảy ra, một message đã được địnhnghĩa bởi ứng dụng sẽ được đưa lên hàng đợi message của window (Window MessageQueue) Khi message này được truy cập, ứng dụng sẽ hỏi Driver của Card để biết được sựkiện này và xử lý
Do mỗi message được lấy trong Window Message Loop, nên ta không cần vòng lặp
để đợi các sự kiện xảy ra
MÔ HÌNH WINDOW CALLBACK:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 36
Window Message Window Message_1
Trang 37Mô hình này sử dụng hàm sr_NotifyEvent() để gởi thông báo là có sự kiệnđến một cửa sổ xác định trước, khi có một sự kiện xảy ra:
Một message đã định nghĩa trước được gởi tới window
Gọi hàm sr_waitevt(0) để lấy sự kiện
Gọi hàm sr_getevtdev() và sr_getevttype() để lấy kênh sinh ra sự kiện đó và kiểucủa nó
Gọi hàm bất đồng bộ phù hợp để xử lý
Ưu điểm của Window Callback:
Kết hợp chặt chẽ với hệ thống message trong windows
Phục vụ tất cả các sự kiện cho tất cả các kênh trong vòng lặp message của window
Yếu điểm của Window Callback:
Vì vòng lặp message xử lý tất cả các quá trình nên cần phải quan tâm nhiều đếnviệc sử dụng các hàm trong window và không gọi nhiều hàm blocking mà có thể mất nhiềuthời gian
d) Mô hình bất đồng bộ theo kiểu Polled
Dưới tác động bện ngoài hay sự kết thúc của một hàm nào đó, một sự kiện đượcsinh ra, ứng dụng sẽ hỏi driver cho những sự kiện như thế, và sau khi xác định được loại sựkiện gì và nguyên nhân của nó, ứng dụng tiếp tục xử lý Mô hình này sẽ nhận trực tiếp các
sự kiện xảy ra và tùy theo nội dung của nó nó mà ra quyết định xử lý
MÔ HÌNH POLLED
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 37
E V E N T
gọi hàm xử lý
Main thread
Trang 38 Hàm sr_waitevt() sẽ đợi các sự kiện xảy ra trên tất cả các kênh, khi sự kiện xảy rasr_waitevt() sẽ unblock và ứng dụng tiếp tục kiểm tra sự kiện này để ra quyết định xử lý.Trong mô hình này ta cần có vòng lặp để lấy các sự kiện.
Mô hình này là điển hình cho mô hình bất đồng bộ, do đó nó có những ưu điểm vànhược điểm nói chung của mô hình bất đồng bộ
e) Mô hình bất đồng bộ theo kiểu SRL Callback:
Mô hình này sử dụng cùng kiểu sự kiện như các mô hình bất đồng bộ trên Tuynhiên, một handler ( một hàm xác định trước ) sẽ xử lý sự kiện này khi chúng xảy ra Threadchính của ứng dụng sẽ lặp vòng kiểm tra các event có thể xảy ra Trong suốt quá trình xácđịnh này, nếu có event nào thì một handler thích hợp sẽ được gọi Các handler này được xácđịnh trong phần khởi động của ứng dụng ứng với mỗi event được sinh ra; khi một handlerkết thúc, thread sẽ quay về phục vụ quá trình lặp vòng nhận các event khác
Sơ đồ của mô hình này:
Theo mô hình này, mỗi handler sẽ phục vụ một event hay một nhóm event nào đó
Sự ràng buột này có được thông qua gọi hàm sr_enbhdlr( ),còn để hủy bỏ ta dùng hàmsr_dishdlr( ) Trong khi thiết lập mối quan hệ này, một handler có thể phục cho các trườnghợp sau:
Một event cho một kênh nhất định
Bất cứ event nào trong một kênh nhất định
Một nhóm event trên một nhóm kênh nào đó
Ưu điểm của mô hình SRL Callback:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 38
E V E N T
sr_waitevt()
Gọi các handler tương ứng
Trang 39 Do sử dụng một thread nên yêu cầu tài nguyên hệ thống ở mức thấp.
Vì các handler hoạt động trên thread tự động sinh ra khi goi hàm sr_enbhdlr( )(Dialogic thread) hay do người lập trình áp đặt(non÷Dialogic thread) , nếu trongnon÷Dialogic thread bị block bởi một hàm không có trong Dialogic API, thì các handler vẫnphục vụ được các event xảy ra
Yếu điểm của mô hình SRL Callback:
Cần phải tạo ra một cách nào đó để các handler có thể truyền các event đến cácthread khác
f) Mô hình bất đồng bộ mở rộng:
Mô hình này về cơ bản là giống như mô hình bất đồng bộ, ngoại trừ rằng ứng dụng
có thể điều khiển các nhóm kênh với các thread riêng biệt, để sử dụng hàm này ta dùng hàm
mở rộng sr_waitevtEx( )
Mô hình này được chọn khi cần có một máy trạng thái và đợi sự kiện xảy ra trên một
số kênh
Sơ đồ của mô hình:
Ưu điểm của mô hình này:
Mô hình này sử dụng một vài thread cho tất cả các kênh, nên tài nguyên hệ thống
mà nó yêu cầu không cao
Có thể nhóm một số kênh có liên quan lại với nhau dể cùng chạy trên cùng mộtthread, còn các kênh khác chạy trên các thread khác làm tăng độ mềm dẻo mối quan hệ giữacác kênh
Yếu điểm của mô hình này:
Cần phải xây dựng máy trạng thái (state machine) phức tạp hơn nhiều so với môhình đồng bộ cũng như bất đồng bộ
4.2.3 Kết luận về các mô hình lập trình trên:
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 39
E V E N T
gọi hàm xử lý
Thread_1
kiểm tra sự kiện:
sr_waitevtEx( );
sr_getevtdev() sr_getevttype();
gọi hàm xử lý
E V E N T
Thread_2
NHÓM_1
NHÓM_2
Trang 40Trong các mô hình trên : đồng bộ, bất đồng bộ và bất đồng bộ mở rộng, độ phức tạpkhi lập trình càng tăng nhưng bù lại những lợi điểm do nó đem lại cao hơn.
Một đặc điểm quan trọng trong mô hình đồng bộ là sử dụng các hàm đồng bộ Màmột hàm đồng bộ chỉ trả về khi nó thực hiện xong; do đó thread gọi nó sẽ bị block cho đếnkhi hàm đó trả về( ví dụ như hàm dx_play(file wave) sẽ trả về khi chơi xong file âm thanhđó) Do vậy ta phải dùng nhiều thread khác nhau phục vụ cho các kênh khác nhau để cáckênh có thể hoạt động đồng thời Điều này dẫn đến việc tiêu tốn nhiều tài nguyên hệ thống
Trong mô hình bất đồng bộ, ta sử dụng các hàm bất đồng bộ, các hàm này có đặcđiểm là sau khi kiểm tra các thông số , nếu đúng thì nó giao cho driver thực hiện và trả vềngay, tiếp tục thực hiện các phát biểu dưới nó Do vậy thread gọi các hàm này không bịblock, các sự kiện xảy ra trên các kênh đều được kiểm tra kịp thời Cho nên một thread cóthể phục vụ cho nhiều kênh đồng thời nên yêu cầu ít tài nguyên hệ thống hơn, nhưng lại đòihỏi quản lý các kênh phức tạp hơn Trong mô hình này lại bao gồm các mô hình khác nhau :Window Callback, Polled, SRL Callback; các mô hình này đều mang đặc tính chung của môhình bất đồng bộ, chỉ khác nhau ở cách thức nhận các sự kiện (event) từ các kênh, còn vấn
đề xử lý các sự kiện là như nhau
Đối với mô hình bất đồng bộ mở rộng, như tên gọi của nó là sự mở rộng của môhình bất đồng bộ bằng cách dùng một vài thread, mỗi một thread phục vụ cho một nhómkênh nào đó Lúc này mỗi thread hoạt động tương tự như thread trong mô hình bất đồng bộ
Mô hình này cho phép kết hợp chặt chẽ hơn những kênh có quan hệ, ràng buột nhau và táchrời những kênh không có liên quan với nhau
4.3 Giao diện lập trình ứng dụng (API) :
Để viết chương trình ứng dụng dễ dàng, người ta cung cấp cho chúng ta một thưviện các hàm để lập trình Chương trình ứng dụng sẽ gọi các hàm này và thông qua drivercủa thiết bị sẽ điều khiển được thiết bị phần cứng của Card Mô hình hoạt động của chươngtrình ứng dụng thông qua các hàm thư viện như sau:
SƠ ĐỒ GIAO TIẾP GIỮA API & DRIVER
SVTH: Nguyễn Hữu Phú – Trần Lê Trung Trang 40
Chương trình ứng dụng
Các hàm thư viện khác
Globalcall APICall control librariesANAPI ICAPI ISDN
Device driverOS
Firmware Network interface
Firmware Network interface