XÂY DỰNG TỔNG đài ASTERISK dựa TRÊN ORACLE VM VIRTUAL BOX (có code bên dưới) ............................. XÂY DỰNG TỔNG đài ASTERISK dựa TRÊN ORACLE VM VIRTUAL BOX (có code bên dưới) ............................. XÂY DỰNG TỔNG đài ASTERISK dựa TRÊN ORACLE VM VIRTUAL BOX (có code bên dưới) ............................. XÂY DỰNG TỔNG đài ASTERISK dựa TRÊN ORACLE VM VIRTUAL BOX (có code bên dưới) ............................. XÂY DỰNG TỔNG đài ASTERISK dựa TRÊN ORACLE VM VIRTUAL BOX (có code bên dưới) .............................
ĐỒ ÁN Trang 1/33 ĐỒ ÁN XÂY DỰNG TỔNG ĐÀI ASTERISK DỰA TRÊN ORACLE VM VIRTUAL BOX Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 2/33 MỤC LỤC DANH MỤC CÁC HÌNH VẼ Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 3/33 Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 4/33 CHƯƠNG TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu Với phát triển mạnh mẽ cơng nghệ VOIP nhiều doanh nghiệp áp dụng mơ hình tổng đài Asterisk vào công ty với nhiều ưu điểm vượt trội so với mạng chuyển mạch PSTN : giảm chi phí gọi đường dài , tích hợp nhiều dịch vụ mang tính thống nhất, quản lý băng thơng, khả mở rộng, 1.1.1 Mục đích nhiệm vụ đề tài Tìm hiểu cơng nghệ VOIP Tìm hiểu giao thức SIP H323 Tìm hiểu hệ hành Linux Tìm hiểu phần mềm máy ảo Oracle VM virtual Box Xây dựng tổng đài Asterisk 1.1.2 Các phần hồn thành đề tài Hiểu cơng nghệ VOIP giao thức SIP, H323 Xây dựng mơ hình tổng đài Asterisk với quy mơ nhỏ có dịch vụ là: Time Condition ( kiểm tra thời gian làm việc), IVR ( tự động gửi lời chào khách hàng định hướng gọi ), Ring Group ( rung chuông đồng thời ), Queue ( rung chuông ) 1.1.3 Phần hạn chế đề tài Do kiến thức hạn hẹp thời gian nghiên cứu chưa đủ nên đề tài nhiều thiếu xót nhiều dịch vụ áp dụng ngồi thực tế như: dịch vụ tính cước A2billing, giới hạn gọi bên máy nội để tránh lạm dụng cước công ty cho mục đích riêng,… CHƯƠNG LÝ THUYẾT CƠ BẢN VỀ TỔNG ĐÀI ASTERISK 1.2 Giới thiệu công nghệ VOIP [5] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 5/33 1.1.4 Khái niệm VoIP ( viết tắt Voice over Internet Protocol, nghĩa truyền giọng nói giao thức IP ) cơng nghệ truyền thoại qua mạng máy tính thơng qua giao thức TCP/IP Bản chất VoIP chuyển mạch gói, thay cho công nghệ truyền thoại cũ sử dụng chuyển mạch kênh Nó nén nhiều kênh thoại đường truyền tín hiệu truyền qua mạng Internet VoIP cho phép tạo gọi sử dụng băng thông rộng thay sử dụng đường dây điện thoại analog VoIP có dịch vụ cho phép gọi người khác dùng số điện thoại số nội bộ, đường dài, di động, quốc tế, Hình 2- 1: Mơ hình truyền thoại VoIP hai văn phòng[5] 1.1.5 Ưu nhược điểm công nghệ VoIP Ưu điểm : − Ưu điểm bật giảm chi phí, việc sử dụng tối ưu băng thông kỹ thuật nén thoại tiên tiến giảm từ 64 Kbps Kpbs, có nghĩa kênh 64Kbps phục vụ kênh thoại độc lập Chi phí cho gọi đường dài chi phí truy cập Internet Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 6/33 − Khả mở rộng: Các hệ thống điện thoại thường hệ thống kín, khó thêm tính thiết bị mạng internet lại làm điều − Có thể đồng thời vừa nói chuyện vừa truyền file, chia sẻ liệu hay xem hình ảnh với người khác − Sử dụng đồng thời điện thoại bàn thông thường điện thoại IP qua hệ thống mạng LAN ( Local Area Network ) đảm bảo thông tin liên lạc khơng bị gián đoạn có cố Nhược điểm: − Kỹ thuật phức tạp: Để có dịch vụ thoại chấp nhận kỹ thuật nén tín hiệu phải đạt yêu cầu tỉ số nén lớn, khả suy đốn tái tạo lại thơng tin gói bị thất lạc, tốc độ sử lí codec ( Coder Decoder ) phải đủ nhanh, … − Vấn đề bảo mật: Mạng internet mạng có tính rộng rãi hỗn hợp Trong có nhiều loại máy tính khác sử dụng chung sở hạ tầng Do không đảm bảo thông tin bảo mật người sử dụng an toàn 1.3 Các thành phần mạng VoIP Các thành phần chủ yếu mạng VoIP bao gồm: Gateway, VoIP Server, IP network, End User Equipment Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 7/33 Hình 2- 2: Các thành phần mạng VOIP [2] • PBX server: Hoạt động proxy server, cho phép tạo tài khoản, lưu trữ thành danh sách số nội Khi thiết bị đầu cuối muốn đăng nhập thiết lập gọi phải yêu cầu máy chủ PBX thiết lập kết nối, muốn gọi ngồi phải thông qua Gateway nhà cung cấp dịch vụ cho thuê đầu số DID • Gateway: Là thiết bị kết nối loại mạng khác nhau, chuyển đổi analog signal sang digital signal ngược lại • VoIP server: Là máy chủ trung tâm có nhiệm vụ định tuyến bảo mật cho gọi VoIP Mạng SIP server gọi SIP server, mạng H323 gọi gatekeeper • End user equipment: Là thiết bị đầu cuối softphone, máy tính PC, ứng dụng Zalo, Viber,… • IP phone: Điện thoại dùng riêng cho mạng VoIP như: Yealink, Cisco, Grandstream,…Có thể kết nối trực tiếp với VoIP server 1.4 Các kiểu kết nối mạng VoIP [5] 1.1.6 Kết nối phone – phone Sử dụng mạng internet làm mạng trung gian kết nối với Gateway chuyển mạch tới mạng PSTN sau đẩy vào điện thoại Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 8/33 Hình 2- 3: Phone to phone[5] 1.1.7 Kết nối computer – computer Máy tính PC có sử dụng thiết bị microphone, headphone, sound card có sử dụng chung kết nối mạng Lan hay Internet Hình 2- 4: Computer to computer [5] 1.1.8 Kết nối computer – phone Gateway có vai trò quan trọng việc chuyển mạch mạng PSTN mạng IP giao tiếp với Hình 2- 5: Computer to Phone [5] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 9/33 1.5 Các nhân tố ảnh hưởng đến chất lượng thoại VoIP Mục tiêu dịch vụ khơi phục chất lượng âm Có nhân tố chủ yếu ảnh hưởng đến chất lượng dịch vụ thoại: • Sự biến thiên độ trễ (Jitter): Là biến thiên thời gian trễ trễ đường truyền khác mạng • Trễ (Delay): Tiếng vang chồng tiếng hai vấn đề gây trễ đầu cuối • Mất gói: Các gói tin khơng đảm bảo chuyển hết tới đích Các gói bị loại bỏ tải thời gian tắc nghẽn Có bước liên quan đến q trình số hóa tín hiệu analog: • Lấy mẫu (Sampling) • Lượng tử hóa (Quantization) • Mã hóa (Encoding) • Nén giọng nói (Voice Compression) 1.6 Các giao thức VOIP [5] 1.1.9 Giao thức H.323 1.1.1.1 Giới thiệu Hệ thống giao tiếp dựa gói đa phương tiện, hay gọi H.323, chuẩn quốc tế VoIP phát triển Liên Minh Viễn Thông Quốc Tế (ITU – International Telecommunicatinons Union) H.323 thiết kế cho việc truyền audio, video data qua mạng IP 1.1.1.2 Các giao thức H.323 Giao thức H.323 tập hợp nhóm giao thức Các giao thức riêng sử dụng mạng H.323 bao gồm: • H.255 - báo hiệu gọi • T.120 - chia liệu • H.245 - điều khiển đa phương tiện • Q.391 - sử dụng cho tín hiệu gọi • H.235 - bảo mật chứng thực Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 10/33 • RTP - truyền tải đa phương tiện 1.1.1.3 Các thành phần H.323 Các thành phần hệ thống mạng H.323 bao gồm: Hình 2- 6: Các thành phần giao thức H.323 [1] Gateway thiết bị cho phép thông tin giao tiếp hai chiều với thiết bị mạng viễn thông khác Các mạng viễn thơng khác thường PSTN Terminal thường phần mềm phần cứng điện thoại VoIP Một số chương trình xem thiết bị terminal việc trao đổi giao thức MCU thiết bị dùng cho hội thoại nhiều người Là nơi có nhiệm vụ trộn kênh âm – video hội thoại Terminal, gateway, MCU thiết bị đầu cuối Ngoài thiết bị đầu cuối trên, mạng H.323 có thêm thành phần thứ gatekeeper Thiết bị gatekeeper điều khiển trung tâm mạng Vai trò gatekeeper đăng ký thiết bị đầu cuối gọi vào Các thiết bị đầu cuối quản lý gatekeeper gọi khu (Zone) 1.1.1.4 Phương thức hoạt động giao thức H.323 [3] Một mạng sử dụng gatekeeper dòng dịch chuyển tín hiệu thơng qua gatekeeper Ta có hai thiết bị đầu cuối (điện thoại IP) gatekeeper, số điện thoại gán cho thiết bị tương ứng 100 200 Một người với số điện thoại 100 quay số 200 Quá trình thiết lập gọi diễn sau: • Thiết bị đầu cuối 100 gọi 200 phải gửi thông điệp ARQ (Admission Request - thông điệp yêu cầu cấp IP) để cấp quyền đặt gọi ARQ chứa số gọi (200) báo cáo cho gatekeeper thiết bị đầu cuối cần có số phân giải thành địa IP Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 18/33 Hình 2- 17: Quá trình thực gọi [7] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 19/33 CHƯƠNG XÂY DỰNG MƠ HÌNH TỔNG ĐÀI ASTERISK 1.7 Tổng quan Asterisk Asterisk phần mềm mã nguồn mở, cài đặt lên server Linux trở thành tổng đài nội (PBX) Các thao tác cấu hình dịch vụ, quản trị Asterisk sử dụng lệnh (CLI), để dễ dàng cho người sử dụng cài thêm opensource khác làm giao diện web quản lý cho Asterisk; lúc thao tác với tổng đài PBX thông qua giao diện web Có thể sử dụng phần mềm sau: Freepbx, Elastix, Trixbox, Mặc định Asterisk load cấu hình từ file, cần nắm vững cấu trúc file format file cấu hình Mốt số file cấu hình Asterisk nằm đường dẫn sau: • /etc/asterisk : thư mục chứa tất file cấu hình Asterisk • /var/lib/asterisk: chứa thư viện, file âm thanh, scripts agi • /var/lib/asterisk/sounds: chua cac file am • /var/spool/asterisk: chứa file ghi âm gọi, voicemail, call file Mốt số file cấu hình quan trọng thường xuyên sử dụng: • sip.conf: khai báo sip account, trunk account • extensions.conf: khai báo dialplan • confbridge.conf: khai báo cấu hình voice conference sử dụng confbridge • musiconhold.conf: khai báo cấu hình dịch vụ MOH - Music On Hold • queues.conf: khai báo cấu hình dịch vụ queue Mở giao diện Asterisk Command line Interface (CLI) câu lệnh asterisk –r Một số câu lệnh cần thiết CLI: • core set verbose 32: Xem nhiều log CLI • sip show users: xem danh sách sip accounts hệ thống • sip show peers: xem trạng thái đăng ký sip account sip trunk account Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 20/33 Hình 3- 1: Mơ hình tổng đài Giải thích ngun lý hoạt động: • Khi có gọi đến kiểm tra thời gian làm việc • Nếu ngồi đẩy qua IVR Ngoài cho người dùng nhấn: o Nhấn phím (1) để lại lời nhắn ( Voicemail ) o Nhấn phím (2) để gọi đường dây nóng ( Hotline ) • Nếu làm việc đẩy qua IVR_Main cho người dùng nhấn: Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 21/33 o Nhấn phím (1) để gặp phòng ban Điện Viễn Thông, số nội 1004, 1005 rung lên đồng thời o Nhấn phím (2) để gặp phòng Hệ Thống Điện, số nội 2004, 2005 rung lên o Cả hai trường hợp khơng bắt máy đẩy đường dây nóng (Hotline) • Các số nội 1004, 1005, 2004, 2005 gọi nội qua lại với 1.8 Các dịch vụ xây dựng mơ hình tổng đài • Ring Group: Rung chng đồng thời, có máy nhấc máy máy lái ngưng rung chng • Voicemail: để lại lời nhắn kiểm tra lời nhắn • Time Condition: điều kiện thời gian đón nhận gọi từ bên ngồi vào tổng đài nội nội • Queue: Rung chng máy nhánh • IVR_ Interactive Voice Response: Phát lời chào, hướng dẫn người dùng • Trunk: muốn gọi bên ngồi cần đăng ký trunk, đề tài sử dụng trunk đầu số DID (08) 73020777 CHƯƠNG KẾT QUẢ MÔ PHỎNG 1.9 Phần mềm hỗi trợ mơ Mơ hình tổng đài xây dựng mô phần mềm máy ảo Oracle VM VirtualBox với hệ điều hành Linux Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 22/33 Hình 4- 1: Giao diện phần mềm Oracle VM VirtualBox Để thuận tiền cho việc cấu hình tổng đài đề tài ta sử dụng phần mềm MobaXterm Personal Edition, thiết bị đầu cuối dành cho Windows hỗi trợ người dùng kết nối điều khiển máy tính từ xa thơng qua máy ảo Cung cấp thêm mạng khác SSH, RDP, VNC, telnet, rlogin, SFTP, ftp Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 23/33 Hình 4- 2: Giao diện làm việc với Mobaxterm Các phần mềm softphone cài đặt để thực gọi đề tài là: PortGo Softphone, Zoiper, MicroSIP, X-Lite Hình 4- 3: Giao diện làm việc softphone 1.10 Kết Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 24/33 • Kiểm tra trạng thái online offline extensions tổng đài lệnh “sip show peers” Hình 4- 4: Trạng thái máy nhánh • Gọi nội phòng ban, số 2004 gọi đến số 2005 số 1004 gọi đến 1005 Hình 4- 5: Thực gọi softphone • Thuê bao số 1004 gọi đến số 2004 log gọi 1004 đến 2004 Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 25/33 Hình 4- 6: Log thực gọi • Quay số gọi 1000 gọi số 2000 đổ chng đồng thời máy nhánh, dịch vụ Ring Group Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 26/33 Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 27/33 Hình 4- 7: Ring Group • Khi gọi ngồi làm việc đẩy voice mail liên lạc trực tiếp đường dây nóng Hình 4- 8: Cuộc gọi Hotline • Trong làm việc nhấn phím để đẩy qua phòng ban Hệ thống điện, đồng thời hai số 2004 2005 đổ chuông lần lượt, hai không bắt máy tự động đẩy Hotline Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 28/33 Hình 4- 9: Dịch vụ Queue CHƯƠNG KẾT LUẬN 1.11 Kết luận Sau nghiên cứu tìm hiểu VoIP, nhận thấy VoIP tương lai phát triển Với ưu điểm vượt trội, VoIP giúp cho cách doanh nghiệp tiết kiệm chi phí gọi đáng kể, góp phần phát triển kinh tế, tạo điều kiện để Việt Nam có sản phẩm có ích đầu tư phát triển hướng Do thời gian kiến thức nghiên cứu nên tơi chưa thể tìm hiểu sâu sắc tính cao cấp khác VoIP tổng đài hỗ trợ cho VoIP (FreePBX, Asterisk, Trixbox, Elastix,….) Với vồn kiến thức tìm hiểu tơi dừng lại việc xây dựng mơ hình VoIP nhỏ với tính như: gọi nội giữ extensions, gọi mạng (PSTN), thiết lập tổng đài trả lời tự động IVR, nhạc chờ, voicemail, ring group, queue,… 1.12 Hướng phát triển • Mở rộng quy mơ tổng đài nội với nhiều phòng ban máy nhánh • Thiết lập dịch vụ tính cước A2billing, giới hạn gọi bên máy nội để tránh lạm dụng cước công ty cho mục đích riêng • Tích hợp cơng nghệ: AMI, AGI, PHP, WebRTC… Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 29/33 • Nâng cao tính bảo mật cho hệ thống, xây dựng hệ thống dự phòng, mở rộng hệ thống để đáp ứng cc gọi đồng thời nhiều PHỤ LỤC CODE CỦA CHƯƠNG TRÌNH Code extensions : [outbound] exten => _0Z.,1,Dial(SIP/trunk/${EXTEN},60,m(default)) exten => _0Z.,n,Hangup() [form_trunk] exten => 0873020777,1,dial(SIP/8888) [DIEN_VIEN_THONG] include => tel4vn include => IVR_Main include => outbound include => HE_THONG_DIEN include => DIEN_VIEN_THONG_GROUP include => HE_THONG_DIEN_GROUP exten => _100Z,1,Log(NOTICE, Call local in DIEN_VIEN_THONG context) exten => _100Z,n,Dial(SIP/${EXTEN},60) exten => _100Z,n,Hangup() [HE_THONG_DIEN] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 30/33 include => tel4vn include => IVR_Main include => outbound include => DIEN_VIEN_THONG include => DIEN_VIEN_THONG_GROUP include => HE_THONG_DIEN_GROUP exten => _200Z,1,Log(NOTICE, Call local HE_THONG_DIEN context) exten => _200Z,n,Dial(SIP/${EXTEN},60) exten => _200Z,n,Hangup() [DIEN_VIEN_THONG_GROUP] exten => 1000,1,Log(NOTICE, Call group All in DIEN_VIEN_THONG context) exten => 1000,n,Set(DIEN_VIEN_THONG_GROUP=SIP/1004&SIP/1005) exten => 1000,n,Dial(${DIEN_VIEN_THONG_GROUP},60) exten => 1000,n,Hangup() [HE_THONG_DIEN_GROUP];Ring Group HE_THONG_DIEN exten => 2000,1,Log(NOTICE, Call group All in HE_THONG_DIEN context) exten => 2000,n,Set(HE_THONG_DIEN_GROUP=SIP/2004&SIP/2005) exten => 2000,n,Dial(${HE_THONG_DIEN_GROUP},60) exten => 2000,n,Hangup() [CHECK_TIME] include => outbound exten => 9999,1,Log(NOTICE, Check Time condition) exten => 9999,n,GotoifTime(08:00-17:30,mon-fri,*,*?intime:overtime) ;====== thoi gian lam viec tu 8:00 AM - 5:30 PM - Tu thu - ======== ;intime (trong gio lam viec) exten => 9999,n(intime),Goto(IVR_Main,9999,1) ;overtime (ngoai gio lam viec) exten => 9999,n(overtime),Goto(Choose3,6666,1) [Choose3] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 31/33 exten => 6666,1,Playback(NGOAI_GIO) same => n,WaitExten(10) exten => 2,1,Goto(outbound,0976486392,1) same => n,Hangup() exten => 1,1,Goto(hoan,5555,1) [hoan] ;Call with Voice mail exten => 5555,1,Log(NOTICE, Call local && Voice Mail in voicemail1 context) exten => 5555,n,Dial(SIP/${EXTEN},30) exten => 5555,n,VoiceMail(${EXTEN}@voicemail1,u) exten => 5555,n,PlayBack(vm-goodbye) exten => 5555,n,Hangup() ;Check vociemail exten => 4444,1,VoiceMailMain(${CALLERID(num)}@voicemail1) exten => 4444,n,Hangup() [IVR_Main] exten => 9999,1,Log(NOTICE, Call IVR menu in TEL4VN context) exten => 9999,n,Answer(500) exten => 9999,n,Playback(LOI_CHAO) same => n,WaitExten(30) same => n,Hangup() exten => 1,1,Playback(DIEN_VIEN_THONG) same => n,Set(DIEN_VIEN_THONG_GROUP=SIP/1004&SIP/1005) same => n,Dial(${DIEN_VIEN_THONG_GROUP},60) same => n,Goto(outbound,0976486392,1) same => n,Hangup() exten => 2,1,Goto(Choose,7777,1) [Choose] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 32/33 exten => 7777,1,Playback(HE_THONG_DIEN) same => n,WaitExten(5) same => n,Queue(queues,,,,30) same => n,Goto(outbound,0976486392,1) same => n,Hangup() Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ... sau: Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 18/33 Hình 2- 17: Quá trình thực gọi [7] Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 19/33 CHƯƠNG XÂY DỰNG... LỤC DANH MỤC CÁC HÌNH VẼ Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 3/33 Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 4/33 CHƯƠNG TỔNG QUAN ĐỀ TÀI 1.1 Giới... hình tổng đài xây dựng mơ phần mềm máy ảo Oracle VM VirtualBox với hệ điều hành Linux Xây dựng tổng đài Asterisk dựa Oracle VM Virtual Box ĐỒ ÁN Trang 22/33 Hình 4- 1: Giao diện phần mềm Oracle VM