TRƯỜ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 BÀI TẬP LỚN
TRUYỀN THÔNG ĐA PHƯƠNG TIỆN
Đề tài 18:
Tìm hiểu hệ thống và phân tích ứng dụng hội thảo đa phương tiện
dựa trên SIP – Asterisk
Sinh viên thực hiện:
1. Lê Tuấn Anh 20104389
2. Tạ Kiều Cường 20106087
3. Trần Anh Dũng 20104835
Giáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan
HÀ NỘI – 2014
Mục lục
Lời nói đầu
Ngày nay khi Internet đang phát triển cực kỳ mạnh mẽ, nhu cầu của con người
về các dịch vụ trực tuyến đang tăng cao, vì vậy hàng loạt các dịch vụ đã ra đời,
trong đó có các dịch vụ về hội nghị trực tuyến, đã giúp cho công việc của con
người được thực hiện một cách dễ dàng hơn và ở bất kỳ nơi đâu.
Tuy nhiên, đối với các công ty, tổ chức loại nhỏ ở Việt Nam thì các dịch vụ liên
quan đến hội nghị trực tuyến tuy có nhiều nhưng lại chưa đáp ứng được nhu cầu
của họ, đó là một dịch vụ có chi phí thấp tuy nhiên vẫn đáp ứng đầy đủ được
các yêu cầu của một dịch vụ họp trực tuyến cơ bản nhất.
Chính vì lý do như vậy, chúng em đã lựa chọn đề tài: “Tìm hiểu hệ thống và
phân tích ứng dụng hội thảo đa phương tiện dựa trên SIP – Asterisk.”
Nội dung cơ bản của đề tài gồm 3 phần như sau:
- Chương 1: Tìm hiểu về mô hình hội nghị đa phương tiện được triển khai trong
môi trường hệ thống Asterisk – SIP.
- Chương 2: Tìm hiểu về cấu trúc và hoạt động của giải pháp MCU mềm trong
ứng dụng Hội nghị đa phương tiện của hệ thống Asterisk – SIP.
- Chương 3: Phân tích thử nghiệm ứng dụng và giải thích về chất lượng dịch vụ
kênh truyền thông để cung cấp cho các thành viên nhiều công cụ, phương
tiện để các thành viên tương tác với nhau bằng âm thanh, cử chỉ….
1.2 Chức năng chính của hội
nghị đa phương tiện
Hệ thống hội nghị đa phương tiện có các chức năng chính sau đây:
• Thiết lập kết nối đa điểm cho phép thực hiện phiên họp qua mạng
dưới dạng đồng thời truyền tín hiệu tiếng nói và hình ảnh giữa các
điểm.
• Điều khiển phiên họp động, tương tác trực tuyến tiếng nói hoặc
hình ảnh theo thời gian thực.
• Điều độ hội nghị tự động
• Cung cấp dịch vụ thư mục hội nghị
• Kết thúc hội nghị.
2 Cấu trúc hệ thống của hội nghị đa phương tiện
2.1 Cấu trúc hệ thống
Cấu trúc hệ thống một hội nghị đa phương tiện gồm:
- Trung tâm hệ thống
Có nhiệm vụ thực hiện phân bố tài nguyên, quản lý và định tuyến.
Cho phép tạo ra các hội nghị trực tuyến hoặc thêm/loại bỏ người tham gia vào
hội nghị
- Các thiết bị đầu-cuối(Terminal)
Đây là các thiết bị tiếp xúc người dùng cuối, cung cấp cho người dùng giao tiếp
theo thời gian thực với những người dùng khác, có một số chức năng chính như:
ghi lại tín hiệu hình ảnh, âm thanh, mã hóa/giải mã tín hiệu thu được.
Thiết bị cuối thường là máy tính, điện thoại có đầy đủ các thành phần:
• Video input: camera, webcam
• Video output: màn hình, ti vi, máy chiếu
• Audio input: microphones
• Audio output: loa
- Có nhiệm vụ thực
Multipoint Processor(MP): là thành phần tùy chọn, có nhiệm vụ
thực hiện việc trộn, chuyển mạch, xử lý cho từng dòng dữ liệu theo
thời gian thực trong hội nghị.
2.2 Mô hình hội nghị tương
tác thực tế
- Admin: Kick tất cả các thuê bao ra khỏi phòng, kick từng thuê bao ra khỏi
phòng, Khóa/mở phòng họp, tắt/mở tiếng thành viên, tắt/mở tiếng cả phòng
họp, tăng/giảm âm lượng, giới hạn thời gian, thoát khỏi phòng họp.
- Member: Trao đổi thông tin , tham gia vào các hoạt động họp qua mạng trong
thời gian thực theo quy định và theo sự điều khiển của admin.
- Observer: Quan sát viên - Chỉ được quyền tham dự và nghe.
Phần 2: Tìm hiểu về cấu trúc hoạt động của giải pháp MCU mềm trong
ứng dụng hội nghị đa phương tiện của hệ thống Asterisk-SIP
3 Cấu trúc khối điều khiển MCU
MCU (Multipoint Control Unit) là thiết bị (có thể là phần mềm-thiết bị
mềm) cho phép tổ chức hội nghị đa phương tiện giữa các thiết bị đầu cuối
(có thể hoạt động với các giao thức khác nhau)
MCU bao gồm 2 thành phần chính
Multipoint Controller(MC) :Đây là thành phần bắt buộc trong MCU có
vai trò điều khiển việc liên kết giữa nhiều thiết bị đầu cuối trong hệ thống
như là quyết định dòng dữ liệu nào sẽ là dòng multicast
Multipoint Processror(MP): là thành phần tuỳ chọn,có nhiệm vụ thực
hiện việc trộn, chuyển mạch,xử lý cho từng dòng dữ liệu theo thời gian thực
trong hội nghị.
Sau khi phân tích kịch bản một phiên hội nghị trực tuyến, ta sẽ phân
tích các chức năng của Asterisk phục vụ cho hội nghị trực tuyến để hiểu
được các công chức năng cần cải thiện hay xây dựng mới cho hệ thống.
Khối MCU cần đáp ứng được các yêu cầu sau đây:
Tính tin cậy: để đảm bảo trải nghiệm cuộc gọi và tính tin cậy của cuộc
gọi, MCU cần có công nghệ chuyển mã(transcoding) và so khớp tốc độ(rate
khác nhau có thể cùng kết nối tới khối MCU, đảm bảo hoạt động được với
nhiều cấu hình mạng khác nhau.
Quản lý kênh truyền(line/channel): quản lý các kênh truyền giữa thiết
bị của các thành viên phiên họp và khối MCU. Bao gồm các chức năng như:
• Tạo/giải phóng kệnh truyền
• Quản lý trạng thái trạng thái kênh truyền
• Điều phối trao đổi dữ liệu giữa các kênh truyền
• Quản lý dữ liệu vào ra như:
• Mã hóa/giải mã tín hiệu âm thanh/hình ảnh theo các codec.
• Gửi thông báo bằng âm thanh, hình ảnh.
Quản lý thành viên: cho phép chủ tọa có thể các quản lý thành viên
như kick, mute/unmute, …
Mã hóa: mã hóa cả dữ liệu đa phương tiện và tín hiệu điều khiển.
Điểu khiển thời gian thực: thiết lập và quản lý một số sư kiện theo thời
gian thực.
Trên đây là các chức năng cơ bản cần có đối với khối điều khiển đa
điểm MCU. Ta có thể thấy MCU là thành phần đặc biệt quan trọng trong mô
hình hội nghị đa phương tiện.
4 Cấu trúc và hoạt động của các giải pháp MCU mềm trong ứng dụng
hội nghị đa phương tiện Asterisk-SIP
4.1 Cấu trúc hoạt động của
MCU mềm trong
Asterisk-SIP
Thực chất trong Asterisk không có bộ phận phục vụ hội nghị đa
phương tiện riêng mà chỉ có 1 ứng dụng(hàm) Meetme được gọi là “cầu hội
nghị”(conference bridge) với một số chức năng phục vụ cho việc tổ chức
một phiên họp trực tuyến như:
• Tạo phiên hội nghị
• Thêm và loại bỏ thành viên
• Phân phối tài nguyên ở mức cơ bản đó là phân phối cho tất cả
thời gian thực (dynamic session control).
- Điều độ hội nghị tự động (automatic conference scheduling)
- Kết thúc hội nghị (conference close)
- Cung cấp dịch vụ thư mục hội nghị
• Cấu trúc các thành phần hệ thống: Trung tâm hệ thống, MCU, các thiết bị
cuối.
• Các mô hình điều khiển và tổ chức hội nghị.
- Các vai tham gia Hội nghị: chủ tọa, thành viên chính thức, thành viên
quan sát
-Các mô hình điều khiển tập trung/ điều khiển phân tán, phân cấp.
•Các vấn đề kỹ thuật chủ yếu: Xử lý dữ liệu đa phương tiện, MCU điều tương
tác đa điểm gian thực, tốc độ truyền,, giao thức truyền thông, phương thức
truyền Unicast/ Multicast, băng thông, công nghệ mạng.
• Các giải pháp công nghệ:
-Hội nghị theo chuẩn công nghệ H323
-Hội nghị dựa trên SIP- Asterisk
-Hội nghị dựa trên công nghệ Web
• Các yêu cầu về tổ chức hội nghị trực tuyến thời gian thực:
- Truyền và tương tác đa phương tiện, trực tuyến, thời gian thực có tổ
chức
- Đồng bộ audio/video thời gian thực
- Điều khiển tương tác đa điểm trong các mô hình hội nghị (họp)
• Vấn đề chất lượng dịch vụ (QoS).
5.2 Môi trường công nghệ
Asterisk hỗ trợ thực hiện
ứng dụng hội nghị thoại
Asterisk đã có sẵn một số hàm hỗ trợ thực hiện hội nghị, trong đó quan
trọng nhất là ba hàm: meetme(), meetmeAdmin(), và meetmeCount(). Trong đó:
- meetmeCount() là hàm cho biết số người tối đa có thể tham dự hội nghị.
- meetme() là hàm cho phép users tham gia vào hội nghị hoặc khởi tạo các
exten=> 202,n,MeetMe(1000,lpi)
*p: thoát khỏi phòng họp khi ấn phím #
*i: thông báo khi có thành viên vào/ra phòng họp
*l: đặt chế độ chỉ cho phép nghe (không được nói) cho thành viên
Ví dụ về cấu hình chủ tọa
[admin]
include => default
;vao phong hop 1000
exten=> 200,1,Answer()
exten=> 200,n,Set(MEETME_RECORDINGFILE=/tmp/Conference-$
{CONFNO}-
${UNIQUEID)
exten=> 200,n,MeetMe(1000,asprc)
*a: chế độ admin cho chủ tọa
*s: chế độ menu của chủ tọa khi ấn phím *
*r: ghi âm lại cuộc họp
*c: thông báo số lượng thành viên trong phòng họp
Các chức năng chủ tọa có thể làm trong buổi họp
+ kick tất cả thuê bao ra khỏi phòng
+ kick từng thuê bao ra khỏi phòng
+ khóa/mở phòng họp
+ Tắt/Mở tiếng thành viên
+ Tắt/mở tiếng cả phòng họp
+ Tăng/Giảm volume thành viên
+ Tăng/Giảm volume phòng họp
+ Giới hạn thời gian cho 1 cuộc họp
+ Thoát khỏi phòng họp
Ví dụ về các chức năng của chủ tọa trong buổi họp
;kick tat ca thue bao ra khoi phong
exten=>900,1,Answer()
exten=>915,1,Answer()
exten=>915,n,MeetMeAdmin(1000,s)
exten=>916,1,Answer()
exten=>916,n,MeetMeAdmin(1000,S)
;v:giam volume nghe trong phong, V:tang
volume nghe trong phong
exten=>917,1,Answer()
exten=>917,n,MeetMeAdmin(1000,v)
exten=>918,1,Answer()
exten=>918,n,MeetMeAdmin(1000,V)
;t:giam volume noi 1 thanh vien, T:tang
exten=>919,1,Answer()
exten=>919,n,MeetMeAdmin(1000,t,1)
exten=>920,1,Answer()
exten=>920,n,MeetMeAdmin(1000,T,1)
;u:giam volume nghe 1 thanh vien, U:tang
exten=>921,1,Answer()
exten=>921,n,MeetMeAdmin(1000,u,1)
exten=>922,1,Answer()
exten=>922,n,MeetMeAdmin(1000,U,1)
;r:reset volume 1 thanh vien, R:reset volume
tat ca thanh vien
exten=>923,1,Answer()
exten=>923,n,MeetMeAdmin(1000,r,1)
exten=>924,1,Answer()
exten=>924,n,MeetMeAdmin(1000,R)
2. Yêu cầu triển khai các tình huống thử nghiệm:
• Tạo và thử nghiệm một hệ thống hội nghị gồm có các yêu cầu như sau:
o Có một chủ tọa đóng vai điều khiển hội nghị
o Có 2 người đóng vai trò trình bày vấn đề
o Trong quá trình hội thảo, có thành viên rời cuộc họp (có thể do kết thúc cuộc
gọi hoặc do lỗi máy, )
o Một thành viên không trong danh sách tham gia hội nghị gia nhập cuộc họp
o Trong quá trình thảo luận cho phép 2 người trở lên cùng được phép trình bày
o Chủ tọa bị thoát khỏi hội nghị (vd: tắt softphone)
6 Giải thích về chất lượng dịch vụ hội nghị theo công nghệ hệ thống
Asterick-SIP so với công nghệ MCU mềm khác.
Asterisk là hệ thống chuyển mạch mềm, nó tạo nên 1 hệ thống tổng đài
cá nhân PBX (private branch exchange) kết nối đến các mạng có sẵn như IP,
PSTN và sd các chuẩn SIP,có giao thức riêng là IAX (Inter-Asterisk Exchange).
Các chức năng của Asterisk liên qua đến hội nghị trực tuyến: Thực chất
trong Asterisk không có bộ phận phục vụ hội nghị đa phương tiện riêng mà chỉ
có các hàm trên Từ đó có thể thấy được bên trong nền tảng Asterisk chưa
thực sự có khối MCU.
việc điều khiển phiên họp của Asterik dành cho chủ tọa được thực hiện chủ yếu
qua menu chức năng của bàn phím điện thoại hoặc dòng lệnh. Điều này gây ra
sự bất tiện không nhỏ cho chủ tọa do không thể theo dõi được theo thời gian
thực số lượng cũng như thông tin của các thành viên đang tham gia phiên họp.
Như vậy hệ thống cần có một giao diện quản lý đồng nhất và thân thiện cho
chủ tọa cũng như các thành viên tham gia phiên họp:
Meetme được gọi là conference bridge với một số chức năng phục vụ cho việc
tổ chức một phiên họp trực tuyến như:
Tạo phiên hội nghị
Thêm và loại bỏ thành viên
Phân phối tài nguyên ở mức cơ bản đó là phân phối cho tất cả các thành
viên theo thứ tự tham gia cuộc họp mà không có độ ưu tiên nào khác.
MeetmeAdmin nhằm bổ sung khả năng điều khiển hội nghị với một số chức
năng như:
Kick một hoặc toàn bộ thành viên ra khỏi phiên họp.
Khóa phiên họp không cho thành viên khác tham gia thêm vào.
BBB sử dụng hơn mười thành phần mã nguồn mở như:
asterisk, red5, apache MQ, tomcat 6, pdf2swf, nginx, open office,
mysql, grails, ghostscript, xuggler, and imagemagick.
Phiên bản mới nhất hiện BBB hỗ trợ âm thanh nhiều hơn chia sẽ được
video, Chat public hoặc Chat private, tích hợp VoIP sử dụng Asterisk
hoặc FreeSWITH, hỗ trợ office của Mỉcosoft sử dụng OpenOffice.
Người dùng có thể vào hội nghị ở trong một trong hai vai trò:
Xem
Kiểm duyệt
Dễ dàng thêm các chức năng, và dễ sử dụng nhờ giao diện web.
Nhược điểm BigBlueButton với Asterisk-SIP:
BBB sử dụng Red5 một triển khai mã nguồn mở của Adobe Flash Media
Server Mặc dù là mã nguồn mở, khách hàng phụ thuộc vào trình duyệt
web có plugin của Adobe Flash.
Red 5 là media streaming server viết bằng Java nên không thể đảm bảo
tốc độ truyền tải thời gian thực như Asterisk