Báo cáo Thực tập tốt nghiệp Đại học
MỤC LỤC
Mục lục
Báo cáo Thực tập tốt nghiệp Đại học
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Hình 1.1 : Hệ thống của tổng đài IP-PBX
Hình 2.1: Cổng VoIP-to-PSTN bằng cách sử dụng Asterisk
Hình 2.2: Kiến trúc của Asterisk
Hình 2.3.: Sơ đồ tổng quát hệ thống
Hì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.
Lời cám ơn
Báo cáo Thực tập tốt nghiệp Đại học
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
A
Lời cám ơn
ATA : Analog Telephone Adaptors
API : Application Programming Interface
AGI : Asterisk Gateway Interface
ACD : Automatic Call Distribution
C
CGI : Computer Graphics International
CSDL :
F
FXO : Foreign Exchange Office
tự
FXS : Foreign Exchange Station
tự
H
HTTP : Hypertext Transfer Protocol
I
IP : Internet Protocol
IP-PBX : Internet Protocol-
Private Branch Exchange
IAX : Inter-Asterisk eXchange
IVR : Interactive Voice Response
ITSP : Internet Telephony Service Provider
Internet
IETF : Internet Engineering Task Force
ITU : International Telecommunication Union
ISDN : Interated Services Digital Network
M
MGCP : Media Gateway Control Protocol
thông
MD5 : Message-Digest algorithm 5
Bộ chuyển đổi điện thoại số
Giao diện ứng dụng
Giao diện cổng Asterisk
Phân phối cuộc gọi tự động
Đồ họa máy tính quốc tế
Cơ sở dữ liệu
Cổng tiếp nhận đường tín hiệu tương
Cổng cung cấp đường tín hiệu tương
Giao thức truyền siêu văn bản
Giao thức Internet
Tổng đài IP
Giao thức chuyển đổi IAX
Tương tác thoại
Nhà cung cấp dịch vụ điện thoại
Cộng đồng quốc tế mở về mạng
Liên minh Viễn thông quốc tế
Mạng số tích hợp dịch vụ
Giao thức điều khiển cổng truyền
Là hàm băm mật mã
Báo cáo Thực tập tốt nghiệp Đại học
N
NAT : Network Address Translators
P
PBX : Private Branch Exchange
PSTN : Public Switched Telephone Network
cộng
R
RJ-11 : Registered Jack 11
RJ-45 : Registered Jack 45
Ethernet
RTP : Real-Time Transport Protocol
RSA : Resgister Admission Status
RFC : Request for Comment
RTCP : Real Time Control Protocol
S
SIP : Session Initiation Protocol
SCCP : Signaling connection Control Part
SMTP : Simple Mail Transfer Protocol
T
TDM : Time Division Multiplexing
TĐĐTS :
TLS : Transport Layer Securit
TCP : Transport Control Protocol
U
UDP : User Datagram Protocol
V
VoIP : Voice over Internet Protocol
VPN : Virtual Private NetWork
WAN : Wide Area Network
Lời cám ơn
Biên dịch địa chỉ mạng
Tổng đài Nhánh Riêng
Mạng điện thoại chuyển mạch công
Kết nối các thiết bị điện thoại
Kết nối các thiết bị trong mạng
Giao thức truyền thời gian thực
Báo hiệu đăng kí, cấp phép, thông tin
trạng thái
Yêu cầu cho ý kiến
Giao thức điều khiển thời gian thực
Giao thức khởi tạo phiên
Phần điều khiển kết nối tín hiệu
Giao thức truyền thông tin đơn giản
Ghép kênh phân chia thời gian
Tổng đài điện tử số
Giao thức bảo mật lớp truyền tải
Giao thức điều khiển truyền TCP
Giao thức gói người sử dụng
Thoại trên IP
Mạng riêng ảo
Mạng diện rộng
Báo cáo Thực tập tốt nghiệp Đại học Lời cám ơn
MỞ ĐẦU
o0o
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ó.
Báo cáo Thực tập tốt nghiệp Đại học Lời cám ơn
LỜI CẢM ƠN
o0o
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êm
nhữ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ên
phầ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á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ều
kiệ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ông
Hồ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
Báo cáo Thực tập tốt nghiệp Đại học Chương 1: Tổng quan về VoIP
CHƯƠ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ền
thoại sử dụng giao thức mạng IP trên cơ sở hạ tầng sẵn có của mạng
Internet.
• 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ại
thô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ên
VoIP 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ệ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 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ạch
kê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ớ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ăng
thô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ảng
lặng (khoảng thời gian không có tiếng nói) nên sẽ làm tăng hiệu
suất mạng.
Báo cáo Thực tập tốt nghiệp Đại học Chương 1: Tổng quan về VoIP
- Điện thoại IP là bước đột phá về công nghệ và dịch vụ, mang lại
khả 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ọ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
• 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ố định
thông thường. Tuy nhiên để sử dụng cho VoIP cần phải cấu hình trước
khi 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 nay
ngườ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
dễ sử dụng.
− Audio Interface: xét xem có speaker phone hay không.
2. Softphone
• Là một phần mềm được cài trên máy tính, thực hiện tất cả các chức năng
giống như thiết bị điện thoại VoIP. Khi sử dụng softphone, để giao tiếp
máy tính phải có card âm thanh, headphone và firewall không bị
khóa(hoặc tắt firewall).
• Đối với hệ thống Asterisk, nên dùng softphone với công nghệ giao thức
mớ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ện cuộc gọi với mạng PSTN, chúng ta cần phải có thiết bị phần cứng
tương thí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ề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)
Báo cáo Thực tập tốt nghiệp Đại học Chương 1: Tổng quan về VoIP
• ATA là thiết bị kết nối với điện thoại Analog thông thường đến mạng
VoIP, 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.
Hì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 tin
thoại, đơn giản hơn nhiều với PBX truyền thống, phải thực hiện đấu nối
vậ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
Báo cáo Thực tập tốt nghiệp Đại học Chương 1: Tổng quan về VoIP
♣ Khả năng nâng cấp hệ thống cao nhất và không giới hạn số lương người
dù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ăn
phò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ện
thoại quốc tế (ITSP).
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
CHƯƠ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ạng
PSTN (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à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ơ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.
Hình 2.1: Cổng VoIP-to-PSTN bằng cách sử dụng Asterisk
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
• ứng dụng cho điện thoại: chuyển mạch cuộc gọi, cuộc gọi hội nghị,
voicemail, chuyển hướng cuộc gọi, …
• Một Asterisk server được kết nối tới một mạng vùng nội hạt sẽ điều khiển
các điện thoại trong mạng kết nối đến mạng khác, các điện thoại trong mạng
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ự trong
nội hạt. Cổng FXO và kênh T được dùng để kết nối giữa Asterisk server với
mạ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.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
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ại
hoặc gói thoại đến một dịch vụ khác. Asterisk có độ tin cậy cao và dễ dàng
triể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ông
nghệ điện thoại: VoIP, SIP, H.323, IAX. Asterisk có thể kết nối với hầu hết
loại điện thoại truyền thống mạng ISDN qua luồng T1 và E1. Các hàm API
cũ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ự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 cao
như: 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ển
Asterisk.
Codec Translator xác nhận các kênh nén dữ liệu ứng với các
chuẩ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ông
qua các giao tiếp như: SIP, Zaptel or IAX. Mọi cuộc gọi vào và
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
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 giao
tiế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én
cá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ác
nhau, đây là đầu mối cho việc kết nối các cuộc gọi tương thích
vớ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 được
thực thi 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ạ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:
- Hiển thị số người gọi trên điện thoại của bạn
1. Caller ID
2. Call
Forwarding
- Caller ID cũng cho phép chúng ta xác nhận số thuê
bao gọi đến.
- 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.
- 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ó
3. Call Parking 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ặp nhau và đàm thoại.
- 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ện
thoại đến một cơ quan hay xí nghiệp thuê bao thường
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
đ ư ợ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
4. IVR
5. Time and
Date
6. Remote call
pickup
7. Privacy
Manager
8. Blacklist
9. Voicemail
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
theo 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ốn
trên đều có thể thực hiện qua chức năng tương tác thoại.
- 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ân viên sử dụng máy điện thoại trong giờ hành chánh
còn ngoài giờ thì sẽ hạn chế hoặc không cho phép gọi ra
bên ngoài.
- Với tính năng này sẽ cho phép chúng ta từ máy điện
thoại này có thể nhận cuộc gọi từ máy điện thoại khác
đang rung chuông.
- Khi một người chủ doanh nghiệp triển khai Asterisk
cho hệ thống điện thoại của công ty mình nhưng lại
khô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ính
năng tiện dụng là chỉ cho phép số điện thoại được lập
trì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
-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 danh
sách sẽ không gọi được đến máy của mình (sử dụng trong
tình trạng hay bị quấy rối điện thoại).
-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ện
thoại được khai báo trong hệ thống Asterisk cho phép khai
bá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ăng
như: xác nhận password khi truy cập vào hộp thư thoại,
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
gửi mail báo khi có thông điệp mới
10.Call
Conference
-Meetme
11. Listening
music
- 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ên
hay 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ảm chi phí đi lại và cho phép người lao động có hiệu
quả hơn bằng cách không phải đi ra ngoài văn phòng cho
các cuộc họp.
- 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ông
cò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 server
Asterisk khác, vì thế nó được gọi là Inter-Asterisk eXchange. IAX là giao
thức truyền tải (giống như SIP), sử dụng port UDP 4569 cho cả kênh tín
hiệ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ệu
duy 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êm
vào đó việc sử dụng một header chung duy nhất làm giảm thời gian
overhead cho mỗ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ữ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ắm
khi truyề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ể.
• 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 nhau
như sau:
- Plain text
- Mã hóa MD5
- Mã hóa trao đổi khóa RSA.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
• Điều này tất nhiên không mã hóa phần header giữa hai đầu cuối. Có nhiều
giả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.
• IAX và NAT:
+ IAX2 được thiết kế để tương thích với các thiết bị sử dụng giao
thức NAT. Việc sử dụng duy nhất một port UDP cho cả tín hiệu báo hiệu
và truyền dẫn dẫn đến tăng cườg tính năng bảo mật của firewall. Điều
này làm cho IAX là một trong các giao thức bảo mật tốt nhất cho mạng.
2. SIP:
• Sự ra đời của SIP đã giúp phát triển mạnh VoIP. SIP có ưu điểm là nó là
giao thức đơn giản, có cấu trúc syntax khá giống với các giao thức như
HTTP hay SMTP. SIP được hỗ trợ bởi module trong Asterisk là chan_sip.so
module.
• SIP được phát triển bởi IETF vào tháng 2-1996. Ban đầu SIP chỉ có chức
nă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ên
gọ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ận
thự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
Proxy Authorization Request, chứa các ký tự được cài đặt một các ngẫu
nhiê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.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
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ụng
nhấ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 DoS
như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ằng
phương thức mật mã không nằm trong khả năng của SIP và phải được kết
hợ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ền
tải thông qua lớp NAT. Bởi vì SIP mật mã thông tin địa chỉ trong cấu trúc
khung 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ác
firewall đượ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
PSTN truyền thống. Từ thời điểm đó, H323 đã có một vài phiên bản với
cá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, SIP
vẫ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 2
module chan_h323.so và chan_oh323.so.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
• 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 đối
cao.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ức
thô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ột
vài vấn đề. Khi VoIP được sử dụng cho các lĩnh vực đòi hỏi tính bảo mật
cao 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
khai 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ộ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ư
MS Netmeeting cũng yêu cầu forward port TCP cho việc tunnel của giao
thức H245. 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ột Interface liên lạc với một mạng IP subnet và mạng Internet. H323
client trên mạng riêng sẽ đăng ký đến gatekeeper, sau đó gatekeeper sẽ gọi
cuộc gọi thay mặt cho client. Các client bên ngoài muốn gọi bên trong cũng
phả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.
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ĩa
bở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 MGCP
không thể được tiến hành trực tiếp mà phải đi qua controller.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
Hình 2.6 : Giao thức MGCP
• Asterisk hỗ trợ MGCP qua module chan_mgcp.so và đầu cuối được đinh
nghĩa thông qua file cấu hình mgcp.conf. Bởi vì Asterisk cung cấp các cuộc
gọ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. Tuy
nhiê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 đến
Asterisk, 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ào
Asterisk. Đ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 PBX
bây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao cho
với chi phí thấp nhất, giải pháp để thực hiện đó là trang bị hệ thống
Asterisk và kết nối với hệ thống PBX đang tồn tại qua luồng E1.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
Hì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ệt Nam với hai địa điểm là Hà Nội và thành phố Hồ Chí Minh. Thông qua
mạ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:
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
Hình 2.9 : Các ứng dụng của tổng đài IP
• Ứng dụng thực hiện các server kết nối với hệ thống PSTN hay tổng đài
PBX để triển khai các ứng dụng như tương tác thoại IVR.
• Một ví dụ cho ứng dụng tương tác thoại đó là cho biết kết quả sổ số,
kiểm tra cước cuộc, dịch vụ giải trí – tra cứu thông tin thông qua số
19001260. Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phía
thuê bao giống như chức năng hộp thư thoại của Bưu Điện
• 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ả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.
Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP
Hì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ết như thế nào? Bình thường thì sẽ nghe tín hiệu bận nhưng với chức
nă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 do
asterisk 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ăng
củ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.
Báo cáo Thực tập tốt nghiệp Đại học Chương 3: Cấu hình thành phần Asterisk
CHƯƠ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 tin
zaptel.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ện
thoạ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 astdb chứa thông tin về
cơ sở dữ liệu của ASTERISK bao gồm các thư mục chính:
o
o
o
o
agi-bin/ : Chứa các custom scripts, như là các ứng dụng AGI.
Firmware : Chứa các thông tin về các thiết bị gắn kết với ASTERISK.
mohmp3 : Chứa tập tin mp3 cho chức năng Music on Hold
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/
Báo cáo Thực tập tốt nghiệp Đại học Chương 3: Cấu hình thành phần Asterisk
Hình 3.: Cấu trúc thư mục var
−
Thư mục tmp/ được dùng để lưu trữ các thông tin tạm thời cho các quá trình như
sao chép, hoặc ngăn cản hai quá trình ghi và đọc tập tin cùng một lúc.
−
Tất cả các voicemail và các lời chào đều chứa trong thư mục voicemail.
• Cd /var/run/
−
Chứa tất cả thông tin về các tiến trình đang hoạt động
trong hệ thống, bao gồm ASTERISK (đặt biệt là trong tập tin
asterisk.conf).
• Cd /var/log/asterisk/
− Chứa các thông tin logs của ASTERISK. Các thông tin này có thể
được hiệu chỉnh trong logger.conf trong thư mục /etc/asterisk/.
2. Các tập tin cấu hình của Asterisk:
• Các file cấu hình cho hệ thống asterisk đều nằm tại thư mục /etc/asterisk
−
−
Ví dụ như:
o extensions.conf
o sip.conf
o voicemail.conf
o asterisk.conf…….
Tuy nhiên, file zaptel.conf cấu hình cho phần cứng TDM
nằm tại thư mục /etc, cách thức cấu hình giống như tập tin .ini
của window.
II. Quản lí các User và Dialplan
1. Quản lí User:
• User là những tài khoản người dùng trong một hệ thống. User dùng để xác
định người sử dụng, nhằm cấp quyền sử dụng tương ứng khi người dùng sử
dụng hệ thống. Thường thì trong một hệ thống, hoặc một chương trình có
• nhiều người sử dụng thì sẽ có sự phân quyền cho các người dùng để khai
thác, sử dụng tài nguyên hiệu quả. Như vậy khi phân quyền chính là việc
tạo ra các loại user khác nhau, với mỗi nhóm loại user sẽ được cấp những
quyền tương ứng.
• User root đóng vai trò là admin, người có quyền cao nhất trong hệ thống.