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).
Trang 1MỤC LỤC
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
Trang 3API : 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-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 4PSTN : 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
T
TDM : Time Division Multiplexing Ghép kênh phân chia thời gian
TLS : Transport Layer Securit Giao thức bảo mật lớp truyền tải
TCP : Transport Control Protocol Giao thức điều khiển truyền TCP
U
UDP : User Datagram Protocol Giao thức gói người sử dụng
V
VoIP : Voice over Internet Protocol Thoại trên IP
VPN : Virtual Private NetWork Mạng riêng ảo
MỞ ĐẦU
Công nghệ thoại qua nền Internet dung giao thức IP (Voice Over IP – VoIP), là mộtcô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)
Trang 5Cô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ện việctruyề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 hayH.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ất hấpdẫ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ệc xâydự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ênbắ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ểncuộ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áchhà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
o0o áp dụng những kiến thức mà mình đã học Đồng thời, chúng em đã có thêm nhữngkiế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ên phầncứ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
Trang 6tình của thầy Trần Minh Nhật, chúng em hoàn thành đề tài này một cách thuậ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ướng dẫ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ông tin
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ôngtrá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ànthiệ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ực hiệnnén tín hiệu số, chia nhỏ các gói nếu cần và truyền gói tin này qua mạ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ản tin 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 Đối vớiloạ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ăng thônghoà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ười gọikhô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:
Trang 81. VoIP phone
•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ực hiệncuộc gọi với mạng PSTN, chúng ta cần phải có thiết bị phần cứng tươngthích Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chính tác giảlập công ty Digium phân phối, xuất phát từ ý tưởng phân phối phần mềmAsterisk 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ám sá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ều hànhnó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ơn thế
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
Trang 11•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ớimạ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ựchiệ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ụnhư: 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àng thựchiệ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ạchquay số (Dialplan)
Trang 12- 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: ApplicationProgram Interface)
- Codec translator API: các hàm đảm nhiệm thực thi và giải nén cácchuẩ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ácloạ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 được thựcthi trong hệ thống Asterisk như: cuộc gọi hội nghị, VoiceMail,CallerID…
• Ngoà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ức tạpvớ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
2. CallForwarding
- Chuyển một cuộc gọi đến một hay nhiều số máy điện thoại được định trước
- Chuyển cuộc gọi khi bận, chuyển cuộc gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước
Trang 133. 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ện thoại
mà thuê bao chủ gọi đang chờ trên đó và từ đây có thể gặpnhau 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ọi theomong 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ép nhânviên sử dụng máy điện thoại trong giờ hành chánh cònngoài giờ thì sẽ hạn chế hoặc không cho phép gọi ra bênngoài
6. Remote call
pickup
- Với tính năng này sẽ cho phép chúng ta từ máy điệnthoại này có thể nhận cuộc gọi từ máy điện thoại khácđang rung chuông
7. 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ại khôngmuốn nhân viên trong công ty gọi đi ra ngoài trò chuyệnvới bạn bè, khi đó Asterisk cung cấp một tính năng tiệndụng là chỉ cho phép số điện thoại được lập trình đượcphép gọi đến những số máy cố định nào đó thôi, cònnhững số không có trong danh sách định sẵn sẽ không thựchiệ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)
Trang 149. 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ọibận hay ngoài vùng phủ sóng thì hệ thống asterisk địnhhướ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ửimail báo khi có thông điệp mới
10.CallConference-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ội nghịnày được xem như là một phương tiện chính để cắt giảmchi phí đi lại và cho phép người lao động có hiệu quả hơnbằng cách không phải đi ra ngoài văn phòng cho các cuộchọp
11.Listeningmusic
- Chức năng nghe nhạc (nhạc chờ, các chương trình quà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):
• 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ín hiệulẫ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ệu duynhất Việc kết hợp này làm tăng khả năng sử dụng băng thông Thêm vào đóviệc sử dụng một header chung duy nhất làm giảm thời gian overhead chomỗi kênh riêng lẽ Giao thức này thích hợp khi có nhiều kênh kết nối giữahai đầ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ắm khitruyền tín hiệu video Tuy nhiên, vì nó là một giao thức mở, nên các việ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 có thể
Trang 15• Về khía cạnh bảo mật, IAX có khả năng nhận thực bằng 3 cách khác nhaunhư sau:
- Plain text
- Mã hóa MD5
- 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 đầucuối sử dụng việc trao đổi khóa RSA hoặc trao đổi hóa động tại thời điểmthiế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, đặcbiệ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
• 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ác thiết
bị đầu cuối mong muốn Proxy lúc này sẽ gởi đến một gói tin là 407 ProxyAuthorization Request, chứa các ký tự được cài đặt một các ngẫu nhiênthườ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ợpvới mã mà proxy tạo ra, client được xác thực
Trang 16Hì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:
• 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ạng PSTNtruyền thống Từ thời điểm đó, H323 đã có một vài phiên bản với các tínhnăng bổ sung cho phép nó hoạt động trong một mạng thuần VoIP và cácmạ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
Trang 17• 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áp mật
mã mạnh
• H323 và NAT: H323 cũng gặp những vấn đề tương tự như SIP khi triển khaivới NAT Phương pháp đơn giản nhất là cho forward những port nhất địnhqua thiết bị tích hợp NAT đối với các client nội bộ Để tiếp nhận cuộc gọi,TCP port 1720 phải luôn được forward Thêm vào đó, port UDP cho các dữliệu RTP và RTCP cũng phải được forward Những client cũ như MSNetmeeting cũng yêu cầu forward port TCP cho việc tunnel của giao thứcH245 Nếu có một số lượng các client đằng sau thiết bị có tích hợp NAT,chúng ta phải sử dụng gatekeeper chạy proxy mode Gatekeeper sẽ cần mộtInterface liên lạc với một mạng IP subnet và mạng Internet H323 client trênmạng riêng sẽ đăng ký đến gatekeeper, sau đó gatekeeper sẽ gọi cuộc gọithay mặt cho client Các client bên ngoài muốn gọi bên trong cũng phải thựchiệ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 taphải sử dụng các ứng dụng độc lập như Open H323 Gatekeeper
4. 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
Trang 18Hì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ống Asterisk
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ại ViệtNam với hai địa điểm là Hà Nội và thành phố Hồ Chí Minh Thông qua mạngWAN 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àmgiảm chi phí đáng kể
3. Các ứng dụng IVR,VoiceMail,Conference Call:
Trang 20• Chức năng cuộc gọi hội nghị được thiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau.
4.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ận phảnhổ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ột lú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ải quyếtnhư thế nào? Bình thường thì sẽ nghe tín hiệu bận nhưng với chức năngphân phối cuộc gọi sẽ đưa thuê bao đó vào hàng đợi để chờ trả lời, trongkhi chờ trả lời cuộc gọi thuê bao có thể nghe những bài hát hay do asteriskcung cấp và khi nào một trong mười số điện thoại đang gọi trở về trạng tháirỗi thì cuộc gọi đang chờ sẽ được trả lời Giống như chức năng của dịchvụ: 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 /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/