Công nghệ thoại qua nền Internet dung giao thức IP (Voice Over IP – VoIP), là một công nghệ mà cho phép tạo cuộc gọi bằng cách kết nối băng thông rộng thay vì dùng đường dây điện thoại sử dụng tín hiệu tương tự (analog). Công nghệ Voip dựa trên chuyển mạch gói (thay thế công nghệ chuyển mạch kênh). Nó có thể nén-ghép nhiều kênh thoại trên một đường truyền tín hiệu. Các tín hiệu này được truyền qua mạng Internet, vì thế có thể giảm giá thành đáng kể. Để thực hiện việc truyền tải này, điện thoại IP phải tích hợp sẵn các giao thức báo hiêu chuẩn như SIP hay H.323 để kết nối tới một tổng đài IP của doanh nghiệp hay nhà cung cấp. Và đã có một phần mềm ra đời trên sự kết hợp giữa chuyển mạch VoIP và chuyển mạch TDM. Sản phẩm này là một hệ thống chuyển mạch mềm – mã nguồn mở. Nó được viết bằng ngôn ngữ C,tích hợp chạy trên nền Linux. Đó chính là phần mềm Asterisk. Sản phẩm này thực hiện đầy đủ các tính năng của một tổng đài cùng một số tiện ích mới rất hấp dẫn. Asterisk ra đời vào năm 1999 bởi một sinh viên sinh năm 1977 tên là Mark Spencer. Anh ta viết phần mềm này ban đầu với mục đích hỗ trợ cho công ty của mình trong việc liên lạc đàm thoại. Sản phẩm giúp gia tăng khả năng phục vụ khách hàng và giảm chi phí cho hệ thống thông tin liên lạc trong nội bộ doanh nghiệp Asterisk hỗ trợ nhiều giao thức truyền thông khác nhau do sự kết hợp công nghệ hiện đại VoIP và công nghệ PSTN . Điều này làm cho nó một công cụ mạnh cho việc xây dựng các gateway và việc chuyển đổi giao thức. Với tổng đài nội bộ, khi khách hàng gọi đến không phải lúc nào cũng có nhân viên bắt máy. Vì thế, hệ thống tổng đài này có một số chức năng như: ghi âm cuộc gọi, chuyển cuộc gọi vào hộp thư thoại.Hệ thống chuyển cuộc gọi tự động bằng cách yêu cầu khách hàng nhấn tổ hợp phím và xuất các thong tin cần thiết (với sự hỗ trợ cảu công nghệ Text To Speech). Và để hiểu thêm về hệ thống Asterisk , chúng ta phải tìm hiểu công nghệ Voip và các tiện ích của nó.
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH 6
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT 7
CHƯƠNG 1: TỔNG QUAN VỀ VOIP 1
CHƯƠNG 2: TÌM HIỂU ASTERISK ỨNG DỤNG VOIP 11
CHƯƠNG 3: CẤU HÌNH THÀNH PHẦN CỦA ASTERISK 33
1.Lập trình ứng dụng qua Asterisk Manager API (AMI) 37
2.Asterisk RealTime 38
CHƯƠNG 4: CÁC ỨNG DỤNG DIAL PLAN CƠ BẢN 33
CHƯƠNG 5: TRIỂN KHAI VÀI TÍNH NĂNG CỦA TỔNG ĐÀI 33
ĐÁNH GIÁ CHUNG VÀ XU HƯỚNG PHÁT TRIỂN ĐỀ TÀI 45
DANH MỤC TÀI LIỆU THAM KHẢO 45
Trang 2Hình 2.4: Mô hình hoạt động SIP
Hình 2.5: Mô hình điều khiển cuộc gọi H.323
Hình 2.6 : Giao thức MGCP
Hình 2.7: Kết nối IP PBX với PBX
Hình 2.8 : Kết nối các server Asterisk
Hình 2.9 : Các ứng dụng của tổng đài IP
Hình 2.10 : Phân phối cuộc gọi ACD
Hình 3.: Cấu trúc thư mục var
Hình 3.2: Mô hình AMI
Hình 3.3: Mô Hình kết nối CSDL
Hình 3.4: Mô hình hệ thống AGI
Hình 3.5: Mô hình quản lí với CSDL và web
Hình 3.6 : Mô hình hoạt động của FastAGI
Hình 3.7: Mô hình kết nối của Asterisk.NET
Hình 4.1 Script thực thi AGI
Hình 5.1: Tạo âm thanh
Hình 5.2 : Gọi vào file âm thanh
Hình 5.3: Hàm TextToSpeech
Hình 5.4: Softphone 3CX
Hinh 5.5 : Cấu hình Softphone
Hình 5.6 : Kết nối server bằng Putty
Hình 1: Mô hình hệ thống hoàn chỉnh
Trang 3KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
A
ATA : Analog Telephone Adaptors Bộ chuyển đổi điện thoại số
API : Application Programming Interface Giao diện ứng dụng
AGI : Asterisk Gateway Interface Giao diện cổng Asterisk
ACD : Automatic Call Distribution Phân phối cuộc gọi tự động
IP : Internet Protocol Giao thức Internet
IP-PBX : Internet Protocol- Tổng đài IP
Private Branch Exchange
IAX : Inter-Asterisk eXchange Giao thức chuyển đổi IAX
IVR : Interactive Voice Response Tương tác thoại
ITSP : Internet Telephony Service Provider Nhà cung cấp dịch vụ điện thoạiInternet
IETF : Internet Engineering Task Force Cộng đồng quốc tế mở về mạngITU : International Telecommunication Union Liên minh Viễn thông quốc tế
ISDN : Interated Services Digital Network Mạng số tích hợp dịch vụ
Trang 4PBX : Private Branch Exchange Tổng đài Nhánh Riêng
PSTN : Public Switched Telephone Network Mạng điện thoại chuyển mạch côngcộng
R
RJ-11 : Registered Jack 11 Kết nối các thiết bị điện thoại
RJ-45 : Registered Jack 45 Kết nối các thiết bị trong mạngEthernet
RTP : Real-Time Transport Protocol Giao thức truyền thời gian thựcRSA : Resgister Admission Status Báo hiệu đăng kí, cấp phép, thông tin
trạng tháiRFC : Request for Comment Yêu cầu cho ý kiến
RTCP : Real Time Control Protocol Giao thức điều khiển thời gian thực
S
SIP : Session Initiation Protocol Giao thức khởi tạo phiên
SCCP : Signaling connection Control Part Phần điều khiển kết nối tín hiệuSMTP : Simple Mail Transfer Protocol Giao thức truyền thông tin đơn giản
VoIP : Voice over Internet Protocol Thoại trên IP
VPN : Virtual Private NetWork Mạng riêng ảo
MỞ ĐẦU
Trang 5o0o Công nghệ thoại qua nền Internet dung giao thức IP (Voice Over IP – VoIP), làmột công nghệ mà cho phép tạo cuộc gọi bằng cách kết nối băng thông rộng thay vì dùngđường dây điện thoại sử dụng tín hiệu tương tự (analog)
Công nghệ Voip dựa trên chuyển mạch gói (thay thế công nghệ chuyển mạchkênh) Nó có thể nén-ghép nhiều kênh thoại trên một đường truyền tín hiệu Các tín hiệunày được truyền qua mạng Internet, vì thế có thể giảm giá thành đáng kể Để thực hiệnviệc truyền tải này, điện thoại IP phải tích hợp sẵn các giao thức báo hiêu chuẩn như SIPhay H.323 để kết nối tới một tổng đài IP của doanh nghiệp hay nhà cung cấp
Và đã có một phần mềm ra đời trên sự kết hợp giữa chuyển mạch VoIP và chuyểnmạch TDM Sản phẩm này là một hệ thống chuyển mạch mềm – mã nguồn mở Nó đượcviết bằng ngôn ngữ C,tích hợp chạy trên nền Linux Đó chính là phần mềm Asterisk Sảnphẩm này thực hiện đầy đủ các tính năng của một tổng đài cùng một số tiện ích mới rấthấp dẫn
Asterisk ra đời vào năm 1999 bởi một sinh viên sinh năm 1977 tên là MarkSpencer Anh ta viết phần mềm này ban đầu với mục đích hỗ trợ cho công ty của mìnhtrong việc liên lạc đàm thoại Sản phẩm giúp gia tăng khả năng phục vụ khách hàng vàgiảm chi phí cho hệ thống thông tin liên lạc trong nội bộ doanh nghiệp
Asterisk hỗ trợ nhiều giao thức truyền thông khác nhau do sự kết hợp công nghệhiện đại VoIP và công nghệ PSTN Điều này làm cho nó một công cụ mạnh cho việcxây dựng các gateway và việc chuyển đổi giao thức
Với tổng đài nội bộ, khi khách hàng gọi đến không phải lúc nào cũng có nhânviên bắt máy Vì thế, hệ thống tổng đài này có một số chức năng như: ghi âm cuộc gọi,chuyển cuộc gọi vào hộp thư thoại.Hệ thống chuyển cuộc gọi tự động bằng cách yêu cầukhách hàng nhấn tổ hợp phím và xuất các thong tin cần thiết (với sự hỗ trợ cảu công nghệText To Speech)
Và để hiểu thêm về hệ thống Asterisk , chúng ta phải tìm hiểu công nghệ Voip vàcác tiện ích của nó
LỜI CẢM ƠN
Trang 6o0o Trong kì thực tập tốt nghiệp vừa qua,chúng em đã có cơ hội để tổng kết và
áp dụng những kiến thức mà mình đã học Đồng thời, chúng em đã có thêmnhững kiến thức cơ bản về các kỹ thuật viễn thông, các kiến thức về lập trình trênphần cứng.Sau một thời gian làm việc với nhau, cùng với sự hướng dẫn và trợgiúp tận tình của thầy Trần Minh Nhật, chúng em hoàn thành đề tài này một cáchthuận lợi và gặt hái được một số kết quả khả quan
Chúng em xin chân thành cảm ơn khoa Công nghệ Thông tin II, đã tạo điềukiện thuận lợi và giúp đỡ chúng em hoàn thành tốt khóa luận tốt nghiệp này
Chúng em xin chân thành cảm ơn thầy Trần Minh Nhật – giáo viên hướngdẫn đề tài của nhóm, đã tận tình chỉ dạy, giúp đỡ chúng em trong quá trình làm đềtài
Chúng em xin chân thành cám ơn các thầy cô trong khoa Công nghệ thôngtin II đã tạo điều kiện và giúp đỡ cho nhóm em hoàn thành đề tài
Chúng em xin chân thành cảm ơn đến các anh chị ở công ty quốc tế SôngHồng, đã tạo điều kiện cho chúng em hoàn thành tốt đề tài này
Trên nền tảng những gì đã thực hiện, chúng sẽ tiếp tục phát triển đề tài này
đề phần mềm có thể áp dụng trong thực tế
Tuy chúng em đã cố gắng hoàn thành thật tốt đề tài nhưng chắc chắn sẽkhông tránh khỏi những sai sót Kính mong quí Thầy Cô và các bạn góp ý để đềtài hoàn thiện hơn
Xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thanh Tâm
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ VOIP
I Giới thiệu VoIP
1 Khái niệm:
•VoIP (Voice Over Internet Protocol) là một công nghệ cho phép truyềnthoại sử dụng giao thức mạng IP trên cơ sở hạ tầng sẵn có của mạngInternet
•VoIP vừa có thể thực hiện mọi loại cuộc gọi như trên mạng điện thoạithông thường vừa có thể truyền dữ liệu trên mạng truyền số liệu Do các
ưu điểm về giá thành dịch vụ và sự tích hợp nhiều loại hình dịch vụ nênVoIP hiện nay đã được triển khai rộng rãi
•Dịch vụ điện thoại VoIP bao gồm việc số hóa tín hiệu tiếng nói, thựchiện nén tín hiệu số, chia nhỏ các gói nếu cần và truyền gói tin này quamạng Tại nơi nhận, các gói tin này được ráp lại theo đúng trình tự bảntin và giải mã để phục hồi lại tiếng nói ban đầu
•Các cuộc gọi trong VoIP dựa trên cơ sở sử dụng kết hợp chuyển mạchkênh và chuyển mạch gói Trong mỗi loại chuyển mạch đều có ưu vànhược điểm
+ Với chuyển mạch kênh dành riêng một kênh có tốc độ truyền dẫn
cố định (trong mạng PSTN, tốc độ này là 64Kbit/s) do đó có độ trễ nhỏ và độchính xác cao nên không thể xảy ra tắc nghẽn
+ Với chuyển mạch gói, các bản tin được chia thành các gói nhỏ,
sử dụng hệ thống lưu trữ và chuyển tiếp các gói thông tin trong nút mạng Đốivới loại chuyển mạch gói này không tồn tại khái niệm kênh riêng và băngthông hoàn toàn có thể thay đổi được Tuy nhiên, kỹ thuật này lại cho độ trễlớn vì trong chuyển mạch này không quy định thời gian mỗi gói tới đích do đókhông đáp ứng được tính thời gian thực như trong thoại
• Như vậy để truyền dẫn thoại trong môi trường mạng chuyển mạch gói,VoIP phải kết hợp cả ưu điểm của hai loại chuyển mạch trên
2 Ưu và Khyết của VoIP:
•Ưu điểm:
- Đối với điện thoại Internet có các cơ chế để phát hiện khoảnglặng (khoảng thời gian không có tiếng nói) nên sẽ làm tăng hiệusuất mạng
- Điện thoại IP là bước đột phá về công nghệ và dịch vụ, mang lạikhả năng gọi đường dài và quốc tế với giá rẻ
- Điện thoại IP còn mang lại lợi ích trong việc phát triển các dịch
vụ viễn thông tích hợp và mở rộng
•Khuyết điểm của VoIP:
- Không thể thực hiện mọi cuộc gọi qua Internet nếu như ngườigọi không trực tuyến trên mạng
- Không đảm bảo tính bảo mật
II Các thiết bị dùng trong VoIP:
1 VoIP phone
Trang 8•Là thiết bị phần cứng kết nối với VoIP giống như máy điện thoại cố địnhthông thường Tuy nhiên để sử dụng cho VoIP cần phải cấu hình trướckhi sử dụng.
•Một số tính năng khi thực hiện mua thiết bị điện thoại VoIP:
− Low Bandwidth: hỗ trợ cho loại Codec nào, thường hiện nayngười ta sử dụng G729
− Web Interface: phải có giao tiếp thiết lập cấu hình thân thiện
•Đối với hệ thống Asterisk, nên dùng softphone với công nghệ giao thứcmới dành cho Asterisk là IAX
3 Card giao tiếp với PSTN
•Để các máy điện thoại nội bộ trong hệ thống Asterisk kết nối và thựchiện cuộc gọi với mạng PSTN, chúng ta cần phải có thiết bị phần cứngtương thích Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chínhtác giả lập công ty Digium phân phối, xuất phát từ ý tưởng phân phốiphần mềm Asterisk và hệ thống nguồn mở miễn phí
•Thiết bị phần cứng thường ký hiệu bắt đầu bằng cụm từ TDMxyB trong
đó x là số lượng port FXS, y là số lượng port FXO.Giá trị tối đa của cả x
và y là 4
4 ATA (Analog Telephone Adaptors)
•ATA là thiết bị kết nối với điện thoại Analog thông thường đến mạngVoIP, một thiết bị ATA gồm có hai loại port:
- RJ-11 để kết nối với máy analog thông thường
- RJ-45 để kết nối với mạng VoIP
•ATA là thiết bị FXS chuyển đổi tín hiệu Analog sang tín hiệu số, nó sửdụng cho mạng VoIP để tận dụng thiết bị Analog kết nối VoIP
•Thiết bị ATA sử dụng với giao thức IAX được Digium phân phối vàthiết bị ATA này được sử dụng rộng rãi với Asterisk có tên gọi là IAXy
III Ưu điểm sử dụng tổng đài IP-PBX so với PBX truyền thống.
Trang 9Hình 1.1: Một hệ thống của tổng đài IP-PBX
Tận dụng được toàn bộ hạ tầng mạng của đơn vị để truyền thông tinthoại, đơn giản hơn nhiều với PBX truyền thống, phải thực hiện đấu nốivật lý đường trung kế giữa 2 tổng đài
Quản lý tập trung, thông qua giao diện web quản trị viên có thể giámsát, vận hành, cấu hình từ bất kỳ đâu và bất cứ khi nào
Khả năng nâng cấp hệ thống cao nhất và không giới hạn số lương ngườidùng
Có phần mềm Softphone cài trên máy tính, chỉ cần có thêm tai nghe vàmic là biến thành điện thoại IP
Khả năng di động: điện thoại IP có thể kết nối về tổng đài tại bất cứ vị trínào có mạng là có thể sử dụng được ngay trong khi số điện thoại không
hề thay đổi, thậm chí qua cả môi trường Internet
Cắt giảm chi phí cuộc gọi đến mức thấp nhất giữa các chi nhánh, vănphòng và cuộc gọi quốc tế khi kết hợp với các nhà cung cấp dịch vụ điệnthoại quốc tế (ITSP)
Trang 10CHƯƠNG 2: TÌM HIỂU ASTERISK ỨNG DỤNG VOIP
I Giới thiệu Asterisk
1 Vì sao chọn phần mềm Asterisk:
•Tiết kiệm chi phí (hoặc chi phí thấp hơn so với các tổng đài khác)
•Asterisk được xem như là một tổng đài PBX (Private Branch eXchange)
và tích hợp nhiều tính năng mới
•Ngoài những tính năng của một tổng đài PBX thông thường, Asterisk cònđược tích hợp cả chuyển mạch TDM và chuyển mạch VoIP, có khả năng mởrộng đáp ứng nhu cầu cho từng ứng dụng như mở rộng giao tiếp với mạngPSTN (Public Switched Telephone Network)
•Phát triển trên môi trường mở:
− Asterisk có thể chạy trên các hệ điều hành khác như: Mac OS X,FreeBSD, OpenBSD và Microsoft Windowns…
− Với một máy tính đã cài hệ điều hành (một trong các hệ điềuhành nói trên, ở đây ta xét hệ điều hành Microsoft Windowns) và
có thêm phần mềm Asterisk đã cấu hình, khi đó máy tính này sẽ
có đầy đủ tính năng của một tổng đài điện thoại và có thể hơnthế
2 Khái niệm:
•Asterisk là phần mềm nguồn mở,1 hệ thống chuyển mạch mềm, được viết bằng ngôn ngữ C, ra đời năm 1999 bởi Mark Spencer, đầu tiên được thiết kế
và triển khai trên GNU/Linux nền x86 (của Intel)
•Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại Là server
xử lí đầy đủ các chức năng cuộc gọi, thực hiện tất cả các tính năng của tổng đài PBX
•Tích hợp giao tiếp với mạng PSTN và mạng VOIP cho phép gọi ra bất cứ sốđiện thoại nào trên mạng PSTN
có thể thực hiện cuộc gọi và kết nối Internet thông qua Asterisk server
•Cổng FXS dùng để Asterisk server điều khiển các điện thoại tương tự trongnội hạt Cổng FXO và kênh T được dùng để kết nối giữa Asterisk server với
Trang 11mạng PSTN Thuê bao trong mạng PSTN thực hiện cuộc gọi đến các thuêbao được quản lý bởi Asterisk server, các thuê bao của Asterisk cũng có thểthực hiện cuộc gọi đến thuê bao trong mạng PSTN.
Hình 2.2: Kiến trúc của Asterisk
•Một số chức năng của Asterisk trong hệ thống chuyển mạch cuộc gọi:
•Khi khởi động hệ thống Asterisk thì Dynamic Module Loader thực hiện nạp driver của thiết bị ,nạp các giao Hiện nay hệ thống Asterisk đang được phát triển mạnh, nhiều doanh nghiệp, công ty đã và đang triển khai hệ thống tạo liên lạc bên trong và ra cả mạng ngoài thông qua mạng máy tính, gọi điện thoại
Hình 2.3.: Sơ đồ tổng quát hệ thống.
•Asterisk không chỉ giao tiếp, kết nối giữa các điện thoại với nhau mà còn cóthể mở rộng kết nối đến các tổng đài khác, với IP Phone và nhiều dịch vụ
Trang 12như: Softswitch, Media Gateway, Voicemail Services, Conference Server,Music on hold…
•Asterisk là một phần mềm nguồn mở, miễn phí, có độ tin cậy cao
II Kiến trúc hệ thống
•Asterisk là thiết bị trung gian dùng để liên kết công nghệ điện thoại vàInternet Asterisk được ứng dụng để kết nối điện thoại, đường dây điện thoạihoặc gói thoại đến một dịch vụ khác Asterisk có độ tin cậy cao và dễ dàngtriển khai cho các hệ thống ( từ hệ thống nhỏ đến các hệ thống lớn)
•Asterisk hỗ trợ cho nhiều loại điện thoại với công nghệ khác nhau Các côngnghệ điện thoại: VoIP, SIP, H.323, IAX Asterisk có thể kết nối với hầu hếtloại điện thoại truyền thống mạng ISDN qua luồng T1 và E1 Các hàm APIcũng được liên kết nạp vào hệ thống
•Hệ thống Asterisk PBX Switching Core chuyển sang trạng thái sẵn sàngthực hiện chuyển mạch cuộc gọi, các cuộc gọi được thực hiện tuỳ vào kếhoạch quay số (Dialplan)
- Chức năng Application Launchar để rung chuông thuê bao,kết nối với hộp thư thoại hoặc gọi ra đường trung kế…
- Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng caonhư: lập thời biểu và quản lý các cuộc gọi đến – gọi ra ngoài.Đây là các chức năng được phát triển bởi cộng đồng phát triểnAsterisk
- Codec Translator xác nhận các kênh nén dữ liệu ứng với cácchuẩn khác nhau có thể kết hợp liên lạc được với nhau
- Tất cả các cuộc gọi định hướng qua hệ thống Asterisk đều thôngqua các giao tiếp như: SIP, Zaptel or IAX Mọi cuộc gọi vào và
ra ngoài đều được thực hiện thông qua các giao tiếp trên Vìthế hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giaotiếp khác nhau đó để xử lý cuộc gọi
•Chức năng của các giao tiếp chương trình ứng dụng (gọi là API:Application Program Interface)
- Codec translator API: các hàm đảm nhiệm thực thi và giải néncác chuẩn khác nhau như: GMS, G723, Mu-Law…
- Asterisk Channel API : Giao tiếp với các kênh liên lạc khácnhau, đây là đầu mối cho việc kết nối các cuộc gọi tương thíchvới nhiều chuần khác nhau như SIP, ISDN, H323, Zaptel…
- Asterisk file format API : Asterisk tương thích với việc xử lýcác loại file có định dạng khác nhau như: Mp3, WAV, GSM,AU…
- Asterisk Aplication API : Bao gồm tất cả các ứng dụng đượcthực thi trong hệ thống Asterisk như: cuộc gọi hội nghị,VoiceMail, CallerID…
Trang 13Ngoài ra, Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tựnhư CGI) cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết kịch bản phứctạp với một số ngôn ngữ như PHP hay Perl.
III Tính năng cơ bản
Một sô tính năng cơ bản của tổng đài Asterisk:
1. Caller ID
- Hiển thị số người gọi trên điện thoại của bạn
- Caller ID cũng cho phép chúng ta xác nhận số thuê bao gọi đến
3 Call Parking
- Thực hiện việc chuyển cuộc gọi nhưng có quản lý
- Có một số điện thoại trung gian và hai thuê bao cóthể gặp nhau khi thuê bao được gọi nhấn vào số điệnthoại mà thuê bao chủ gọi đang chờ trên đó và từ đây cóthể gặp nhau và đàm thoại
4 IVR
- Chức năng tương tác thoại (tổng đài trả lời tự động)
- Có rất nhiều ứng dụng trong thực tế, khi gọi điệnthoại đến một cơ quan hay xí nghiệp thuê bao thường
được nghe thông điệp như:“Xin chào mừng bạn đã gọi đến công ty chúng XXX hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp phòng kỹ thuật, phím 3 gặp phòng
hỗ trợ khách hàng…” sau đó tuỳ vào sự tương tác của
thuê bao gọi đến, hệ thống Asteisk sẽ định hướng cuộc gọitheo mong muốn
- Dịch vụ xem điểm thi, tiền cước điện thoại của thuêbao, tỉ giá tiền tệ hiện nay như thế nào, hay kết quả sổ
số, bản tin dự báo thời tiết… tất các những mong muốntrên đều có thể thực hiện qua chức năng tương tác thoại
5 Time and
Date
- Nhằm chỉ định các khoảng thời gian cụ thể cuộc gọi
sẽ định hướng đến một số điện thoại hay một chức năng
cụ thể khác
- Ví dụ trong công ty giám đốc muốn chỉ cho phépnhân viên sử dụng máy điện thoại trong giờ hành chánhcòn ngoài giờ thì sẽ hạn chế hoặc không cho phép gọi ra
Trang 147 Privacy
Manager
- Khi một người chủ doanh nghiệp triển khai Asteriskcho hệ thống điện thoại của công ty mình nhưng lạikhông muốn nhân viên trong công ty gọi đi ra ngoài tròchuyện với bạn bè, khi đó Asterisk cung cấp một tínhnăng tiện dụng là chỉ cho phép số điện thoại được lậptrình được phép gọi đến những số máy cố định nào đóthôi, còn những số không có trong danh sách định sẵn sẽkhông thực hiện cuộc gọi được
8 Blacklist
-Backlist cũng giống như Privacy Manager nhưng cómột sự khác biệt là những máy điện thoại nằm trong danhsách sẽ không gọi được đến máy của mình (sử dụng trongtình trạng hay bị quấy rối điện thoại)
9 Voicemail
-Voicemail: hộp thư thoại với tính năng cho phép hệthống nhận các thông điệp tin nhắn thoại, mỗi máy điệnthoại được khai báo trong hệ thống Asterisk cho phép khaibáo thêm chức năng hộp thư thoại Khi số điện thoại bịgọi bận hay ngoài vùng phủ sóng thì hệ thống asteriskđịnh hướng trực tiếp cuộc gọi đến hộp thư thoại tươngứng đã khai báo trước
Voicemail cung cấp cho người sử dụng nhiều tính năngnhư: xác nhận password khi truy cập vào hộp thư thoại,gửi mail báo khi có thông điệp mới
10 Call
Conference-Meetme
- Chức năng là 1 cuộc gọi hội nghị
-Các cuộc họp khách hàng,họp nhóm… mà nhân viênhay bạn bè ở những địa điểm khác nhau Cuộc gọi hộinghị này được xem như là một phương tiện chính để cắtgiảm chi phí đi lại và cho phép người lao động có hiệuquả hơn bằng cách không phải đi ra ngoài văn phòng chocác cuộc họp
11 Listening
music
- Chức năng nghe nhạc (nhạc chờ, các chương trìnhquà tặng âm nhạc)
Bảng 2.3: Tính năng của hệ thống Asterisk
Và còn rất nhiều tính năng nữa mà hệ thống asterisk có thể cung cấp cho người
sử dụng, trên đây chỉ là một số tính năng thường được sử dụng
IV Các giao thức VoIP trong Asterisk
1 IAX ( Inter-Asterisk eXchange):
Trang 15• IAX là một giao thức mở, ta có thể download và phát triển nó miễn phí.
• Phiên bản hiện tại của nó là IAX2, nhưng tất cả các hỗ trợ cho IAX1 khôngcòn tồn tại nữa Vì vậy khi nói đến IAX có nghĩa là IAX2 Trong Asterisk,IAX được hỗ trợ bởi module chan_iax2
• IAX được phát triển bởi Digium với mục đích giao tiếp với các serverAsterisk khác, vì thế nó được gọi là Inter-Asterisk eXchange IAX là giaothức truyền tải (giống như SIP), sử dụng port UDP 4569 cho cả kênh tínhiệu lẫn dòng dữ liệu RTP
• IAX có khả năng kết hợp lại nhiều phiên kết nối thành một dòng dữ liệuduy nhất Việc kết hợp này làm tăng khả năng sử dụng băng thông Thêmvào đó việc sử dụng một header chung duy nhất làm giảm thời gianoverhead cho mỗi kênh riêng lẽ Giao thức này thích hợp khi có nhiều kênhkết nối giữa hai đầu cuối
• Vì IAX được tối ưu hóa cho thoại, nên trên thực tế nó không ưu việc lắmkhi truyền tín hiệu video Tuy nhiên, vì nó là một giao thức mở, nên cácviệc mở rộng dành cho các loại dữ liệu khác ngoài thoại là điều hoàn toàn
- Mã hóa trao đổi khóa RSA
• Điều này tất nhiên không mã hóa phần header giữa hai đầu cuối Có nhiềugiải pháp sử dụng mạng riêng ảo (VPN) và các phần mềm mã hóa khác đãđược sử dụng, đòi hỏi đầu cuối phải thiết lập trước các phương pháp tunnel
và hoạt động Trong tương lai, IAX có thể mã hóa dòng dữ liệu giữa haiđầu cuối sử dụng việc trao đổi khóa RSA hoặc trao đổi hóa động tại thờiđiểm thiết lập cuộc gọi Điều này rất hấp dẫn vì nó có tính bảo mật khá cao,đặc biệt trong các lĩnh vực đòi hỏi tính bảo mật như ngân hàng
• SIP được phát triển bởi IETF vào tháng 2-1996 Ban đầu SIP chỉ có chứcnăng yêu cầu thiết lập cuộc gọi Vào tháng 3-1999, phiên bản thứ 11 có têngọi là SIP RFC 2543 ra đời
Trang 16• SIP được coi như là giao thức thông dụng của VoIP Tất cả các user vàdoanh nghiệp đều có xu hướng hỗ trợ SIP Ngày nay,SIP hỗ trợ thêm cảnhững chức năng không có trong VoIP như video, âm nhạc và các dịch vụmultimedia thời gian thực khác.
• Về khía cạnh bảo mật, SIP sử dụng hệ thống challenge/response để nhậnthực user Khởi đầu là câu lệnh INVITE được gởi đển proxy để đến cácthiết bị đầu cuối mong muốn Proxy lúc này sẽ gởi đến một gói tin là 407Proxy Authorization Request, chứa các ký tự được cài đặt một các ngẫunhiên thường được gọi là “nonce” Con số này được xem như là password
để tạo ra mã MD5 được gởi ngược trở lại cho lệnh INVITE Giả sử mãMD5 phù hợp với mã mà proxy tạo ra, client được xác thực
Hình 2.4: Mô hình hoạt động SIP
• DoS (Denial of Service) được xem như phương thức tấn công thông dụngnhất trên mạng VoIP Một phiên tấn công DoS sẽ diễn ra khi có một sốlượng lớn các lời mời INVITE không hợp lệ đến proxy server để làm quátải hệ thống SIP có một vài phương thức để giảm thiểu tác động của DoSnhưng không thể hoàn toàn phòng ngừa nó
• Một lược đồ hỗ trợ tính bảo mật được cài đặt thêm bởi SIP là mật mãphương thức truyền tải (TLS- Transport Layer Security) Nó được sử dụng
để thiết lập kết nối giữa người gọi và domain Yêu cầu được gởi một cách
bí mật đến đầu cuối, dựa trên các chính sách bảo mật của mạng Lưu ý rằngphương thức mật mã không nằm trong khả năng của SIP và phải được kếthợp một cách độc lập
• SIP và NAT: Một trong những vấn đề lớn nhất khi triển khai SIP là truyềntải thông qua lớp NAT Bởi vì SIP mật mã thông tin địa chỉ trong cấu trúckhung của nó NAT ở lớp mạng sẽ không nhận đúng địa chỉ này.Vì thếdòng dữ liệu sẽ không được truyền tải đúng như mong muốn Như vậy, cácfirewall được tích hợp chức năng NAT sẽ loại bỏ các kết nối SIP này
3 H.323:
Trang 17• H323 được phát triển bởi ITU từ tháng 5-1996, để hỗ trợ truyền thoại,video, dữ liệu ,fax… trong mạng IP trong khi vẫn duy trì kết nối với mạngPSTN truyền thống Từ thời điểm đó, H323 đã có một vài phiên bản vớicác tính năng bổ sung cho phép nó hoạt động trong một mạng thuần VoIP
và các mạng phân bố khác
• Dù có nhiều tranh cãi xung quanh việc sử dụng H323 hay là SIP Trên thực
tế mạng VoIP, H323 có vài trò cao nhất nhưng trên hệ thống Asterisk, SIPvẫn là sự lựa chọn số 1
• Hai phiên bản của H323 được hỗ trợ trong Asterisk được hỗ trợ bởi 2module chan_h323.so và chan_oh323.so
• Về khía cạnh bảo mật H323 là một giao thức có tính bảo mật tương đốicao.Vì H323 sử dụng RTP để kết nối media, nó không hỗ trợ mật mã Việc
sử dụng VPN hay các phương pháp tunnel khác giữa đầu cuối là cách thứcthông dụng nhất để đảm bảo tính bảo mật Tất nhiên là nó cũng gây ra mộtvài vấn đề Khi VoIP được sử dụng cho các lĩnh vực đòi hỏi tính bảo mậtcao như ngân hàng, đòi hỏi giao thức VoIP phải hỗ trợ một phương phápmật mã mạnh
• H323 và NAT: H323 cũng gặp những vấn đề tương tự như SIP khi triểnkhai với NAT Phương pháp đơn giản nhất là cho forward những port nhấtđịnh qua thiết bị tích hợp NAT đối với các client nội bộ Để tiếp nhận cuộcgọi, TCP port 1720 phải luôn được forward Thêm vào đó, port UDP chocác dữ liệu RTP và RTCP cũng phải được forward Những client cũ như
MS Netmeeting cũng yêu cầu forward port TCP cho việc tunnel của giaothức H245 Nếu có một số lượng các client đằng sau thiết bị có tích hợpNAT, chúng ta phải sử dụng gatekeeper chạy proxy mode Gatekeeper sẽcần một Interface liên lạc với một mạng IP subnet và mạng Internet H323client trên mạng riêng sẽ đăng ký đến gatekeeper, sau đó gatekeeper sẽ gọicuộc gọi thay mặt cho client Các client bên ngoài muốn gọi bên trong cũngphải thực hiện thủ tục đăng ký đến proxy server
Hình 2.5: Mô hình điều khiển cuộc gọi H.323
• Vào thời điểm hiện tại, Asterisk không thể đóng vai trò gatekeeper, chúng
ta phải sử dụng các ứng dụng độc lập như Open H323 Gatekeeper
Trang 184 MGCP (Media Gateway Control Protocol):
• MGCP được thiết kế để đơn giản hóa thiết bị đầu cuối Nó được định nghĩabởi IETF
• MGCP được tiến hành khá nhanh nhưng không có tính khả dụng bằng SIP
và IAX
• Việc thực hiện xử lý đều được tiến hành tại media gateway và call agent.Không giống như SIP, MGCP sử dụng cấu trúc tập trung Cuộc gọi MGCPkhông thể được tiến hành trực tiếp mà phải đi qua controller
Hình 2.6 : Giao thức MGCP
• Asterisk hỗ trợ MGCP qua module chan_mgcp.so và đầu cuối được đinhnghĩa thông qua file cấu hình mgcp.conf Bởi vì Asterisk cung cấp các cuộcgọi cơ bản nên nó không thể giả lập MGCP phone
• Nếu có một MGCP phone, chúng ta có thể sử dụng chúng với Asterisk Tuynhiên không thể xem MGCP phone như một sản phẩm của hệ thốngAsterisk vì nó đã có những chuẩn riêng
5 Skinny/SCCP:
• Là giao thức mặc định cho các đầu cuối của Cisco Call Manager PBX.Skinny được hỗ trợ bởi Asterisk Nếu chúng ta kết nối Cisco phoen đếnAsterisk, thông thường chúng ta mặc định sử dụng giao thức SIP
6 UNISTIM:
• Là giao thức hỗ trợ của Nortel cho VoIP, cũng đã được bổ sung vàoAsterisk Điều đáng nói ở đây là Asterisk là tổng đài PBX đầu tiên hỗ trợđầu cuối IP cho cả hai nhà sản xuất lớn nhất trên lĩnh vực VoIP là Nortel vàCisco
V Ngữ cảnh ứng dụng tổng đài IP
1 Kết nối IP PBX với PBX:
• Một ngữ cảnh đặt ra ở đây là hiện tại Công ty đã trang bị hệ thống PBXbây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao chovới chi phí thấp nhất, giải pháp để thực hiện đó là trang bị hệ thốngAsterisk và kết nối với hệ thống PBX đang tồn tại qua luồng E1
Trang 19Hình 2.7: Kết nối IP PBX với PBX
• Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIP khác, Công
Ty sẽ đăng ký kết nối dịch vụ với nhà cung cấp dịch vụ VoIP
2 Kết nỗi giữa các server Asterisk:
• Phương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rãi rác ở các
vị trị địa lý khác nhau nhằm giảm chi phí đường dài
Hình 2.8 : Kết nối các server Asterisk
• Ví dụ Công ty Mẹ có trụ sở đặt tại nước Mỹ và có các Chi nhánh đặt tạiViệt Nam với hai địa điểm là Hà Nội và thành phố Hồ Chí Minh Thông quamạng WAN của Công Ty các cuộc gọi nội bộ giữa các vị trí khác nhau sẽlàm giảm chi phí đáng kể
3 Các ứng dụng IVR,VoiceMail,Conference Call:
Trang 204 Phân phối cuộc gọi tự động ACD
• ACD (Automatic Call Distribution): Phân phối cuộc gọi tự động
• Chức năng được ứng dụng cho nhu cầu chăm sóc khách hàng hay nhậnphản hổi từ phía khách hàng
• Với chức năng này, hệ thống tổng đài sẽ bớt tình trạng tắt nghẽn khi cónhiều cuộc gọi cùng lúc
Trang 21Hình 2.10: Phân phối cuộc gọi ACD
• Giả sử một Công ty hệ thống điện thoại có khả năng tiếp nhận cùng mộtlúc 10 cuộc gọi,nếu có thêm cuộc gọi thứ 11 gọi đến thì hệ thống giảiquyết như thế nào? Bình thường thì sẽ nghe tín hiệu bận nhưng với chứcnăng phân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợi để chờ trả lời,trong khi chờ trả lời cuộc gọi thuê bao có thể nghe những bài hát hay doasterisk cung cấp và khi nào một trong mười số điện thoại đang gọi trở vềtrạng thái rỗi thì cuộc gọi đang chờ sẽ được trả lời Giống như chức năngcủa dịch vụ: dịch vụ hỗ trợ thông tin 1080, dịch vụ hẹn giờ 116 của BưuĐiện, dịch vụ hỗ trợ khách hàng của các tổng đài điện thoại
Trang 22CHƯƠNG 3: CẤU HÌNH THÀNH PHẦN CỦA ASTERISK
I Tổ Chức Thư Mục của Asterisk:
1 Một số thư mục được sử dụng bởi ASTERISK:
• Cd /etc/asterisk/
− Chứa các tập tin cấu hình ASTERISK Tuy nhiên tập tinzaptel.conf lại nằm trong thư mục /etc/ zaptel.conf được dùng đểcấu hình thực hiện liên lạc giữa máy tính và môi trường điệnthoại truyền thống
• Cd /usr/lib/asterisk/modules/
− Chứa tất cả các module được khởi động bởi ASTERISK Cácứng dụng chương trình, codecs, formats, và các kênh thoại Mặcđịnh ASTERISK sẽ khởi động tất cả các modules lúc khởi động
• Cd /var/lib/asterisk
− Chứa đựng tập tin astdb và các thư mục con khác Tập tin astdbchứa thông tin về cơ sở dữ liệu của ASTERISK bao gồm các thưmục chính:
o agi-bin/ : Chứa các custom scripts, như là các ứng dụng
o sounds : Tất cả các thông báo từ hệ thống ASTERISK
đều nằm trong thư mục sounds
• Cd /var/spool/asterisk/
− Chứa một số thư mục con như outgoing/, qcall/, tmp/, vàvoicemail/