Tìm hiểu, khảo sát công nghệ truyền âm thanh trên mạng IP và ứng dụng voice chat trong môi trường windows Mục LụcLời nói đầu ........................................................................................................................... 3Phân công công việc: ........................................................................................................... 4I. Tìm hiểu công nghệ truyền âm thanh trong mạng IP (VOIP). ......................................... 51. Giới thiệu chung về VOIP:........................................................................................... 52. Ứng dụng công nghệ VOIP .......................................................................................... 53. Dịch vụ chat âm thanh thoại qua Internet .................................................................... 6II. Sự khác nhau giữa mô hình chat và mô hình hội nghị. .................................................. 61. Mô hình Chat ............................................................................................................. 62. Mô hình hội nghị: ...................................................................................................... 73. Sự khác biệt giữa mô hình Chat và mô hình Hội nghị .............................................. 7III. Giải thích quy trình công nghệ và giao thức truyền thông trong ứng dụng voice chat. 81. Mã hoá và nén thoại trong VoIP: .............................................................................. 82. Đóng gói tín hiệu thoại – bộ giao thức RTPRTCP: ............................................... 103. Giao thức truyền thông trong Asterisk – SIP: ......................................................... 12IV. Xây dựng giải và pháp và lập trình cài đặt ứng dụng chat âm thanh. ........................ 151. Tìm hiểu chung về Asterisk..................................................................................... 152. Cài đặt và thử nghiệm truyền âm thanh theo mô hình PC to PC. ........................... 173. So sánh với các công cụ Chat hiện nay. .................................................................. 18Tài liệu tham khảo ....................
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Viện Công nghệ Thông tin và Truyền thông
Báo cáo
Truyền thông đa phương tiện
Nhóm 15: Tìm hiểu, khảo sát công nghệ truyền âm thanh trên mạng IP và ứng dụng Voice Chat trong môi trường Windows
Giáo viên hướng dẫn: PGS.Nguyễn Thị Hoàng Lan
Sinh viên thực hiện: Hoàng Đình Hiệp 20111584
Hoàng Anh Chiến 20111247 Nguyễn Văn Hiệp 20111590
Hà Nội, Ngày 16 tháng 12 năm 2014
Trang 2Mục Lục
Lời nói đầu 3
Phân công công việc: 4
I Tìm hiểu công nghệ truyền âm thanh trong mạng IP (VOIP) 5
1 Giới thiệu chung về VOIP: 5
2 Ứng dụng công nghệ VOIP 5
3 Dịch vụ chat âm thanh thoại qua Internet 6
II Sự khác nhau giữa mô hình chat và mô hình hội nghị 6
1 Mô hình Chat 6
2 Mô hình hội nghị: 7
3 Sự khác biệt giữa mô hình Chat và mô hình Hội nghị 7
III Giải thích quy trình công nghệ và giao thức truyền thông trong ứng dụng voice chat 8 1 Mã hoá và nén thoại trong VoIP: 8
2 Đóng gói tín hiệu thoại – bộ giao thức RTP/RTCP: 10
3 Giao thức truyền thông trong Asterisk – SIP: 12
IV Xây dựng giải và pháp và lập trình cài đặt ứng dụng chat âm thanh 15
1 Tìm hiểu chung về Asterisk 15
2 Cài đặt và thử nghiệm truyền âm thanh theo mô hình PC to PC 17
3 So sánh với các công cụ Chat hiện nay 18
Tài liệu tham khảo 19
Trang 3Lời nói đầu
Với sự phát triển nhảy vọt của mạng chuyển mạch gói IP hiện nay cùng với sự hội nhập mạnh mẽ vào nền kinh tế khu vực và thế giới, môi trường viễn thông Việt Nam cũng có những bước chuyển lớn với hàng loạt các dịch vụ mới, ví dụ như dịch vụ đường truyền Internet tốc độ cao ADSL với chi phí thấp, rồi sự ra đời của dịch vụ gọi điện thoại quốc thế giá rẻ Internet Phone
Sự xuất hiện của VoIP đã gây nên một sự chú ý đặc biệt trong lĩnh vực viễn thông thế giới, lợi ích mà nó mang lại là rất lớn Đối với người tiêu dùng, lợi ích đầu tiên mà họ đạt được là chi phí cuộc gọi sẽ rẻ hơn đáng kể Còn đối với các nhà sản xuất, cung cấp và khai thác mạng, truyền thoại qua mạng Internet mở ra những thách thức mới nhưng cũng hứa hẹn khả năng lợi nhuận đáng kể VoIP ngày càng đáp ứng tốt hơn các yêu cầu đặt ra như chất lượng dịch vụ, giá thành, số lượng tích hợp các dịch vụ thoại lẫn phi thoại Mạng VoIP ra đời như là một cuộc các mạng của hệ thống viễn thông và xã hội Với những ưu điểm vượt trội, mạng VoIP đã chứng tỏ được sức sống và tính thực tiễn cao của
nó Đặc biệt là trong dịch vụ voice chat
Để thấy những ưu nhược điểm cũng như lợi ích mà voice chat trên mạng IP đã mang lại và những ứng dụng thực tế trong bài báo cáo này nhóm em đã chọn và nghiên cứu đề tài 15: “Tìm hiểu, khảo sát công nghệ truyền âm thanh trên mạng IP và ứng dụng Voice Chat trong môi trường Windows”.
Do hạn chế về thời gian, cũng như kiến thức và kinh nghiệm bài báo cáo không tránh khỏi những thiếu sót Rất mong được sự góp ý của cô và các bạn
Nhóm xin chân thành cảm ơn!
Trang 4Phân công công việc:
- Hoàng Anh Chiến :
o Tìm hiểu công nghệ truyền âm thanh trong mạng IP (VOIP)
o Sự khác nhau giữa mô hình Chat và với mô hình Hội nghị
- Hoàng Đình Hiệp , Nguyễn Văn Hiệp:
o Giải thích qui trình công nghệ và giao thức truyền thông trong ứng dụng Voice Chat
o Xây dựng giải pháp và lập trình cài đặt ứng dụng Chat âm thanh trong môi trường Windows
Trang 5I Tìm hiểu công nghệ truyền âm thanh trong mạng IP (VOIP).
1 Giới thiệu chung về VOIP:
VOIP (Voice over Internet Protocol) là công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạng Internet VOIP là một trong những công nghệ viễn thông đang được quan tâm nhất hiện nay không chỉ đối với các nhà khai thác, các nhà sản xuất mà còn cả với người sử dụng dịch vụ
Ngày nay nhiều công ty thực hiện giải pháp VOIP để giảm chi ohis cho những cuộc gọi đường dài giữa nhiều chi nhánh xa nhau
Công nghệ này dựa trên chuyển mạch gói, nhằm thay thế công nghệ truyền thoại
cũ dùng chuyển mạch kênh
Kỹ thuật chuyển mạch gói: Trong chuyển mạch gói, mỗi bản tin được chia thành các gói tin có khuôn dạng được quy định trước Việc dựa trên chuyển mạch gói giúp công nghệ VOIP có nhiều ưu điểm như hiệu suất cao, khả năng truyền ưu tiên, Tuy nhiên cùng với những ưu điểm đó vẫn còn khá nhiều nhược điểm như trễ đường truyền lớn, độ tin cậy không cao, dễ tắc nghẽn gói tin,
2 Ứng dụng công nghệ VOIP
Giao tiếp thoại vẫn là dạng giao tiếp cơ bản của con người Mạng điện thoại truyền thống không thể bị thay thế một cách dễ dàng Mục đích của các nhà cung cấp dịch vụ VOIP là tạo ra một mạng điện thoại với chi phí vận hành thấp hơn nhiều song vẫn đảm bảo chất lượng và đưa ra cách giải pháp kỹ thuật mới Chúng ta đã rất quen thuộc với các phần mềm chat nổi tiếng và rất phổ biến như: Skype, Google Talk, Chúng được sử dụng rất thường xuyên trong đời sống
Trang 6VOIP được ứng dụng trong nhiều lĩnh vực đặc biệt trong các mô hình Chat, mô hình hội nghị đa phương tiện
3 Dịch vụ chat âm thanh thoại qua Internet
Dịch vụ chat âm thanh được khai thác rất rộng rãi với những ứng dụng tiêu biểu như: Dịch vụ Callback Web, Call center
VOIP dựa trên kỹ thuật chuyển mạch gói nên đặc điểm của dịch vụ chat âm thanh
có nhiều nhược điểm như:
Chất lượng âm thanh chưa được đảm bảo
Tình trạng trễ tiếng: Việc các gói tin phải chuyển tiếp qua nhiều trạm trung gian khiến nó mất khá nhiều thời gian để tới được đích
Vấn đề bảo mật: Mạng Internet là mạng có tính rộng khắp và hỗn hợp, trong đó có rất nhiều loại máy tính khác nhau, các dịch vụ khác nhau cùng
sử dụng chung một cơ sở hạ tầng Do vậy không có gì đảm bảo rằng thông tin liên quan tới cá nhân cũng như số liên lạc truy nhập sử dụng dịch vụ của người dùng được giữ bí mật Và nguy cơ nghe lén khá cao do các gói dữ liệu phải chuyển tiếp qua nhiều trạm trung gian trước khi tới được người nhận hoặc vấn đề truy cập trái phép, hacker có thể lợi dụng các lỗ hổng bảo mật để xâm nhập vào hệ thống mạng
Kỹ thuật phức tạp: Do lượng mất gói tin trong mạng là không thể tránh và việc giảm độ trễ, để đáp ứng được nhu cầu người dùng cần có những kỹ thuật rất phức tạp
Tuy nhiên dịch vụ chat âm thanh có ưu điểm rất lớn là chi phí cuộc gọi rất rẻ
II Sự khác nhau giữa mô hình chat và mô hình hội nghị
1 Mô hình Chat
Trang 7Dựa trên mô hình client – server
Gồm có các thành viên tham gia
Các thành viên tham gia có vai trò, hay vị trí là như nhau Tất cả các thành viên đều do các máy client đảm nhiệm
Hoạt động:Các thành viên được hoạt động tự do, bất kỳ thành viên nào muốn nói đều có thể nói tự do, không bị bất kỳ ai ép buộc
2 Mô hình hội nghị:
Dựa trên mô hình client-server
Gồm có các thành viên được phân chia như sau:
Chủ tịch hội nghị: là người duy nhất có quyền điều hành hoạt động của các phiên hoạt động của hội nghị Người chủ tịch sẽ quản lý server
Thành viên chính thức: Có quyền trình bày ý kiến trước hội nghị thông qua lời nói
và hình ảnh tới tất cả các thành viên khác
Quan sát viên: Là những người chỉ có nhận dữ liệu từ các thành viên khác
Tất cả các thành viên chính thức và người quan sát đều do các máy client đảm nhiệm Hoạt động:
Trước hội nghị: Các client muốn tham gia phải đăng kỹ với server
Trong hội nghị: gồm có: Khai mạc hội nghị, Các thành viên phát biểu lần lượt và kết thúc hội nghị
3 Sự khác biệt giữa mô hình Chat và mô hình Hội nghị
Trong mô hình Chat không có thành viên nào đảm nhiệm vai trò của Server, trong
mô hình Hội nghị có chủ tịch là người quản lỹ Server
Trang 8 Quy mô: Mô hình Chat có quy mô nhỏ có thể chỉ gồm 2 người trong khi đó mô hình Hội nghị có quy mô lớn hơn rất nhiều
Thành viên: Các thành viên trong mô hình Chat không có sự phân cấp bậc, trong khi đó Mô hình Hội nghị có chủ tịch, thành viên chính thức và thành viên quan sát
Hoạt động: Hoạt động của mô hình Chat rất đơn giản trong khi mô hình Hội nghị lại rất phức tạp
III Giải thích quy trình công nghệ và giao thức truyền thông trong ứng dụng voice chat
Ở đây ta dùng phần mềm Asterisk làm ứng dụng voice chat
1 Mã hoá và nén thoại trong VoIP:
- PCM (Pulse code modulation) – điều chế theo mã: là phương pháp thông dụng nhất chuyển đổi các tín hiệu Analog sang dạng Digital (và ngược lại) để có thế vận chuyển qua một hệ thống truyền dẫn số hay các quá trình xử lý số Sự biến đổi này gồm 3 tiến trình chính: Lấy mẫu, lượng tử hoá, mã hoá Tiến trình này hoạt động như sau:
Giai đoạn đầu tiên của PCM là lấy mẫu các tín hiệu nhập (tín hiệu đi vào thiết
bị số hoá), nố toạ ra một tuần tự các mẫu Analog dưới dạng chuỗi PAM Các mẫu PAM có dải biên độ nối tiếp nhau, sau đố phân chia dải biên độ này thành một số giới hạn các khoảng Tất cả các mẫu với các biên độ nào đó nếu mẫu nào rơi vào một khoảng đặc biệt nào thì được gán cùng mức giá trị của khoảng
đó Công việc này được gọi là “lượng tử hoá” Cuối cùng trong bộ mã hoá, độ lớn của các mẫu được lượng tử hoá được biểu diễn bởi các mã nhị phân
Trang 9- Sau khi xem xét cấu tạo tiếng nói con người, người ta đưa ra 3 phương pháp để
mã hoá thoại đó là: mã hoá dạng sóng (Waveform), mã hoá nguồn (Source) và
mã hoá lai (Hybrid)
o Mã hoá dạng sóng: nguyên lý của mã hoá dạng sóng là mã hoá dạng sóng của tiếng nói dựa trên định lý lấy mẫu Tại phía phát, bộ mã hoá sẽ lấy mẫu tín hiệu tiếng nói tương tự và mã hoá thành tín hiệu số trước khi truyền đi Tại phía thu sẽ làm nhiệm vụ ngược lại để khôi phục tín hiệu tiếng nói
Ưu điểm của bộ mã hoá loại này là độ phức tạp và độ trễ thấp
Nhược điểm của bộ mã hoá loại này là không tạo được tiếng nói chất lượng cá tại tốc độ bit dưới 16kbps Các chuẩn G.711 và G.726 của ITU-T dựa trên phương pháp mã hoá dạng sóng
o Mã hoá nguồn: dựa trên nguyên tắc phân tích, mô phỏng, tái tạo các tín hiệu âm thanh sau đó tách ra các thông số đặc trưng của tín hiệu âm thanh, mã hoá các thông số đó và gửi đi, ở nơi thu cũng sử dụng một cơ chế phát âm tương tự, dùng các thông số nhận được để kích thích bộ phát âm, phát lại âm thanh như bên gửi Điển hình của các bộ mã theo nguồn âm là bộ mã hoá dự báo tuyến tính LPC
Vì tham số của tiếng nói được truyền đi thay vì dạng sóng nên tốc độ bit
mã hoá tiếng nói thấp hơn nhiều so với phương pháp trên Tuy nhiên chất lượng thoại thường không cao vì tìm một mô hình tiếng nói phù hợp (ít tham số và ít phức tạp) là khó khăn Các chuẩn G.723.1, G729 của ITU-T đều dựa trên phương pháp mã hoá nguồn
o Mã hoá lai: được kết hợp từ hai phương pháp mã hoá trên Dạng sóng của tiếng nói được phân tích và các tham số chủ yếu được rút ra Tuy nhiên, thay vì truyền ngay các tham số này thì bộ mã hoá sử dụng chúng
để tổng hợp lại mẫu tiếng nói và so sánh với dạng gốc Sau đó bộ mã hoá căn cứ vào sự khác nhau giữa mẫu thực và mẫu được tổng hợp để
Trang 10chỉnh lại các tham số, sau đó các tham số này mới được chuyển thành dòng bit và truyền đến bên thu
Phương pháp mã hoá này cho chất lượng thoại tương đối tốt và tốc độ bit thấp nhưng độ phức tạp cao
- Để đánh giá các phương pháp nén, ta xem xét chúng theo 4 đặc điểm sau:
o Tốc độ bit (bit Rate)
o Độ trễ (Delay)
o Độ phức tạp (Complexity)
o Chất lượng tín hiệu (Quality)
- Mã hoá và nén thoại trong Asterisk dùng khối Codec Translator API, sử dụng module Codec Translator (codec_adpcm, codec_alaw, codec_a_mu,
codec_dahdi, codec_g722, codec_g726, codec_gsm, codec_ilbc, codec_lpc10, codec_resample, codec_speex, codec_ulaw, )
2 Đóng gói tín hiệu thoại – bộ giao thức RTP/RTCP:
- Giao thức RTP (Real-time Transport Protocol) là một giao thức dựa trên giao thức IP tạo ra các hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực Các gói tin truyền trên mạng Internet có trễ và jitter không dự đoán được Nhưng cá ứng dụng đa phương tiện yêu cầu một thời gian thích hợp khi truyền các dữ liệu và phát lại RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các
cơ chế khác liên quan đến thời gian Bằng các cơ chế này RTP cung cấp sự truyền tải dữ liệu thời gian thực giữa các đầu cuối qua mạng
- Bản thân RTP không cung cấp một cơ chế nào cho việc đảm bảo phân phối kịp thời các dữ liệu tới các trạm mà nó dựa trên các dịch vụ của tầng thấp hơn để thực hiện việc này RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự Tuy nhiên, số thứ tự trong RTP header cho phép bên thu xây dựng lại đúng thứ tự các gói của bên phát
Trang 11- Hoạt động của RTP được hỗ trợ bởi một giao thức khác là RTCP để nhận các thông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời Không giống như các giao thức khác là sử dụng các trường trong header để thực hiện các chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện chức năng này
- RTP nằm ở phía trên UDP, sử dụng các chức năng ghép kênh và kiểm tra của UDP Sở dĩ UDP được sử dụng làm thủ tục truyền tải cho RTP vì:
o RTP được thiết kế chủ yếu cho việc truyền tin đa đối tượng, các kết nối
có định hướng, có báo nhận không đáp ứng tốt điều này
o Đối với dữ liệu thời gian thực, độ tin cậy không quan trọng bằng truyền đúng theo thời gian Hơn nữa, sự tin cậy trong TCP là do cơ chế báo phát lại, không thích hợp cho RTP
- Cấu trúc dữ liệu RTP
Timestamp Synchronisation Source Identifier (SSRC) Contributing Source Identifier (CSRC)
Data
Version (V): 2 bit Trường này chỉ ra version của RTP
Sequence Number: 16 bits Mang số thứ tự của gói RTP Số thứ tự này được tăng lên một sau mỗi gói RTP được gửi đi Trường này có thể được sử dụng để bên thu
Trang 12phát hiện được sự mất gói và khôi phục lại trình tự đúng của các gói Giá trí khởi đầu của trường này là ngẫu nhiên
Timestamp (tem thời gian): 32 bits.Tem thời gian phản ánh thời điểm lấy mẫu của octets đầu tiên trong gói RTP Thời điểm này phải được lấy từ một đồng hồ tăng đều đặn và tuyến tính theo thời gian để cho phép việc đồng bộ và tính toán độ jitter Bước tăng của đồng hồ này phải đủ nhỏ để đạt được độ chính xác đồng bộ mong muốn khi phát lại và độ chính xác của việc tính toán jitter Tần số đồng hồ này là không cố định, tùy thuộc vào loại khuôn dạng của tải trọng Giá trị khởi đầu của tem thời gian cũng được chọn một cách ngẫu nhiên Một vài gói RTP có thể mang cùng một giá trị tem thời gian nếu như chúng được phát đi cùng một lúc
về mặt logic (ví dụ như các gói của cùng một khung hình video) Trong trường hợp các gói dữ liệu được phát ra sau những khoảng thời gian bằng nhau (tín hiệu
đã mã hóa thoại tốc độ cố định, fixed-rate audio) thì tem thời gian được tăng một cách đều đặn Trong trường hợp khác giá trị tem thời gian sẽ tăng không đều
- Giao thức RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP cung cấp các thông tin phản hồi về chất lượng truyền dữ liệu Gói RTCP góp phần làm tăng nghẽn mạng Băng thông yêu cầu bởi RTCP là 5% tổng số băng thông phân bổ cho phiên Khoảng thời gian trung bình giữa các gói RTCP được đặt tối thiểu là 5s
- Bộ giao thức RTP/RTCP được hỗ trợ bởi module trong Asterisk là Resource modules (res_rtp_asterisk, res_rtp_multicast)
3 Giao thức truyền thông trong Asterisk – SIP:
- SIP (Session Initiation Protocol) là giao thức báo hiệu điều khiển lớp ứng dụng được dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phương tiện (multimedia) Các phiên multimedia bao gồm thoại Internet, hội nghị và các