1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn tốt nghiệp tìm hiểu mô hình điện thoại qua mạng

59 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 1,26 MB

Nội dung

Trang LUẬN VĂN TỐT NGHIỆP CHƯƠNG I TÌM HIỂU MƠ HÌNH ĐIỆN THOẠI QUA MẠNG I.1 CÁC MƠ HÌNH ĐIỆN THOẠI I.1.1 MÁY TÍNH ĐẾN MÁY TÍNH Trong mơ hình hai thuê bao sử dụng máy tính nối vào mạng IP thiết bị đầu cuối Tiếng nói mã hố sau nén q trình nhận liệu hồn tốn giống với quy trình ngược lại giải nén, giải mã phần mềm Trong mơ hình địi hỏi hai thuê bao cần phải có soundcard, microphone, loa phần mềm giống nhau.[1] IP Máy tính Máy tính Hình I.1 : Mơ hình PC - PC Máy tính Gateway I.1.2 MÁY TÍNH ĐẾN ĐIỆN THOẠI HOẶC ĐIỆN THOẠI ĐẾN MÁY TÍNH Trong mơ hình này, th bao sử dụng máy tính nối mạng với mạng cịn th bao sử dụng điện thoại mạng PSTN/ISDN/GSM/TDM Sử dụng gateway để chuyển tiếng nói mạng IP thành tiếng nói mạng PSTN trao đổi thơng tin hai mạng Như vậy, máy tính phải đầy đủ thiết bị Soundcard, loa, microphone phần mềm thông qua server mạng IP để kết nối với mạng PSTN thơng qua Geteway IP PSTN Điện thoại Hình I.2 : Mơ hình Máy tính – Điện thoại Đề PSTN Điện thoại IP Gateway PSTN Gateway Điện thoại I.1.3 ĐIỆN THOẠI ĐẾN ĐIỆN THOẠI Trong mơ hình này, hai th bao sử dụng điện thoại bình thường mạng IP sử dụng trường hợp gọi đường dài Gateway sử dụng hai đầu để chuyển đổi liệu mạng với nhau.[1] tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang Hình I.3 : Mơ hình Điện thoại – Điện thoại I.2 YÊU CẦU ỨNG DỤNG TRUYỀN ÂM THANH TRÊN MẠNG LAN Trong phần phân tích yêu cầu xây dựng ứng dụng truyền âm mạng LAN : Từ ba mơ hình em nhận thấy mơ hình địi hỏi trình nghiên cứu thiết bị phức tạp, địi hỏi phải đầu tư cơng nghệ thực Nên đồ án thức theo mơ hình PC – PC, đơn giản khơng cần đầu tư thiết bị mới, tận dụng thiết bị có sẵn điều quan trọng thử nghiệm hoàn chỉnh phạm vi đồ án Vấn đề đặt với hệ thống mạng LAN, WAN với tài nguyên sẵn có xây dựng chương trình truyền tiếng nói với thời gian thực cho phép từ máy sang máy khác (point to point) với số yêu cầu thích hợp giống việc xử lý truyền tiếng nói thơng tin liên lạc (điện thoại hữu tuyến) Chương trình sử dụng giao thức TCP/IP giao thức phổ biến tin cậy để kết nối truyền tiếng nói Do sử dụng giao thức TCP giao thức có liên kết nên dẫn đến độ trễ lớn với ứng dụng mạng LAN chấp nhận Ngay tiếng nói thu qua số xử lý mã hố tiếng nói nén máy, tiếng nói truyền tới máy cần kết nối qua xử lý ngược so với lúc thu giải nén giải mã để phát loa Chương trình cho phép kết nối hai máy tạo mơ hình điện thoại máy tính điện thoại hữu tuyến thông thường Bất kỳ máy mạng chế độ chờ hay chế độ chạy (background) gọi máy P-SERVER; máy chế độ gọi (active) gọi PCLIENT Như máy mạng P-SERVER P-CLIENT Trên mơi trường mạng, muốn nói chuyện người máy đó, tiến hành việc gọi liên kết Việc gọi liên kết tiến hành việc xác định địa IP máy mà cần liên kết Sau chờ việc xác lập liên kết Ở máy gọi có thơng báo cho người sử dụng biết có người khác muốn nói chuyện Tùy theo người định có chấp nhận hay khơng Nếu chấp nhận liên kết xác lập hai bên tiến hành trao đổi thơng tin với Trong q trình trao đổi thơng tin, máy truyền tiếng nói người sử dụng đồng thời nhận liệu âm máy liên kết Khi nói chuyện xong, liên kết bị hủy bỏ chương trình kết thúc Nếu máy gọi khơng có người trả lời sau thời gian chờ vượt giới hạn liên kết bị huỷ bỏ Vì liệu truyền nhận chương trình liệu dạng liên tục âm có yêu cầu đặt sau: Bảo đảm tính mạch lạc liệu Tiếng nói q trình thơng tin phải rõ ràng, liền lạc, khơng bị ngắt quãng Các yêu cầu đặt nhiệm vụ mà phải giải việc xây dựng chương trình Đối với liệu âm thanh, phải xem xét thông số q trình lấy mẫu đầu vào Các thơng số đặc trưng : tần số lấy mẫu, số bit biểu diễn cho điểm lấy mẫu, kênh lấy mẫu sử dụng kênh (mono) hay hai kênh (stereo) Do phải tổ chức kích thước buffer âm cho phù hợp với việc truyền nhận đạt tốc độ cao Một vấn đề khác đặt với liệu âm việc nhận phát đầu ra, phải quan tâm đến việc xử lý loại bỏ tín hiệu nhiễu giúp cho âm rõ ràng, trung thực Do việc truyền nhận liệu môi trường mạng nên phải quan tâm đến tốc độ, lưu lượng trao Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang đổi liệu, thời gian truyền nhận để đưa cách giải cho phù hợp Ngoài vấn đề trên, số yêu cầu khác đặt cho ứng dụng : chế tạo lập liên kết, việc chọn lựa dạng format liệu, định thông số thời gian Tất nhiệm vụ thực thi phải thực thông qua giao diện dễ dàng cho người sử dụng.[3] Trường hợp mở rộng hệ thống cho mạng Internet cần kết nối server mạng với tổng đài mạng PABX, yêu cầu địi hỏi phức tạp cần có trang thiết bị để thử nghiệm Bởi đồ án em nghiên cứu cách thức truyền tiếng nói mạng nội CHƯƠNG II KHẢO SÁT CÁC GIAO THỨC TRUYỀN THÔNG II.1 KHÁI NIỆM CƠ BẢN GIAO THỨC TCP/IP Trong hệ thống mạng Internet, máy có tên địa IP (Internet Protocol) Tên hay địa IP xác định máy hệ thống mạng Internet Giữa tên máy địa IP chuyển đổi thơng qua hàm Địa IP biểu diễn số 32 bits Mỗi giao diện mạng nút có hỗ trợ ngăn xếp IP gán địa IP Địa IP gồm phần : số mạng(netid) số máy chủ (hostid) Những bits quan trọng dùng để xác định số lượng bits dùng cho netid hostid Có lớp địa xác định A,B,C,D E Trong đó, lớp A,B,C chứa địa gián Lớp D dành riêng cho kỹ thuật Multicasting sử dụng giao thức đặc biệt để truyền thơng điệp đến nhóm nút chọn lọc Lớp E dành riêng cho ứng dụng tương lai.[5] Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang L LUẬN VĂN TỐT T NGHIỆ ỆP Hình III.1 Các lớp p đại IP Hình II.2 TCI/IP mơ m hình OS SI m riêngg biệt Các kiểu k lớp địaa IP choo thấy số Netidd nhận dạngg cho mạng lư ượng mạng g số lượn ng nút lớp khác k Bảng cho thấy số s lượng m mạng số lượng l nút có c thể m lớp địa : Lớp địa c A B C Số lượng mạnng 127 16.383 2.097.151 Số lượng nút 166.777.241 65.534 254 g lớp A dùnng cho mạnng diện rộn ng Trường netid có bits nên có c thể có Mạng 127 mạng Mạng M lớp B mạng cóó kích thướ ớc trung bìnhh thích hợp h cho cácc tổ chức LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang LUẬN VĂN TỐT NGHIỆP có quy mô lớp vừa Mạng lớp C dùng quan nhỏ, mạng có khơng 254 nút Con số 32 bits biểu thị chữ số thập phân tương ứng giá trị byte tạo thành địa IP Những số thập phân cách dấu chấm (.) Một ví dụ tên máy địa IP máy : Hostname : viethung IP Address : 192.168.0.55 II.1.1 KHÁI NIỆM SOCKET Socket đơn vị cấu trúc truyền thông chiều Chúng đọc hay ghi lên Tuy nhiên socket thành phần mối máy mạng máy tính thao tác đọc ghi thao tác trao đổi liệu ứng dụng nhiều máy khác Socket điểm kết nối cuối cho phép ứng dụng gắn vào mạng Khái niệm socket cung cấp thư viện chứa tất hàm yêu cầu cho chương trình mạng Khi ứng dụng yêu cầu dịch vụ mạng, gọi q trình tự tập hợp thư viện để quản lý hoạt động mạng Hai loại socket có sẵn stream datagram.[5] Những socket stream dùng cho TCP (Transmission Control Protocol), socket datagram dùng UDP (User Datagram Protocol) Máy A Port Máy B Mối nối Port TCI/IP Interface Hình II.3 Các socket port mối nối TCP/IP Số hiệu cổng 11 13 15 17 20 21 23 25 37 42 49 Đề Mô tả Reserved Management Entry Remote Job Entry Echo Discard Systat Daytime Netstat Quoted(quote of the day) FTP data FTP control Telnet SMTP Time Host name server Login host protocol tài : Xây dng ưứg duụg truyeề thg â treê maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang LUẬN VĂN TỐT NGHIỆP 53 80 102 103 104 111 139 160-223 Domain name server World wide web HTTP ISO-TSAP x.4000 X.4000 sending server Sun RPC NetBIOS session source Reserved Ghi : Trị số cổng ứng dụng : - Các ứng dụng chuẩn : – 999 - Các ứng dụng không chuẩn : 1000 – 64000 II.1.2 GIAO THỨC IP Internet protocol (IP) dạng giao thức truyền tin thiết kế cho mạng chuyển mạng gói Vai trị IP tương đương với vai trò tầng mạng mơ hình OSI Giao thức IP đảm nhiệm việc chuyển gói mạch liệu (datagram) từ địa nguồn đến địa đích Địa IP có địa cố định (4 byte) dùng để xác định trạm làm việc tham gia vào việc truyền, nhận liệu Trong trường hợp mạng truyền tin truyền gói liệu có kích thức nhỏ, giao thức IP đảm nhiệm chức chia nhỏ gói liệu có kích thước lớn trước truyền gộp chúng lại chúng sau nhận được.[5] Giao thức IP thiết kế với chức chuyển gói bit, gọi internet datagram từ địa nguồn đến địa đích Đây giao thức theo kiểu không liên kết, nghĩa khơng có giai đoạn thiết lập liên kết trước truyền liệu, khơng có chế bảo đảm thơng tin tới đích an tồn, khơng có chế điều khiển luồng liệu Trên thực tế việc thơng báo lỗi đường truyền thực nhờ giao thức khác có tên ICMP( Internet Control Message Protocol) Địa IP nói trên, chuỗi bit có độ dài byte, phân chia làm lớp bit dùng làm định danh lớp địa II.2 GIAO THỨC TCP Giao thức TCP giao thức dùng cho tầng tầng IP Đối với mô hình OSI, ta thấy tầng TCP có vai trò tương ứng với tầng giao vận tầng phiên Khác với IP, TCP giao thức có liên kết (connection oriented), nghĩa thiết phải có giai đoạn thiết lập liên kết giữ cặp thực thể TCP trước chúng có trao đổi liệu với Giao thức TCP cung cấp khả truyền liệu cách an toàn thực thể mạng Nó cung cấp chức nhằm kiểm tra tính xác liệu gửi đến gửi lại liệu có lỗi xảy ra.[5] Đơn vị liệu TCP gọi segment Trong segment có cặp tham số số hiệu cổng trạm nguồn số hiệu cổng trạm đích Mỗi tiến trình ứng dụng trạm truy cập dịch vụ TCP thông qua cổng Một cổng kết hợp với địa IP tạo thành socket mạng Dịch vụ TCP cung cấp nhờ liên kết logic cặp socket, socket tham gia liên kết với nhiều socket xa khác Trước truyền liệu chúng Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com L LUẬN VĂN TỐT T NGHIỆ ỆP Trang th hiết lập liên n kết khii khơng có nhu cầu tru uyền liệu liiên kết đđược giải phòng ứ dụng TCP T gồm haai phần cllient servver Mỗi ứng L đồ sau minh Lưu m họa bước cầnn thiết để cáác ứng dụng client server giaoo tiếp với n : nh II.4 Tạoo kết nối giữ ữa client vàà server theoo giao thức TCP Hìn H THỨC CÀ ÀI ĐẶT ỨN NG DỤNG G TCP SERV VER III.2.1 CÁCH Ứ dụng TCP server làm Ứng l việc theeo qui trìnhh sau: h socket để tạo socket Gọi hàm Gọi hàm h bind đểể kết buộc ssocket với m port, đốối với giao thức ứng ứ dụng ch huẩn có hằn ng số định nghĩa sẵn w winsock cho o port ggiao thức h listen để đ chờ đến kkhi có client c nối vvào port Gọi hàm Khi có c clien nt nối vào tthì hàm listeen trả điều khiển về, ứng ứ dụng seerver gọi h accept để hàm đ xác nhậnn mối nối củủa client LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com L LUẬN VĂN TỐT T NGHIỆ ỆP Trang Gọi c hàm gử ửi hay nhận liệu để trao đổi thhơng tin vớii client, ví dụ send, reecv k hồàn tất q trình trao đổi liệệu, ứng dụnng server gọi g hàm Sau cllosesocket để đ đóng soccket tạo Hình III.5 Sơ đồ giiao tiếp giữaa server với client LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com L LUẬN VĂN TỐT T NGHIỆ ỆP Trang III.2.2 CÁCH H THỨC CÀ ÀI ĐẶT ỨN NG DỤNG G CLIENT T TCP Ứ dụng cllient TCP lààm việc theeo qui trình sau : Ứng - Gọi hàm sockket để tạo m socket - Gọi hàm connnect để nốii vào serverr ới server, víí dụ - Gọi hàm gửii hay nhận liệu để trao đổi thhông tin vớ hààm send, reccv - Saau hồn h tất qu trình traao đổi liiệu, ứng dụụng client gọi hàm closesocket để đ đóng soccket tạo Hình II.6 Sơ đồ giaoo tiếp client với serrver G chúù: Ghi b giốống chho ứng dụng client server viết Các bước W Windows NT UNIX X Tuy nhiêên, với ứngg dụng viết UNIX X khơngg cần gọi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 10 hàm WSAStartup, WSACleanup để khởi tạo thư viện quản lý socket đóng phận Lý do, với UNIX phận quản lý socket hệ điều hành nạp sẵn II.3 GIAO THỨC UDP Giao thức UDP cung cấp khả broadcast hệ thống mạng TCP/IP Chúng ta cần cài đặt ứng dụng client server Ứng dụng client có nhiệm vụ gửi thơng báo đến tất instance ứng dụng server chạy hệ thống mạng.[5] II.3.1 CÁCH CÀI ĐẶT ỨNG DỤNG SERVER UDP Ứng dụng server UDP cài đặt đơn giản ứng dụng TCP Chúng ta cần bước sau : - Gọi hàm socket để tạo socket - Gọi hàm bind để kết buộc socket với port, giao thức ứng dụng chuẩn có số định nghĩa sẵn winsock cho port giao thức - Gọi hàm gửi hay nhận liệu để trao đổi thơng tin với client, ví hàm sendto, recvfrom - Sau hồn tất q trình trao đổi liệu, ứng dụng server gọi hàm closesocket để đóng socket tạo II.3.2 CÁCH CÀI ĐẶT ỨNG DỤNG CLIENT UDP Ứng dụng client UDP thực bước sau : - Gọi hàm socket để tạo socket - Gọi hàm setsockopt để làm cho socket có khả broadcoast - Gọi hàm gửi hay nhận liệu để trao đổi thơng tin với server, ví dụ hàm sendto, recvfrom - Sau hoàn tất trình trao đổi liệu, ứng dụng client gọi hàm closesocket để đóng socket tạo Ghi chú: Ngồi bước trên, ứng dụng viết Windows NT (kể client server) phải gọi hàm WSAStartup để khởi tạo thư viện liên kết động Windows Socket DLL hàm WSACleanup để đóng thư viện Tuy nhiên, ứng dụng viết UNIX phận quản lý socket hệ điều hành nạp sẵn khơng cần gọi hàm WSAStartup, WSACleanup Windows NT Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 45 LUẬN VĂN TỐT NGHIỆP Sau lưu đồ giải thuật modul mã hố : Bắt đầu Play buffer có liệu sai Kết thúc Lấy khung tiếng nói từ Record buffer Mã hoá theo phương pháp PCM Chép khung tiếng nói mã hố vào Sendbuffer Kích hoạt modul truyền Hình V.4 Lưu đồ giải thuật modul mã hố Modul giải mã tiếng nói kích hoạt sau modul nhận liệu từ máy xa Loại bỏ Header, liệu thừa đưa vào buffer nhận Modul giải mã xá định phương pháp giải mã tương ứng với phương pháp mã hoá sử dụng bên truyền Sau chuyển liệu mã hố vào buffer phát tiếng nói Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 46 LUẬN VĂN TỐT NGHIỆP Lưu đồ giải thuật modul giải mã sau : Bắt đầu Buffer nhận có liệu sai Kết thúc Lấy khung tiếng nói từ buffer nhận Mã hố theo phương pháp PCM Chép khung tiếng nói vào buffer phát Hình V.5 Lưu đồ giải thuật modul mã hoá V.2.5 MODUL TRUYỀN, NHẬN ÂM THANH Modul có nhiệm vụ giao tiếng máy tính với mạng IP Sử dụng giao thức TCP/IP Khi buffer truyền có liệu cần truyền đi, modul truyền kích hoạt liệu cần truyền có thêm header thơng tin cần thiết khác Modul truyền có mức ưu tiên bình thường Khi có liệu đến, winsock gửi thơng báo đến chương trình, chương trình nhận thơng báo kích hoạt modul nhận Modul nàu có nhiệm vụ nhận liệu, kiểm tra, loại bỏ liệu thừa với header Sau chuyển liệu vào buffer nhận kích hoạt modul giải mã Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 47 LUẬN VĂN TỐT NGHIỆP Lưu đồ giải thuật modul truyền nhận : Bắt đầu Buffer truyền có liệu sai Kết thúc Lấy khung tiếng nói từ buffer truyền Truyền theo giao thức TCP Hình V Lưu đồ giải thuật modul truyền Bắt đầu Có goi tin chưa nhận sai Kết thúc Dùng giao thức TCP Lấy gói tin Kích hoạt modul giải mã Hình V.7 Lưu đồ giải thuật modul nhận V.3 THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH CPHONE Chương trình thực với điều kiện hai máy đàm thoại phải chạy chương trình ứng dụng Giao diện chương trình : Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 48 Hình V.8 Giao diện chương trình CPhone Khi muốn bắt đầu đàm thoại, người sử dụng vào menu kết nối click vào nhập IP Điều gọi hàm tạo kết nối hai máy PC, hàm hiển thị cửa sổ yêu cầu người sử dụng nhập vào IP máy cần kết nối Sau nhập xong click connect, thông điệp yêu cầu kết nối gửi đến máy cần kết nối Đề tài : Xây dng ưứg duụg truyeề thg aâ treê maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 49 LUẬN VĂN TỐT NGHIỆP Hình V.9 Nhập địa IP Nếu khơng có tín hiệu chưa cho phép trình đàm thoại Khi có tín hiệu phản hồi hàm khởi động sound card, card mạng socket gọi thực cuốc đàm thoại Hình V.10 Cuộc đàm thoại thực IV.4 KẾT QUẢ THỰC NGHIỆM&NHẬN XÉT ĐÁNH GIÁ CHƯƠNG TRÌNH IV.4.1 KẾT QUẢ THỰC NGHIỆM Mơi trường thử nghiệm đồ án mạng LAN, sử dụng công nghệ Ethernet 10 Mbps Hiện truyền liệu máy tính mạng LAN cịn ít, phần Đề tài : Xây dng ưứg duụg truyeề thg aâ treê maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 50 LUẬN VĂN TỐT NGHIỆP lớn tài ngun dải thơng mạng cịn chưa sử dụng Phần giải thơng cịn lại lớn để truyền tín hiệu tiếng nói, lý nên độ trễ point – to – point mạng nhỏ tương đối đồng (hầu hết < 10ms), giá trị nhỏ so với mức chấp nhận 200ms Vì chất lượng đàm thoại trường hợp phụ thuộc vào chất lượng sound card IV.4.2 ĐÁNH GIÁ KẾT QUẢ Qua thử nghiệm, em thấy chất lượng tiếng nói đầu khơng có khác biệt so với chất lượng tiếng nói đầu vào, chất lượng âm sau truyền chấp nhận Như du đánh giá qua cảm nhận tai mà nên chưa thể khảng định chất lượng tiếng nói sau truyền có đạt tiêu chuẩn cho phép hay khơng Nếu sử dụng máy đo thông số liên quan đến chất lượng tiếng nói, phương pháp đảm bảo đánh giá xác chất lượng tiếng nói điều kiện chấp nhận Nhưng luận văn dừng lại mức độ đồ án tốt nghiệp điều kiện khơng cho phép nên chưa có thiết bị đo thông số tiếng nói Vì vậy, chưa thể đánh giá chất lượng âm cách xác So với số dịch vụ truyền âm thoại : VoIP (dịch vụ 171) , Internet Telephony chất lượng âm tốt Vì mơ hình Cphone ứng dụng mạng cục nên tốc độ đường truyền cao, mặt khác khoảng cách ngắn Tuy nhiên độ trễ lớn song với mạng cục vấn đề chấp nhận Còn dịch vụ 171 hay Internet Telephony chất lượng âm giai đoạn đầu nói chung khơng đạt mong muốn người sử dụng chất lượng âm cải thiện đáng kể đặc biệt ứng dụng ngày đưa vào phục vụ sống KẾT LUẬN Đồ án tốt nghiệp hoàn thành nhiệm vụ đề phạm vi cho phép Do điều kiện thời gian trình độ hạn chế nên đồ án dừng lại mức nghiên cứu số phương pháp mã hoá tiếng nói số giao thức truyền tín hiệu mạng Internet TCP/IP, UDP Trên sở xây dựng phần mềm thử nghiệm truyền tiếng nói thoại mạng LAN Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 51 LUẬN VĂN TỐT NGHIỆP Đồ án em sử dụng hàm có sẵn mơi trường SDK từ xây dựng ứng dụng CPhone liên kết hai máy lại thực trình trao đổi âm Phần thử nghiệm dừng lại việc xây dựng ứng dụng truyền tiếng nói thực thể PC theo giao thức TCP/IP tiếng nói mã hoá theo phương pháp PCM nên tỷ số nén tốc độ truyền chưa cao Mặt khác, đánh giá chất lượng tiếng nói theo phương pháp chủ quan nên chưa khảng định điều độ trễ chất lượng tiếng nói sau truyền Thế đạt đồ án chủ yếu nhằm giúp em nắm bắt vững mặt lý thuyết nắm quyền kiểm soát, quyền điều khiển ứng dụng thực tế, kết qua trọng hữu ích cho hoạt động nghiên cứu sau cho dù nội dung luận văn phần thử nghiệm chưa đầy đủ hoàn chỉnh mong muốn Hiện nay, mơ hình truyền tiếng nói mạng(VoIP) nghiên cứu phát triển mạng giới nói chung nước ta nói riêng, vấn đề mới, đặc biệt ứng dụng cho mạng Internet Qua thử nghiệm cho thấy hướng nghiên cứu tiếp tục nâng cấp để đưa vào sử dụng, trước tiên với mơ hình nhỏ dùng cho mạng cục phịng ban Từ phát triển đưa vào sử dụng diện rộng nhăm tăng chất lượng đàm thoại, giảm giá thành gọi để thương mại hoá sản phẩm Về lâu dài nghiên cứu, xây dựng giải mã cho ngôn ngữ tiếng việt; nghiên cứu ghép thêm modul nhằm tạo đàm thoại mật để đảm bảo an toàn gọi PHẦN PHỤ LỤC Các từ viết tắt, ký hiệu : AbS : Analysis by Synthesis ADPCM : Adaptive Differential Pulse Code Modulation ATC : Adaptive Transform Coding PABX : Private Automatic Branch eXchange PCM : Pulse Code Modulation GMS : Global System for Mobile telecommucations ETSI : European Telecommunication Standards Institude GSM : Global System for Mobile telecommunication protocol MCI : Media Control Interface Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 52 TCP : Transmission Control Protocol UDP : User Datagram Protocol IP : Internet protocol RIFF : Resource Interchange File Format IMA : Interactive Multimedia Association ICMP : Internet Control Message Protocol LPC : Linear Prediction Coding OSI : Open System Interconnection Chương trình nguồn : Đoạn chương trình thực hiên chức đợi (chạy nền) UINT Server(LPVOID param) { const PORT=1967; const NO_FLAGS_SET=0; const MAXBUFLEN=500; WSADATA Data; SOCKADDR_IN SvrAddr,CIntAddr; SOCKET SvrSock,CIntSock; int AddrLen=sizeof(SOCKADDR_IN); int status,nbyte,nbsend; char bufferrecv[MAXBUFLEN],buffersend[80]; //Khởi tạo Windows Socket DLL status=WSAStartup(MAKEWORD(1,1),&Data); if(status!=0) { MessageBox(NULL,"ERROR: WSAStartup unsuccessful.", "WSAStartup error!",MB_ICONEXCLAMATION); return(-1); } memset(&SvrAddr,0,sizeof(SvrAddr)); SvrAddr.sin_port=htons(PORT); Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 53 SvrAddr.sin_family=AF_INET; SvrAddr.sin_addr.s_addr=htonl(INADDR_ANY); SvrSock=socket(AF_INET,SOCK_STREAM,0); if(SvrSock==INVALID_SOCKET) { MessageBox(NULL,"ERROR: Socket unsuccessful.","Socket error !", MB_ICONEXCLAMATION); WSACleanup(); return(-1); } //Kết buộc socket với PORT bind(SvrSock,(LPSOCKADDR)&SvrAddr,sizeof(SvrAddr)); //Chờ client nối vào listen(SvrSock,1); //Xác nhận mối nối có client nối vào CIntSock=accept(SvrSock,(LPSOCKADDR)&CIntAddr,&AddrLen); if(CIntSock==INVALID_SOCKET) { MessageBox(NULL,"ERROR: Connect unsuccessful.","Connect error !", MB_ICONEXCLAMATION); closesocket(CIntSock); WSACleanup(); return(-1); } else { nbyte=recv(CIntSock,bufferrecv,MAXBUFLEN,NO_FLAGS_SET); if((nbyte==0)||(nbyte==SOCKET_ERROR)) { MessageBox(NULL,"Please the end conversation !","The conversation !",MB_ICONEXCLAMATION); closesocket(CIntSock); WSACleanup(); return(-1); } else MessageBox(NULL,bufferrecv,"The coversation !",MB_ICONINFORMATION); strcpy(buffersend,"Receivered the signal Please begin the conversation."); nbsend=send(CIntSock,buffersend,strlen(buffersend)+1,NO_FLAGS_SET); if(nbsend!=(int)strlen(buffersend)+1) { closesocket(CIntSock); WSACleanup(); return(0); } return(0); } } Đoạn mã thực kết nối hai máy : // Tạm dừng trạng thái chờ SuspendThread(Server); // Chuyển sang trạng thái gọi m_DestAddrStr=dialog.m_DestAddrStr; if(m_DestAddrStr=="") Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 54 { MessageBox("ERROR: Hostname is unknown !","Error hostname !", MB_ICONEXCLAMATION); return(-1); } const PORT=1967; const NO_FLAGS_SET=0; const MAXBUFLEN=256; WSADATA Data; SOCKADDR_IN SockAddr; unsigned long DestAddr; int status,nbyte,nbrecv; char SendBuf[50],RecvBuf[MAXBUFLEN]; // Khởi tạo Windows Socket DLL status=WSAStartup(MAKEWORD(1,1),&Data); if(status!=0) { MessageBox("ERROR :WSAStartup unsuccessf", "Error WSAStarup !",MB_ICONEXCLAMATION); return(-1); } // Nhận địa internet, chuyển sang dạng byte DestAddr=inet_addr(m_DestAddrStr); //Khởi tạo cấu trúc SOCKADDR_IN SockAddr.sin_addr=*(struct in_addr*)&DestAddr; SockAddr.sin_port=htons(PORT); SockAddr.sin_family=AF_INET; // Tạo socket hSock=socket(AF_INET,SOCK_STREAM,0); if(hSock==INVALID_SOCKET) { MessageBox("ERROR: Socket unsuccessful.","Error Socket", MB_ICONEXCLAMATION); WSACleanup(); return(-1); } // Nối vào máy chạy ứng dụng server status=connect(hSock,(LPSOCKADDR)&SockAddr,sizeof(SockAddr)); if(status==SOCKET_ERROR) { MessageBox("ERROR: Connect unsuccessful !","Error connect !", MB_ICONEXCLAMATION); closesocket(hSock); WSACleanup(); return(-1); } else { strcpy(SendBuf,"There is the signal send to your computer !"); nbyte=send(hSock,SendBuf,strlen(SendBuf)+1,NO_FLAGS_SET); nbrecv=recv(hSock,RecvBuf,MAXBUFLEN,NO_FLAGS_SET); if((nbrecv==0)||(nbrecv==SOCKET_ERROR)) { MessageBox("Please end the conversation !", "The conversation",MB_ICONEXCLAMATION); Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 55 closesocket(hSock); WSACleanup(); return(-1); } else MessageBox(RecvBuf,"The conversation",MB_ICONINFORMATION); } // Kết thúc trạng thái gọi // Khôi phục lại trạng thái chờ ResumeThread(Server); return(1); } Đoạn chương trình thực chức ghi âm từ micro void CWAveIn::recordWaveData() { HWAVEIN hWaveIn; HWND hwndApp=NULL; HGLOBAL hWaveHdr; LPWAVEHDR lpWaveHdr; HMMIO hmmio=NULL; UINT wResult; HANDLE hFormat=NULL; WAVEFORMAT pFormat; DWORD dwDataSize=1000; // Mở thiết bị wave để phát if (!waveInOpen((LPHWAVEIN)&hWaveIn, WAVE_MAPPER, (LPWAVEFORMATEX)&pFormat, (LONG)waveInProc, DWORD(this), CALLBACK_FUNCTION)) { MessageBox( "Failed to open waveform input device.", NULL,MB_OK | MB_ICONEXCLAMATION); LocalUnlock(hFormat); LocalFree(hFormat); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the waveform data hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, dwDataSize ); if (!hData) { MessageBox( "Out of memory.", NULL, MB_OK | MB_ICONEXCLAMATION); mmioClose(hmmio, 0); return; } if ((lpData =(HPSTR)GlobalLock(hData)) == NULL) { MessageBox( "Failed to lock memory for data chunk.", NULL, MB_OK | MB_ICONEXCLAMATION); GlobalFree(hData); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the header Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 56 hWaveHdr = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, (DWORD) sizeof(WAVEHDR)); if (hWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox("Not enough memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } lpWaveHdr = (LPWAVEHDR) GlobalLock(hWaveHdr); if (lpWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox( "Failed to lock memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } // After allocation, set up and prepare header lpWaveHdr->lpData = lpData; lpWaveHdr->dwBufferLength = dwDataSize; lpWaveHdr->dwFlags = 0L; lpWaveHdr->dwLoops = 0L; waveInPrepareHeader(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); // Gởi khối liệu đến thiết bị phát wResult = waveInAddBuffer(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); if (wResult = 0) { waveInUnprepareHeader(hWaveIn, lpWaveHdr, sizeof(WAVEHDR)); GlobalUnlock( hData); GlobalFree(hData); MessageBox( "Failed to write block to device", NULL, MB_OK | MB_ICONEXCLAMATION); return; } wResult = waveInStart(hWaveIn); if (wResult != 0) return; } Đoạn chương trình play liệu âm void CWAveIn::playbackWaveData() { HWAVEOUT hWaveOut; HWND hwndApp =NULL; HGLOBAL hWaveHdr; LPWAVEHDR lpWaveHdr; HMMIO hmmio=NULL; UINT wResult; HANDLE hFormat=NULL; WAVEFORMAT pFormat; DWORD dwDataSize=1000; // Mở thiết bị wave để phát Đề tài : Xây dng ưứg duụg truyeề thg â treê maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 57 if (waveOutOpen((LPHWAVEOUT)&hWaveOut, WAVE_MAPPER, (LPWAVEFORMATEX)&pFormat, (LONG)hwndApp, 0L, CALLBACK_WINDOW)) { MessageBox( "Failed to open waveform output device.", NULL,MB_OK | MB_ICONEXCLAMATION); LocalUnlock(hFormat); LocalFree(hFormat); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the waveform data hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, dwDataSize ); if (!hData) { MessageBox( "Out of memory.", NULL, MB_OK | MB_ICONEXCLAMATION); mmioClose(hmmio, 0); return; } if ((lpData =(HPSTR)GlobalLock(hData)) == NULL) { MessageBox( "Failed to lock memory for data chunk.", NULL, MB_OK | MB_ICONEXCLAMATION); GlobalFree(hData); mmioClose(hmmio, 0); return; } // Allocate and lock memory for the header hWaveHdr = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, (DWORD) sizeof(WAVEHDR)); if (hWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox("Not enough memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } lpWaveHdr = (LPWAVEHDR) GlobalLock(hWaveHdr); if (lpWaveHdr == NULL) { GlobalUnlock(hData); GlobalFree(hData); MessageBox( "Failed to lock memory for header.", NULL, MB_OK | MB_ICONEXCLAMATION); return; } // After allocation, set up and prepare header lpWaveHdr->lpData = lpData; lpWaveHdr->dwBufferLength = dwDataSize; lpWaveHdr->dwFlags = 0L; lpWaveHdr->dwLoops = 0L; waveOutPrepareHeader(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang 58 LUẬN VĂN TỐT NGHIỆP // Gởi khối liệu đến thiết bị phát wResult = waveOutWrite(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); if (wResult != 0) { waveOutUnprepareHeader(hWaveOut, lpWaveHdr, sizeof(WAVEHDR)); GlobalUnlock( hData); GlobalFree(hData); MessageBox( "Failed to write block to device", NULL, MB_OK | MB_ICONEXCLAMATION); return; } } TÀI LIỆU THAM KHẢO [1] ANNEXE VOIP-SLIDE Raj Jain http://www.cis.ohio-state.edu/~jain/ [2] AUDIO COMPRESSION THEOGRY http://www.owlnet.rice.edu/~elec301/projects99/adda/index.html [3] BUILDING INTERNET APPLICATION WITH VISUAL C++ Kate Gregogy - Paul Robichaux - Brady Merkel - Markus Pope Đề tài : Xây dng ưứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUẬN VĂN TỐT NGHIỆP Trang 59 [4] DIGITAL SIGNAL PROCESSING John G.Proakis - Dimitris G.Manolakis - Prentice Hall [5] INTERNET WORKING VỚI TCP/IP Nhà xuất giáo dục, 2001 [6] Thư viện MSDN Đề tài : Xây dng öứg duụg truyeề thg â tr maạg cuụ boộ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ...LUẬN VĂN TỐT NGHIỆP Trang Hình I.3 : Mơ hình Điện thoại – Điện thoại I.2 YÊU CẦU ỨNG DỤNG TRUYỀN ÂM THANH TRÊN MẠNG LAN Trong phần phân tích yêu cầu xây dựng ứng dụng truyền âm mạng LAN... thể có Mạng 127 mạng Mạng M lớp B mạng cóó kích thướ ớc trung bìnhh thích hợp h cho cácc tổ chức LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Trang LUẬN VĂN TỐT NGHIỆP có quy mô lớp... 49 LUẬN VĂN TỐT NGHIỆP Hình V.9 Nhập địa IP Nếu khơng có tín hiệu chưa cho phép q trình đàm thoại Khi có tín hiệu phản hồi hàm khởi động sound card, card mạng socket gọi thực cuốc đàm thoại Hình

Ngày đăng: 02/11/2022, 10:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w