8.1.1 tổng quan
Tiờu chuẩn
Một số tiờu chuẩn về quy trỡnh phỏt triển phần mềm bao gồm:
ISO 9000-9002;
Unified Process;
• Rational RoseTM
Cụng cụ phỏt triển phần mềm hướng đối tượng được sử dụng rộng rói trờn thế giới do khả năng hỗ trợ toàn bộ quy trỡnh phỏt triển phần mềm .Ngoài ra ,nú cũn hỗ trợ quy trỡnh phỏt triển thống nhất (Unified Process).
Card Dialogic
Chi tiết về phần cứng này sẽ được trỡnh bày trong mục sau
• Dialogic’s SDK (software Development Kit)
Bộ thư viện phỏt triển phần mềm của Dialogic được cung cấp cựng với card phần cứng giỳp cho người phỏt triển cú thể khai thỏc được cỏc tớnh năng của card một cỏch tương đối rễ dàng.
Ngụn ngữ lập trỡnh Visual C++ 6.0
Ngụn ngứ lập trỡnh được sử dụng là Visual C++ vỡ nú là một ngụn ngữ được dựng rộng rói trong cụng nghiệp
Hỡnh 8-17Cấu hỡnh Phone to Phone sử dụng 2 Gateway kết nối qua Internet
8.1.2 Cấu trỳc phần cứng :
Trong mụ hỡnh chế tạo thử nghiệm Gateway tại phũng Chuyển Mạch Viện Khoa Học Kỹ Thuật Bưu Điện phần cứng card gắn trờn PC là card Dialogic D/41H .Đõy là card sử dụng kiến trỳc vi xử lý kộp cú chức năng xử lý tớn hiệu của một DSP và chức năng tớnh toỏn logic và thao tỏc với số liệu của một bộ vi điều khiển đa dụng 80186.Với cỏch tiếp cận này ,do bảng mạch cú thể tự xử lý cỏc tớnh toỏn ỏ mức thấp nờn tải trờn mỏy chủ giảm .Vỡ vậy,việc phỏt triển cỏc ứng dụng mạch hơn trở nờn dễ dàng hơn.Kiến trỳc này xử lý cỏc sự kiện thời gian thực ,quản lý dũng số liệu trờn mỏy chủ (thời gian phản ứng của hệ thống nhanh hơn ) ,giảm yờu cầu xử lý ở mỏy chủ ,xử lý DTMF và bỏo hiệu thoại và cho DSP thực hiện xử lý bỏo hiệu cho cuộc gọi tới .
Mỗi trong bốn giao diện dõy thuờ bao alalog trờn bảng mạch D/41H nhận tiếng núi ở dạng analog và bỏo hiệu thoại từ mạng PSTN .Mỗi giao diện dõy thuờ bao sử dụng lẫy nhấc đặt mỏy cú độ tin cậy cao (dựng cụng nghệ solid state nờn khụng cú tiếp xỳc cơ khớ )và mạch phỏt hiện chuụng theo tiờu chuẩn FCC-phần 68 loại B .Mạch phỏt hiện chuụng này hoạt động chớnh xỏc ngay cả khi cú dao động điện thế trong mạng
Ex.11 Ex.15 Ex.16 Ex.12 ViPGat e VipGat e Mạng Internet PST N CO line 8345467 1.0.4.20 4 1.0.4.20 2
.Mỗi giao diện cũn cú mạch bảo vệ chống điện ỏp cao và thay đổi mụi trường của mạng và cho phộp chương trỡnh ứng dụng nhấc mỏy vào bất cứ lỳc nào trong khi đổ chuụng mà khụng làm hỏng bảng mạch.
Hỡnh 8-18Sơ đồ khối card D/41H
Giao diện điện thoại cú một đường õm thanh (on-hook audio path ) để phỏt hiện thụng tin chủ gọi .Nú cũn cú thể phỏt hiện tone nhấn số ngay cả khi hạ mỏy .Khả năng này cho phộp bảng mạch hoạt động với PBX.
Tớn hiệu thoại tới (chuụng ,dũng điện mạch vũng ) được xử lý bởi giao diện đường thuờ bao và truyền tới bộ xử lý qua bus điều khiển .Bộ xử lý thụng bỏo trỡnh ứng dụng về trạng thỏi bỏo hiệu và hướng dẫn phần giao diện đường thuờ bao gửi bỏo hiệu (nhấc /đặt mỏy ) ra mạng thoại.
Tớn hiệu tiếng núi alalog nhận từ mạng được bộ giao diện đường thuờ bao lọc và làm sạch và đưa vào mạch CODEC .CODEC lọc , lấy mẫu và số hoỏ tớn hiệu õm tần analog vào và gửi tớn hiệu đó được số hoỏ sang bộ DSP của Motorola.
Line Interface Codec DSP DSP RAM Control Bus Control Processor Shared
RAM Codec Data
DRAM PC ISA Bus DAT A IRG PB X
Dựa trờn firmware của SpringWare cài đặt trong SRAM ,bộ DSP thực hiện phõn tớch tớn hiệu và một số hoạt động khỏc như sau :
Điều khiển khuếch đại tự động (Automatic gain Control ) để bự cho dao động của mức tớn hiệu õm tần đầu vào ;
• sử dụng thuật toỏn ADPCM (Adaptive Differential Pulse Code Modulation) hoặc PCM (Pulse Code Modulation )để nộn tớn hiệu thoại đó được số hoỏ và để tiết kiệm đĩa;
• phỏt hiện tone –DTMF ,MF, hoặc tone đơn hoặc tone kộp được định nghĩa bởi trỡnh ứng dụng ;
• phỏt hiện khoảng lặng nhằm xỏc định xem đường dõy cú im lặng khụng và chủ gọi khụng trả lời.
Đối với số liệu ra ,bộ DSP thực hiện hoạt động sau:
• dón số liệu õm thanh (đó được nộn )cho playback;
• điều chỉnh õm lượng và tốc độ playback theo yờu cầu của trỡnh ứng dụng hoặc người sử dụng .
• tạo tone –DTMF,MF hoặc tone đa dụng được trỡnh ứng dụng định nghĩa .
• bộ xử lý kộp cũn thực hiện quay số và giỏm sỏt trạng thỏi cuộc gọi.
• truyền tớn hiệu nhấc mỏy tới mạng thoại.
• quay số ra ngoài.
• giỏm sỏt và bỏo kết quả :đường bận hoặc nghẽn ;chặn bởi nhà vận hành mạng ;rung chuụng ,khụng ai nhấc mỏy ;hoặc nếu nhấc mỏy thỡ do người ,mỏy trả lời điện thoại,mỏy făx hay modem trả lời.
Trong khi ghi õm, bộ DSP sử dụng tốc độ số hoỏ từ 24kbps đến 64 kbps theo yờu cầu của trỡnh ứng dụng cho chất lượng tốt nhất và kớch thước hiệu quả nhất .Tục độ số hoỏ được chọn cho từng kờnh và cú thể được thay đổi khi bắt đầu ghi hoặc phỏt .Tiếng núi sau khi qua xử lý bởi DSP được truyền tới mỏy chủ PC và được lưu giữ ở đú.Khi phỏt một file lưu trờn đĩa ,bộ xử lý lấy thụng tin thoại từ mỏy chủ PC và gửi tới bộ DSP .Bộ DSP chuyển đổi một file sang tiếng nú số hoỏ .Bộ DSP gửi tiếng nú dạng số và bỏo hiệu trả lời tới CODEC .CODEC chuyển sang tớn hiệu dạng analog để truyền trong mạng thoại.
Bỏo hiệu (nhấc /đặt mỏy ,chuụng ...)được gửi tới bộ xử lý và truyền tới trỡnh ứng dụng qua RAM 2 cổng và ISA Bus của mỏy chủ PC.
Bộ vi xử lý điều khiển tất cả hoạt động của bảng mạch D/41H qua bus nội bộ ,dịch và thực hiện cỏc cõu lệnh từ mỏy chủ PC .Nú xử lý cỏc sự kiện thời gian thực ,quản lý dũng số liệu tới mỏy chủ PC,làm tăng nhanh thời gian đỏp ứng của hệ thụng.
Trao đổi thụng tin giữa bộ vi xử lý và mỏy chủ PC được thực hiện qua RAM chung 2 cổng .RAM đúng vai trũ bộ đệm vào ra do đú tăng hiệu suất truyền file từ /đến đĩa.RAM được nối với maý chủ PC qua bus ISA.Tất cả hoạt động được thực hiện với ngắt nhằm đỏp ứng yờu cầ về thời gian thực của hệ thống .Khi khởi tạo hệ thống ,firmware của SpringWare được tải từ mỏy chủ PC xuống RAM mó /số liệu và RAM DSP .Cơ chế tải firmware làm cho việc nõng cấp cải tiến được dễ dàng hơn.
8.2 Giải phỏp thiết lập bộ đệm .
Một board thoại 4 kờnh của Dialogic (vớ dụ như D41H ) cú bốn tài nguyờn xử lý thoại, thường được sử dụng cho 4 kờnh đọc /ghi thoại tương tự .
Giải phỏp bộ đệm định lại tài nguyờn xử lý thoại và gỏn kờnh 1 và 2 để đọc ,kờnh 3 và 4 để ghi, từ đú cho phộp hai cổng thoại song cụng.
Dữ liệu thoại PCM (ghi và đọc riờng biệt ) từ một ứng dụng Gateway Internet được gửi thẳng đến cỏc tài nguyờn trờn board ,nơi nú được xử lý và đưa ra như tớn hiệu thoại analog tiờu chuẩn .Ngược lại ,một tớn hiệu thoại analog tiờu chuẩn nhận được từ mạng telephone (CO hoặc PBX) được phõn chia bởi board thoại thành dữ liệu đọc và ghi và được gửi thẳng đến ứng dụng Gateway .
Một ứng dụng Internet GateWay điển hỡnh thực hiện cỏc chức năng sau:
• Lấy dữ liệu thoại từ Internet ,chuyển từ dữ liệu thoại IP sang PCM, và chuyển dữ liệu PCM đến board thoại nơi nú được đọc ra ở mỏy điện thoai.
• Ghi dữ liệu thoại analog từ điện thoại, chuyển nú đến ứng dụng ,đổi từ PCM sang dữ liệu thoại IP ,và chuyển dữ liệu IP lờn Internet .
Hỡnh 8-19Hỡnh Sơ đồ khối của giải phỏp bộ đệm
Telephone Decoder Decorder DataStreaming DataStreaming Channel 3 Firmware Buffer Channel 3 Firmware Buffer Echo Cancel Channel 1 A na lo g V oic e Analog Voice Dialogic Voice Board
Play Record PCM PCM Application Voice Over IP Voice Over IP In te rn et
Chất lượng của Internet Telephony GateWay được cải thiện bởi khả năng truyền dữ liệu thoại của nú giưó board thoại Dialogic và ứng dụng nhanh
hết mức cú thể .Cú hai phương phỏp chuyển dữ liệu thoại: luồng UIO (phương phỏp 1 ) và luồng đọc ghi trực tiếp-PRDS (phương phỏp 2 ).
Hỡnh 8-20Hỡnh Gateway cơ bản
8.2.1 Phương phỏp truyền dữ liệu qua 3 bộ đệm.
Luồng UIO là một phương ỏn thuộc giải phỏp bộ đệm (hỡnh 3 ) .Dữ liệu thoại nhận được từ mạng thoại (ghi ) được ghi vào bộ đệm firmware của board thoại .Driver thoại sau đú điều khiển việc chuyển dữ liệu từ bộ đệm firmware đến một bộ đệm của driver .Cỏc bộ đệm Driver được tạo ra trong bộ nhớ của người dựng sử dụng hàm
dx_setparm() , và cú thể được gỏn bất kỳ giỏ trị nào trong khoảng 256 byte đến 1 KB.Trong quỏ trỡnh ghi ,khi bộ đệm driver đó đầy ,driver thoại gọi hàm write() của người dựng (được chỉ ra trong hàm dx_setuio()).Thụng thường , hàm write() được sử dụng để lưu dữ liệu trong bộ đệm ứng dụngđể xử lý.
Dữ liệu thoại nhận được từ Internet (đọc ) được lưu vào trong bộ đệm ứng dụng .Trong khi đọc , khi driver thoại cần dữ liệu, một hàm read() của người dựng (được chỉ ra trong hàm dx_setuio() ) được sử di\ụng để lưu dữ liệu đến bộ đệm của driver (Nếu khụng cú dữ liệu ,driver thoại chốn khoảng lặng vào bộ đệm firmware ). Driver thoại
Internet gat eway Application
Rescource1 Rescource3 Rescource2 Rescource4 CO or PBX Internet Channel1 Channel 2 PCM Record PCM Play PCM Play PCM Record T elephone T elephone
sau đú chuyển dữ liệu đến bộ đệm firmware nơi nú được xử lý và gửi đi khỏi board thoại đến mạng telephone.
Trễ tổng thể qua Internet GateWay cú thể được giảm bớt nhờ điều chỉnh cỡ bộ đệm của cả firmware và driver .Để hoạt động tối ưu ,cỡ của bộ đệm driver phải được đặt ở giỏ trị ớt nhất gấp đụi cỡ bộ đệm firmware. Vớ dụ khi sử dụng cỡ bộ đệm firmware là 512 byte và cỡ bộ đệm driver là 1.5kb thỡ trễ xấp xỉ 225 ms.
Hỡnh 8-21Hai phương phỏp truyền dữ liệu
Tốc độ vi xử lý của mỏy chủ cũng như cỏc chương trỡnh cựng chạy đồng thời sẽ cú ảnh hưởng đến khả năng giỏ trị cỏc bộ đệm cú thể đặt thấp đến đõu .Cỏc thử nghiệm ban đầu chỉ ra cỡ tối thiểu cho bộ đệm driver là 512 và cỡ tối thiểu của bộ đệm firmware là 256 với vi xử lý pentium (90Mhz hoặc cao hơn ).
internet Application Buffer Us e r Me mo ry Inte rne t Ga te wa y Appica tio n Firmware Buffer Us e r Me mo ry Dia lo gic Vo ice Bo a rd Driver Buffer Us e r Me mo ry Telephone Application Buffer Us e r Me mo ry Inte rne t Ga te wa y Appica tio n Firmware Buffer Us e r Me mo ry Dia lo gic Vo ice Bo a rd Telephone internet
8.2.2 Phương thức truyền dữ liệu qua hai bộ đệm.
Theo hỡnh (3) luồng đọc ghi trực tiếp (PRDS ) khụng sử dụng bộ đệm driver như trong phương phỏp 1 .Thay vào đú ,một khu vực bộ nhớ chia sẻ (cũng được gọi là bộ đệm ứng dụng ) được tạo ra và được truy nhập bởi cả ứng dụng và driver .Bộ nhớ chia sẻ bao gồm một mào đầu (header) và cú thể cú đến 32 khối nhớ , mỗi khối nhớ tương đương với cừ của bộ đệm firmware .Cỏc hàm API được sử dụng để cung cấp bộ nhớ chia sẻ.
Dữ liệu thoại nhận được từ mạng telephone (ghi ) được lưu vào trong board thoại trong một bộ đệm firmware .Việc ghi được khởi tạo sử dụng hàm
dx_reciottdata() .Cỏc điều khiển của driver thoại chuyển dữ liệu từ bộ đệm firmware đến bộ nhớ cha sẻ .Khi mà bộ đệm firmware đó đầy ,driver định vị trớ trong bộ nhớ chia sẻ để lưu dữ liệu ,chuyển dữ liệu,sau đú thụng bỏo cho ứng dụng bằng một event.
Dữ liệu thoại nhận được tử Internet (đọc ) được lưu trong bộ nhớ chia sẻ.Việc đọc được khởi tạo sưe dụng hàm dx_playiottdata() .Driver định vị địa chỉ trong bộ nhớ chia sẻ nơi dữ liệu được lưu ,sau đú chuyển dữ liệu đến bộ đệm firmware .Vớ dụ ,sử dụng cỡ bộ đệm firmware là 240 byte ,trễ xấp xỉ là 125 ms .Bằng cỏch đặt cỡ của bộ đệm firmware là 120 byte ,trễ được giảm xuống cũn khoảng 85 ms.
8.3 Triệt tiếng vọng
Đặc tớnh triệt tiếng vọng của giải phỏp bộ đệm đỏp ứng được ỏc yờu cầu đặc trưng của GateWay Internet Telephony . Trong mụi trường Internet , tiếng vọng được tạo ra trong GateWay và trong mạng thoại cú thể bị trễ .Bộ triệt tiếng tiờn tiến của Dialogic sẽ triệt cỏc tiếng vọng bị trễ đến 16ms. cỏc cải tiến khỏc bao gồm việc xử lý khụng tuyến tớnh và tăng cường việc phỏt hiện nhiều người cựng núi.
8.4 Phần mềm VIPGate8.4.1 Giới thiệu chung 8.4.1 Giới thiệu chung
Phần mềm VIPGate được xõy dựng dựa trờn phần mềm demo Phone IP kốm theo Card Dialogic D/41H.Do đõy là card đa dụng thế hệ cũ sử dụng trong Voice Mail khụng phải là card chuyờn dụng cho VoIP nờn chỳng khụng được tớch hợp chuẩn H.323 vào phần cứng của bảng mạch. Bản thõn Card chỉ hỗ trợ nộn PCM 64kb (theo luật A hoặc à)nờn khụng thớch hợp với việc truyền tớn hiệu thoại trờn mạng Internet .Vỡ vậy phần mềm VIPGate phải thực hiện hầu hết cỏc chức năng của một Gateway VoIP như bỏo hiệu ,nộn ,giải nộn và giao tiếp.Cỏc cụng việc chớnh của nhúm phỏt triển phần mềm là :
• phỏt triển phần truyền số liệu qua TCP/IP.
• tớch hợp CODEC tốc độ thấp vào VIPGate
• phỏt triển phần xử lý bộ đệm cho 2 kờnh thoại
• lập giao diện thõn thiện
8.4.2 Cấu trỳc chương trỡnh
8.4.2.1 Điều khiển xử lý cuộc gọi
Hỡnh Thể hiện cấu trỳc phần mềm VIPGate 3.0 . Thụng qua API của Dialogic module này thực hiện lệnh lấy cỏc sự kiện của từng kờnh thoại trờn card D41/H qua đú thiết lập trạng thỏi và điều khiển thực hiện cỏc hoạt động tương ứng .Cỏc trạng thỏi chớnh của kờnh như sau:
Đầu tiờn kờnh ở trạng thỏi rỗi và đợi tớn hiệu chuụng .Khi cú tớn hiệu chuụng từ tổng đài cấp đến kờnh chuyển sang trạng thỏi đợi tớn hiệu DTMF chứa số mỏy bị gọi .
Số mỏy bị gọi nhận được sẽ được truyền sang phớa GateWay đối phương , đồng thời cho phộp mó hoỏ tớn hiệu thoại trờn card theo chuẩn G.711.
Khi nhận được õm bỏo bận từ tổng đài gửi tới cuộc gọi sẽ được kết thỳc.
Hỡnh 8-22Cấu trỳc phần mềm VIPGate. Truyền dữ liệu Dữ liệu điều khiển TCP Dữ liệu kiểm tra RTCP -tín hiệu thoại RTP Điều khiển ,xử lý cuộc gọi Nhận chuông Thu phát tín hiệu DTMF mã hoá Nhận âm báo bận Nén tín hiệu thoại GSM 6.1.0 L&H Codec DSP Group True Speech codec Mạng IP PST N
Nhân tham số Khởi động Giao diện với ng ời xử dụng
Tín hiệu thoại Tín hiệu điều khiển
8.4.2.2 Nộn Tớn hiệu thoại.
Tớn hiệu thoại sau khi được mó hoỏ G.711 thành luồng tớn hiệu 64kbit/s tiếp tục được nộn thành luồng tớn hiệu thấp hơn. Cỏc chuẩn nộn cú thể xử dụng là:
• Lernout & Hauspie (L&H) 4.8 kbit/s
• GSM 6.10 13kbit/s
• DSP Group True Speech 8 kbit/s
• G.723.1 (5.6 hoặc 6.3 kbit/s)
8.4.2.3 Điều khiển truyền dữ liệu trờn mạng IP
Cú hai phương thức truyền dữ liệu được sử dụng:
Dữ liệu bỏo hiệu được truyền theo giao thức TCP . Giao thức này bảo đảm truyền đầy đủ , chớnh xỏc thụng tin sang Gateway đối phương.
Tớn hiệu thoại sau khi được mó hoỏ , nộn xuống tốc độ thấp sẽ được truyền trờn mạng theo giao thức RTP. Dữ liệu truyền theo giao thức này cú độ chớnh xỏc khụng bằng TCP tuy nhiờn chiếm thời gian nhỏ đỏp ứng được yờu cầu sử lý thời gian thực của tớn hiệu thoại. Giao thức RTCP dựng để kiểm tra quỏ trỡnh chuyển dữ liệu , thống kờ số gúi đó gửi đi và số gúi đó nhận được.
8.4.3 Đặc tớnh kỹ thuật của VIPGate8.4.3.1 Tớnh năng và yờu cầu kỹ thuật 8.4.3.1 Tớnh năng và yờu cầu kỹ thuật
VIPGate làm cầu nối giữa mạng PSTN và mạng Internet ,thực hiện việc chuyển dạng PCM G.711 sang dạng tốc độ thấp và truyền tải qua mạng Internet .
Yờu cầu đối với nền PC Hệ điều hành : Window NT CPU: Pentium 200 MHz (trở lờn) RAM :>=32 MB
Modem : >= 33.6 kbps DialogicCard : D21H,D41H. Tớnh năng của VIPGate
• L&H Codec
• Chuyển đổi địa chỉ E164 sang IP