TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU VÀ SẢN PHẨM TRONG, NGOÀI NƯỚC LIÊN QUAN TRỰC TIẾP ĐẾN ĐỀ TÀI Ý tưởng khoa học: + Tìm hiểu và xây dựng hệ thống thực hành mạng và dịch vụ VoIP phục vụ đào t
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG
Trang 2THUYẾT MINH ĐĂNG KÍ ĐỀ TÀI NGHIÊN CỨU KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG
NĂM 2013
1 TÊN ĐỀ TÀI: Xây dựng hệ thống thực hành mạng và dịch vụ VoIP
2 THỜI GIAN THỰC HIỆN
Từ tháng 02 năm 2013 đến tháng 12 năm 2013
3 CHỦ NHIỆM ĐỀ TÀI
Họ và tên : Học vị: ThS Chức vụ: Giảng viên
Đơn vị: Khoa ĐTVT
Điện thoại CQ: E-mail: hoangvandong@epu.edu.vn
Điện thoại NR: Mobile: 09046830620
4 DANH SÁCH NHỮNG NGƯỜI CHỦ CHỐT THỰC HIỆN ĐỀ TÀI VÀ PHỐI HỢP (không quá 2người)
T
T
Họ và tên Học hàm, học vị Đơn vị công tác
1 Trần Vũ Kiên Thạc sĩ Khoa ĐTVT
2 Hoàng Thị Phương Thảo Thạc sĩ Trung tâm ART
5 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU VÀ SẢN PHẨM TRONG, NGOÀI NƯỚC LIÊN QUAN TRỰC TIẾP ĐẾN ĐỀ TÀI
Ý tưởng khoa học:
+ Tìm hiểu và xây dựng hệ thống thực hành mạng và dịch vụ VoIP phục vụ đào tạochuyên ngành điện tử-viễn thông và các chuyên ngành khác có nhu cầu đào tạo về mạngthông tin thế hệ mới (NGN), mạng máy tính, truyền thông đa phương tiện…
Tình hình nghiên cứu trong và ngoài nước (trong và ngoài ngành):
+ Trên thế giới, xu hướng chung là triển khai mạng thế hệ mới, mạng tích hợp dịch vụtrong đó dịch vụ điện thoại là một phần của mạng này
+ Trong nước các dịch vụ VoiP đã được triển khai và sử dụng rộng rãi, sử dụng dịch
vụ của các nhà cung cấp nước ngoài (Skypee, Viber, Yahoo…), hoặc của các nhà cung câpdịch vụ trong nước (VNPT, Vietttel, FPT…), cũng như các hệ thống dùng riêng (tổng đài
IP nội bộ)… Việc triển khai này đòi hỏi nhiều nhân lực để thiết kế, chế tạo, triển khai vàvận hành hệ thống Tuy nhiên sinh viên mới chỉ được học trên lý thuyết, sử dụng dịch vụ
và phần lớn chưa được tiếp cận với hệ thống thực tế
Trang 3Khả năng thành công
Đề tài có tính khả thi cao và có thể sử dụng để làm bài thực hành mạng và dịch vụ voip
6 MỤC TIÊU CỦA ĐỀ TÀI
Tạo ra sản phẩm phục vụ cho việc nâng cao chất lượng đào tạo và học tập của sinh viênchuyên ngành ĐTVT, CNTT Giúp sinh viên có thể thực hiện những bài thực hành nhằmnhanh chóng củng cố kiến thức lý thuyết, nâng cao kỹ năng thực hành gắn với thực tế côngviệc sau khi ra trường
7 NỘI DUNG NGHIÊN CỨU:
- Nghiên cứu các dịch vụ VoIP
- Triển khai hệ thống cung cấp dịch vụ VoIP: các phần mềm, máy chủ, mạng, thiết bị đầu cuối
- Xây dựng các bài thí nghiệm trên bộ thiết bị
8 PHƯƠNG PHÁP NGHIÊN CỨU
- Tìm hiểu lý thuyết và các yêu cầu thực tế để thiết kế các chức năng của thiết bị
- Viết chương trình, cài đặt, thử nghiệm
- Biên soạn tài liệu
9 KẾ HOẠCH TRIỂN KHAI NGHIÊN CỨU
- Tìm hiểu nội dung lý thuyết và nội dung học tập của sinh viên chuyên ngành
- Thiết kế sơ đồ mạng cung cấp dịch vụ
- Vết chương trình cài đặt và thử nghiệm dịch vụ
- Viết tài liệu hướng dẫn sử dụng và biên soạn một số bài thực hành
10 DỰ KIẾN SẢN PHẨM VÀ ĐỊA CHỈ ỨNG DỤNG
-Tên sản phẩm: Hệ thống thực hành mạng và dịch vụ VoIP
-Địa chỉ có thể ứng dụng: Phòng thí nghiệm, thực hành phục vụ đào tạo chuyên ngành về
viễn thông, điện tử
11 KINH PHÍ THỰC HIỆN ĐỀ TÀI
Tổng kinh phí: 6 triệu đồng
Trong đó:
Trang 4Dự trù kinh phí theo các mục chi:
Đơn vị: Triệu đồng
1. Khảo sát thiết kế và thu thập tài liệu 1 triệu đồng 16.6%
2 Chi phí nghiệp vụ chuyên môn
- Thuê các cán bộ khoa học kỹ thuật (trong và
ngoài ngành)
- Thuê các cộng tác viên khoa học (trong và ngoài
ngành)
4 triệu đồng 66.7%
3 Chi phí thuê mướn
- Thuê máy đo Oscilloscope
- Công tác phí, hội nghị, hội thảo
- In ấn tài liệu, văn phòng phẩm
Trang 6MỤC LỤC DANH MỤC HÌNH III DANH MỤC BẢNG IV
MỞ ĐẦU 1
1 CÀI ĐẶT PHẦN MỀM ASTERISK VÀ THỬ NGHIỆM ÂM THANH THOẠI TRÊN MẠNG (VOIP) THEO MÔ HÌNH PC TO PC TRÊN MẠNG LAN TẠI PHÒNG THÍ NGHIỆM 2
1.1 MỤC ĐÍCH 2
1.2 YÊU CẦU 2
1.3 TỔNG QUAN VỀ ASTERISK 2
1.4 MÔ HÌNH MÔ TẢ CUỘC GỌI SIP TRONG MẠNG LAN 3
1.5 CÀI ĐẶT ASTERSIK : 3
1.5.1 Cài đặt asterisk now trên VMware: 3
1.6 CẤU HÌNH TRÊN MÁY CHỦ ASTERISK 6
1.6.1 Cấu hình cuộc gọi cơ bản trong mạng lan: 6
1.6.2 Cài nhạc chờ cho thuê bao: 10
1.7 KỊCH BẢN THỬ NGHIỆM TẠI PHÒNG THÍ NGHIỆM 12
2 THỬ NGHIỆM VÀ PHÂN TÍCH CÁC CHỨC NĂNG TỔNG ĐÀI ĐÀM THOẠI TRÊN NỀN ASTERISK TRONG MÔI TRƯỜNG MẠNG 13
2.1 MỤC ĐÍCH 13
2.2 YÊU CẦU 13
2.3 CẤU HÌNH TỔNG ĐÀI NỘI BỘ VÀ THỬ NGHIỆM CÁC TÍNH NĂNG THOẠI 13
2.3.1 Hộp thư thoại 13
2.3.2 Hàm DIALSTATUS 15
2.3.3 ví dụ về rẽ nhánh cuộc gọi cuộc gọi, chuyển hướng cuộc gọi : 16
2.4 TRIỂN KHAI TÌNH HUỐNG TẠI PHÒNG THÍ NGHIỆM 17
2.5 TRUNK 2 TỔNG ĐÀI (BỔ SUNG) 18
2.5.1 Giới thiệu 18
2.5.2 Cấu hình 19
3 CÀI ĐẶT THỬ NGHIỆM ỨNG DỤNG HỘI NGHỊ THOẠI TƯƠNG TÁC ĐA ĐIỂM TRÊN NỀN ASTEISK TẠI PHÒNG THÍ NGHIỆM 21
3.1 MỤC ĐÍCH 21
3.2 YÊU CẦU 21
3.3 GIỚI THIỆU: 21
3.4 CÁC LỆNH SỬ DỤNG TRONG HỘI NGHỊ THOẠI 22
3.4.1 Hàm MeetMeAdmin () : 22
Trang 73.4.2 hàm MeetMeCount() 22
3.4.3 hàm MeetMe() : 23
3.5 THỰC HIỆN BÀI THỰC HÀNH : 24
3.6 TRIỂN KHAI TẠI PHÒNG THÍ NGHIỆM 28
Trang 8DANH MỤC HÌNH
Hình 1.1 : Quá trình gọi điện của cuộc gọi SIP 3
Hình 1.2:Vào File/New Virtual Machine 3
Hình 1.3 : Chọn custom 3
Hình 1.4 : Tại cửa sổ Installer from chọn như hình 4
Hình 1.5 : Tại cửa sổ Guest operating system chọn như hình 4
Hình 1.6 : Chọn tên là asterisk và đường dẫn 4
hình 1.7 : Vào tùy chỉnh đường dẫn đến thư mục cài đặt 4
hình 1.8 : Chọn 1 để cài đặt asteisk và FreePBX , 2 để cài asterisk only 5
hình 1.9 : Chọn Yes, discard any data 5
hình 1.10 : Sau khi nhập Passwd root chọn next và chọn Use Anyway 5
hình 1.11 : Chọn Replace Existing Linux System 5
Hình 1.12 : Cửa sổ soạn thảo dòng lệnh 6
hình 1.13 : Ví dụ về cấu hình thuê bao SIP 8
Hình 1.14 : ví dụ Cấu hình trong file extensions.conf 9
Hình 1.15 : Thuê bao 101 gọi cho 102 tín hiệu chờ 102 nhấc máy 10
Hình 1.16 : Quá trình gọi 10
hình 1.17 : kết quả 12
Hình 2.1 : Mô hình cuộc gọi liên server giữa 2 thuê bao SIP 19
Hình 3.1 : SIP 2002 quay số đến 1080 và làm theo kịch bản dựng sẵn 21
Hình 3.2 : 2004 quay số đến 1080, khi có 2 người trở lên thì có thể bắt đầu họp, 2003 cũng có thể tham gia phòng họp bằng cách quay số 1080 21
Trang 9DANH MỤC BẢNG
Bảng 1.1: Cấu hình tệp /etc/asterisk/modules.conf 5
Bảng 1.2: Lệnh vào chế độ insert 6
Bảng 1.3: Cấu hình trong files /etc/asterisk/sip.conf 6
Bảng 1.4: các lệnh thường sử dụng trong file extensions.conf 8
Bảng 1.5: cấu hình cuộc gọi SIP 9
Bảng 1.6: cấu hình file etc/asterisk/extensions.conf 9
Bảng 1.7: cấu hình cuộc gọi SIP có nhạc chờ 11
Bảng 1.8: cấu hình đường dẫn và định dạng file nhạc chờ 11
Bảng 2.1: cấu hình tên hộp mail 13
Bảng 2.2: cấu hình ghi hôp thư thoại khi không trả lời 13
Bảng 2.3: kiểm tra tin nhắn hộp thoại 14
Bảng 2.4: tên tài khoản: 2002, pass:1234 14
Bảng 2.5: SIP: 2002 PASS: 1234 14
Bảng 2.6: lưu vào thư thoại khi không trả lời 14
Bảng 2.7: kiểm tra tin nhắn thoại 14
Bảng 2.8: 2 tài khoản SIP 2002 và SIP 2003 pass: pass1234 15
Bảng 2.9: các chức năng tương ứng với các trạng thái hàm DIALSTATUS 15
Bảng 2.10: MAILBOX : 2002 và 2003 16
Bảng 2.11: tài khoản SIP 2002 16
Bảng 2.12: nếu 20s SIP 2002 không trả lời cuộc gọi được chuyển hướng 2003 16
Bảng 2.13: tài khoản SIP 2002 16
Bảng 2.14: rẽ nhánh cuộc gọi thuê bao SIP 17
Bảng 2.15: cấu hình liên kết gọi liên server và thuê bao SIP1001 19
Bảng 2.16: kịch bản cuộc gọi nội đài và gọi liên server 19
Bảng 2.17: cấu hình IP tổng đài liên server và tài khoản SIP2001 20
Bảng 2.18: kịch bản cuộc gọi liên server và gọi nội đài 20
Bảng 3.1: các chức năng ADMIN 22
Bảng 3.2: ví dụ về sử dụng hàm MeetMeAdmin 22
Bảng 3.3: ví dụ về sử dụng hàm MeetMeCount 23
Bảng 3.4: các tùy chọn tạo phòng hội nghị 23
Bảng 3.5: ví dụ tạo phòng hội nghị 24
Bảng 3.6: cấu hình SIP 2002 và SIP2003 24
Bảng 3.7: cấu hình chuyển hướng cuộc gọi khi gọi đến số định trước 24
Bảng 3.8: kịch bản phân biệt uer và admin 24
Trang 10Bảng 3.11: các chức năng nâng cao của admin 25
Bảng 3.12: các phím chức năng khi thực hiện lệnh admin 28
Trang 11Để giúp sinh viên hiểu hơn về môi trường mã nguồn mở, cách thức hoạt động củatổng đài asteisk cũng như sử dụng thành thạo các bước cơ bản để có thể thực hiện cuộcgọi VOIP thì sinh viên sẽ được chia ra 3 bài thí nghiệm cơ bản để làm quen dần với môitrường asterisk :
- Bài thí nghiệm 1 : cài đặt phần mềm asterisk và thử nghiệm truyền âm thanh thoạitrên mạng (VOIP) theo mô hình PC to PC trên mạng lan
- Bài thí nghiệm 2 : Thử nghiệm và phân tích các chức năng tổng đài đàm thoại trênnền asterisk trong môi trường mạng
- Bài thí nghiệm 3: Cài đặt và thử nghiệm thoại tương tác đa điểm trên nền asterisktại phòng thí nghiệm
Sau 3 bài thí nghiệm sinh viên sẽ có kiến thức nhất định và hiểu cách thức hoạtđộng của một tổng đài IP asteisk và có thể tự cấu hình cuộc gọi và các chức năng cơ bảncủa tổng đài asterisk
Trang 121 CÀI ĐẶT PHẦN MỀM ASTERISK VÀ THỬ NGHIỆM ÂM THANHTHOẠI TRÊN MẠNG (VOIP) THEO MÔ HÌNH PC TO PC TRÊN MẠNG LAN TẠI PHÒNG THÍ NGHIỆM
1.1 Mục đích
- Giúp sinh viên hiểu được một môi trường phần mềm mã nguồn mở Asterisk phục
vụ truyền thông đa phương tiện
- Cài đặt và thử nghiệm truyền âm thanh (VOIP) theo mô hình PC to PC trên mạngLAN tại phòng thí nghiệm
1.2 Yêu cầu
- sinh viên phải cài đặt asterisk và sử dụng thành thạo các lệnh cơ bản của asterisk
- cấu hình asterisk và thử nghiệm gọi thoại giữa 2 máy trong môi trường mạngLAN
- ngoài ra có thể tham khảo tài liệu tại http://my.opera.com/asteriskvn/blog/
1.3 Tổng quan về asterisk
Asterisk là phần mềm thực hiện chức năng tổng đài điện thoại nội bộ (PBX), chophép các máy điện thoại nhánh (extension) thực hiện cuộc với nhau và kết nối với các hệthống điện thoại khác bao gồm cả mạng điện thoại analog thông thường (PSTN) và VoIP
Asterisk có đầy đủ tính năng của tổng đài PBX thương mại: hộp thư thoại, hộiđàm, tương tác thoại (menu thoại)… Đặc biệt, Asterisk còn hỗ trợ nhiều giao thức VoIPnhư sau SIP và H.323, hoạt động như trạm kết nối giữa các điện thoại IP và mạng PSTN
Asterisk là hệ thống chuyển mạch mềm, là phần mềm nguồn mở được viết bằngngôn ngữ C chạy trên hệ điều hành Linux Ban đầu được xây dựng nhằm đáp ứng nhucầu cá nhân.để tiết kiệm chi phí, thay vì mua tổng đài PBX có sẵn, Mark đã quyết định tựxây dựng phần mềm thực hiện chức năng tổng đài chạy chạy trên PC dùng hệ điều hànhLinux và kết quả là Asterisk ra đời
Asterisk là mã nguồn mở, nó thực hiện truyền thông trong phần mềm thay vì phầncứng cho phép thêm tính năng mới nhanh chóng, thực hiện thay đổi dễ dàng, hỗ trợ đượcquốc tế hóa, một tập hợp dồi dào các file cấu hình, mã nguồn mở, mọi khía cạnh củaasteisk có thể được tùy biến để đáp ứng nhu cầu của chúng ta
2
Trang 131.4 Mô hình mô tả cuộc gọi SIP trong mạng LAN
Hình 1.1 : Quá trình gọi điện của cuộc gọi SIP
1.5 Cài đặt astersik :
1.5.1 Cài đặt asterisk now trên VMware:
Các bước thực hiện như hình:
Hình 1.2:Vào File/New Virtual Machine
Hình 1.3 : Chọn custom
Trang 14Hình 1.4 : Tại cửa sổ Installer from chọn như hình
Hình 1.5 : Tại cửa sổ Guest operating system chọn như hình
Hình 1.6 : Chọn tên là asterisk và đường dẫn
hình 1.7 : Vào tùy chỉnh đường dẫn đến thư mục cài đặt
4
Trang 15hình 1.8 : Chọn 1 để cài đặt asteisk và FreePBX , 2 để cài asterisk only
hình 1.9 : Chọn Yes, discard any data
hình 1.10 : Sau khi nhập Passwd root chọn next và chọn Use Anyway
hình 1.11 : Chọn Replace Existing Linux System
Chú ý: Trường hợp sau khi vào chế độ remote asteisk mà không dùng được các
lệnh như: sip show peers , thì ta cấu hình lại tệp tin module.conf như sau:
Trang 16noload => chan_console.so
Để soạn thảo lệnh trong cửa sổ vim nhấn a, để lưu và thoát nhấn Esc sau đó: wq
Để đơn giản ta có thể dùng winSCP để cấu hình cho đơn giản, có thể downloadwinSCP tại http://winscp.net/eng/download.php#download2, điền tên đăng nhập hostname : địa chỉ máy chủ asterisk, username : root, pass: , toàn bộ file cấu hình nằm trongthư mục /etc/asterisk
1.6 Cấu hình trên máy chủ asterisk
1.6.1 Cấu hình cuộc gọi cơ bản trong mạng lan:
a Cấu hình tệp tin sip.conf
sip.conf: tập tin cấu hình này định nghĩa các tài khoản dùng giao thức khởi tạophiên (Session Initiation Protocal) và các tùy chọn cho chúng Chúng ta cũng có thể thiếtlập các biến tổng quát cho SIP, như dùng cổng nào và thời gian timeout là bao nhiêu
Cấu hình thuê bao sip:
Bảng 1.3: Cấu hình trong files /etc/asterisk/sip.conf
[context] ;đây là extension của điện thoại SIP
Trang 17Sau đây là cấu hình cụ thể cho một user :
Context : thiết lập ngữ cảnh mặc định cho cuộc gọi vào , các cuộc gọi có thể từthuê bao SIP
Type : gồm các giá trị :
user :chỉ nghepeer : chỉ gọifiend : cả nghe vào gọi
Host : địa chỉ IP hay tên miền mà client kết nối đến ,giá trị dynamic cho tất cảcác client
Secret : mật khẩu thuê bao sip
Username : thiết lập username dùng cho việc xác thực
Nat : thiết lập cho dù thiết bị SIP ở phía sau NAT hay không
Mailbox : thiết lập mailbox để kiểm tra tin nhắn cho user :có thể là địa chỉmailbox ID hoặc mailboxIP sau là @ context
Qualify : thiết lập bao nhiêu milisecond thiết bị có thể mất kết nối
Security : deny hoặc permit
Deny : deny=0.0.0/0.0.0.0 thì tất cả các đăng kí bị từ chối, deny=192.168.1.0/255.255.255.0 thì tất cả các dăng kí xuất phát từ địa chỉ lớp c
bị từ chốiPermit : danh sách IP cho phép đăng kí đến, mạc định tất cả đều được phép
Codes : đầu tiên nên thiết lập disalow=all để vô hiệu hóa tất cả codec, sau đóthêm từng codec bằng cách dùng allow=codec
Trang 18hình 1.13 : Ví dụ về cấu hình thuê bao SIP
Thoát chế độ insert nhấn Esc và dùng lệnh: wq để thoát
b Thêm thông tin dialplan trong tệp /etc/asterisk/extensions.conf
extensions.conf: tập tin này cấu hình hoạt động của Asterisk, một vài ứng dụngthường hay dùng trong tệp extensions.conf
Bảng 1.4: Các lệnh thường sử dụng trong file extensions.conf
VoicemailMain() Ứng dụng này cho phép user lắng nghe các tin
nhắn thoại, cũng như ghi âm các lời chào, tên vàthiết lập các tùy chọn cấu hình khác
Answer() Trả lời cuộc gọi này Rất nhiều ứng dụng
đòi hỏi rằng cuộc gọi phải được trả lời trước khichúng có thể thực thi các tác vụ khác
Playback(tên_tập tin) Dùng để phát một file âm thanh
dạng wav hoặc gsm Cuộc gọi phải được trả lờitrước khi thực thi tác vụ này
Background(tên_tập tin) Giống như ứng dụng Playback, tuy
nhiên nó được dùng để chờ một phím nhập vào
từ user, không bắt buộc phải nghe hết file âmthanh rồi mới chuyển tới extension khác Ứngdụng này đòi hỏi cuộc gọi phải trả lời trước
8
Trang 19Voicemail(extendsion) Chức năng này dùng để chuyển cuộc gọi
hiện tại vào hộp thư thoại
Goto(contex,extension,priority) Ứng dụng này giúp chúng ta gởi một
cuột gọi đến một context, extension và priorityđược chỉ định cụ thể
Dial(technology/id,timeout,options) Đây là nơi chúng ta báo cho Asterisk
biết để rung chuông một điện thoại khi nóđược quay số
H : cho phép gác máy bằng cáchnhấn phím *
Hình 1.14 : ví dụ Cấu hình trong file extensions.conf
c Thử nghiêm cuộc gọi trên mạng lan
Các bước thực hiện 1 cuộc gọi cơ bản
Bước 1 : Cấu Hình file etc/asterisk/sip.conf
Bảng 1.5: Cấu hình cuộc gọi SIP
Bảng 1.6: cấu hình file etc/asterisk/extensions.conf
exten => _2XXX,1,Dial(SIP/${EXTEN},20)
Trang 20exten => _2XXX,2,hangup()
Quá trình thực hiện cuộc gọi
Hình 1.15 : Thuê bao 101 gọi cho 102 tín hiệu chờ 102 nhấc máy
Các bước xây dựng nhạc chờ cho thuê bao
- + Bước 1 : Trong files /etc/asterisk/extensions.conf cấu hình context như sau :
10