Mụi trờng phỏt triển

Một phần của tài liệu do-an-nghien-cuu-ung-dung-cong-nghe-dien-thoai-tren-internet (Trang 88)

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 Bu Đ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 .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

Ex.11 Ex.15 Ex.16 Ex.12 ViPGa te VipGat e Mạng Internet PST N CO line 8345467 1.0.4.20 4 1.0.4.20 2

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.

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 :

Line Interface CODEC DSP DSP RAM Control Bus Control Processor Shared RAM Codec Data DRAM PC ISA Bus DAT A IR G PB X

Đ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; (adsbygoogle = window.adsbygoogle || []).push({});

• đ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 lu giữ ở đú.Khi phỏt một file lu 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 để lu dữ liệu trong bộ đệm ứng

dụngđể xử lý.

Dữ liệu thoại nhận đợc từ Internet (đọc ) đợc lu 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 để lu 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 sau đú

Internet gateway Application (adsbygoogle = window.adsbygoogle || []).push({});

Rescource1 Rescource3 Rescource2 Rescource4 CO or PBX Internet Channel1 Channel 2 PCM Record PCM Play PCM Play PCM Record Telephone Telephone

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 Use r Me mory Inte rne t Gate way Appication Firmware Buffer Use r Me mory Dialogic Voice Board Driver Buffer Use r Me mory Telephone Application Buffer Use r Me mory Inte rne t Gate way Appication Firmware Buffer Use r Me mory Dialogic Voice Board 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 lu 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ẻ để lu 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 lu trong bộ nhớ chia sẻ.Việc đọc đợc khởi tạo se dụng hàm dx_playiottdata() .Driver định vị địa chỉ trong bộ nhớ chia sẻ nơi dữ liệu đợc lu ,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 trng 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 m)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à :

• Viết chơng trỡnh xử lớ bỏo hiệu cuộc gọi nh chuụng ,bận nhấc hạ mỏy ...

• Phỏt triển bộ nộn thoại tốc độ thấp theo chuẩn G.723.1

• phỏt triển phần truyền số liệu qua TCP/IP.

• 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 PSTN

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à: (adsbygoogle = window.adsbygoogle || []).push({});

• 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

Một phần của tài liệu do-an-nghien-cuu-ung-dung-cong-nghe-dien-thoai-tren-internet (Trang 88)