Slide giới thiệu về một tổng đài IP
Trang 1PHẦN 5
TỔNG ĐÀI IP
Trang 2Tổng đài nội bộ - PBX
(Private Branch Exchange)
Theo thống kê thì 70% lưu lượng thoại trong một công ty cỡ vừa và lớn là của các cuộc
gọi nội bộ
Tổng đài nội bộ PBX sẽ tự định tuyến các
cuộc gọi nội bộ với nhau mà không cần thông qua tổng đài của mạng PSTN
Tổng đài nội bộ PBX truyền thống kết nối các cuộc gọi thoại trên cơ sở chuyển mạch kênh.
Trang 3 Tổng đài IP-PBX có thể giao tiếp với mạng PSTN thông qua Gateway.
Trang 4và chuyển mạch tin cậy.
Hệ thống tổng đài IP-PBX tiêu biểu sẽ bao gồm một hoặc nhiều kiểu máy chủ thiết bị điện thoại để hỗ trợ các điểm cuối của các phiên truyền thông vật lý do khách hàng sử dụng
Trang 5SO SÁNH PBX VÀ IP-PBX
Trang 6Các ưu điểm của tổng đài IP-PBX so với tổng đài PBX truyền thống
Quản lý và bảo dưỡng dễ dàng hơn
Khả năng kết nối từ xa, khả năng di động
Kết hợp thoại/dữ liệu tạo ra ứng dụng mới
Dễ dàng phát triển các dịch vụ mới do cấu
trúc mở và các giao diện chuẩn
Dễ sử dụng do được hỗ trợ nhiều bởi phần mềm và giao diện đồ hoạ GUI
Trang 7Cấu trúc một tổng đài IP-PBX
Hệ điều hành IP-PBX: thực hiện quản lý chung và điều khiển cuộc gọi
Máy chủ SIP : thực hiện các chức năng đăng ký đầu cuối SIP, chuyển mạch cuộc gọi, quản lý thuê bao SIP
SIP gateway: thực hiện các kết nối SIP↔PSTN
Quản trị thiết bị: quản lý các trung kế PSTN (tương
tự và số)
SIP client: thực hiện chuyển cuộc gọi thuê bao SIP của IP PBX sang thuê bao SIP trên mạng Internet
Trang 8Các thuật toán (Codecs) trong
tổng đài IP-PBX
Mục tiêu các thuật toán trong tổng đài IP-PBX là
đảm bảo chất lượng cuộc gọi và tiết kiệm băng
thông nhất
Có nhiều thuật toán codec để thực hiện chuyển đổi tín hiệu analog sang tín hiệu số dạng nhị phân (0,1) như G711, GSM, G729… Mỗi thuật toán có những
ưu điểm riêng trong việc sử dụng băng thông
G729 là thuật toán codec tốt nhất hiện nay trong hệ thống VoIP Với hệ thống Asterisk có codec G729 phải mua bản quyền sử dụng vì thuật toán này
không miễn phí
Trang 9Hệ thống VOIP cho công ty vừa và nhỏ với tổng đài IP PBX
Công ty có mạng Lan và trang bị tổng đài IP PBX
tương tự như máy chủ proxy và và có thể bao gồm một VoIP Gateway,
Các đầu cuối SIP, có thể là điện thoại dạng phần
mềm hay các điện thoại chuẩn SIP/điện thoại VoIP, đăng ký với máy chủ IP PBX Các máy này yêu cầu máy IP PBX thiết lập kết nối khi muốn thực hiện
Trang 10Hệ thống VOIP và tổng đài IP PBX
Trang 11Áp dụng trong các doanh nghiệp vừa và nhỏ
Xây dựng mạng LAN, thiết lập hệ thống máy chủ và
cài đặt phần mềm điều khiển IP-PBX Có thể sử
dụng
Thiết lập các đầu cuối VoIP
Trang 12Ví dụ tổng đài IP-PBX dựng sẵn Grandstream GXE5028
Trang 13Tổng đài IP-PBX Grandstream
GXE5028
Tổng đài IPPBX GXE502x hoạt động dựa trên
chuẩn giao thức SIP, tích hợp hỗ trợ các chức năng giao tiếp như thoại, data, fax và video dành cho các doanh nghiệp vừa và nhỏ
Có tính năng thoại cao cấp của tổng đài PBX, kết nối chống nhiễu cho người dùng từ xa hoặc chi
nhánh văn phòng, khả năng kết hợp hoàn hảo với mạng PSTN
Hỗ trợ các tính năng cao cấp khác bao gồm
Voice-mail-to-email, fax-to-email, video-mail-to-email, to-fax, IVR (tự động trả lời), call queues, hunt/ring group, chuyển/treo/forward/phục hồi cuộc gọi, music-on-hold, dial plan, dynamic DNS, SRTP, TLS, peer systems, Audio-In & Audio-Out port, cổng USB (mở rộng CSDL chứa message)
Trang 14print-Mạng VoIP vừa và nhỏ
Trang 15FXO và FXS
FXS và FXO là tên của các cổng sử dụng bởi đường điện thoại tương tự, FXS phát còn FXO nhận tín hiệu thoại
Trang 16FXO và FXS
FXO (Foreign Exchange Office) là thiết bị nhận tín hiệu từ tổng đài gửi đến như dòng chuông, tín hiệu nhấc gác máy, tín hiệu mời quay số, gửi và nhận tín hiệu thoại… Dùng để kết nối với đường dây điện
thoại
FXS (Foreign Exchange Station) là thiết bị tại nơi
cung cấp đường dây điện thoại, thiết bị FXS sẽ
cung cấp tín hiệu mời quay số(dialtone), dòng
chuông, hồi âm chuông(ring tone) Trong đường
dây Analog FXS cung cấp dòng chuông và điện áp cho điện thoại hoạt động
Trang 17Card Digium TDM13B- với 1 cổng FXS
và 3 cổng FXO Interface Card Asterisk
Trang 18Phần mềm IP-PBX Asterisk
Asterisk được khởi xướng bởi Mark Spencer (sinh năm
1977) khi đang là sinh viên tại đại học Auburn ở Alabama USA Asterisk là một gói phần mềm mã nguồn mở được viết bằng ngôn ngữ C chạy trên HĐH Linux (Linux based), nó có đầy đủ chức năng của một hệ thống tổng đài IP-PBX với
các phần cứng giao tiếp phù hợp
Năm 1999 Mark thành lập công ty cung cấp dịch vụ hỗ trợ người dùng Linux qua điện thoại Để tiết kiệm chi phí, thay
vì mua tổng đài PBX có sẵn (giá rất đắt), Mark đã quyết định
tự xây dựng phần mềm thực hiện chức năng tổng đài chạy trên PC dùng hệ điều hành Linux và kết quả là Asterisk ra đời và sau đó được đóng góp từ những kỹ sư lập trình phần mềm mã nguồn mở ở khắp nơi trên khắp thế giới
Trang 19Mark Spencer năm 2006
Trang 20http://www.zapatatelephony.org) để thiết kế card
giao tiếp dùng cho PC
Điều này cho phép với PC gắn thêm card giao tiếp, cài đặt Asterisk là có tổng đài PBX đầy đủ tính
năng Card giao tiếp Zaptel thực hiện tốt việc kết nối máy chủ Asterisk trực tiếp với PSTN
Asterisk cũng hỗ trợ các giao thức VoIP phổ biến
như SIP (chuẩn IETF), H.323 (chuẩn ITU), MGCP, VoFR
Trang 21Công ty Digium
Với thành công của dự án Zaptel, Mark Spencer
thành lập công ty Digium chuyên phát triển và bán phần cứng Zaptel đồng thời hỗ trợ phát triển phần mềm Asterisk
Digium là sản xuất card giao tiếp làm việc với
Asterisk, cung cấp các ứng dụng bổ sung cho
Asterisk, hỗ trợ kỹ thuật và tư vấn
Trang 22Phần mềm mã nguồn mở Asterisk
Asterisk là một phần mềm mang tính cách mạng, tin cậy, mã nguồn mở và miễn phí mà biến một PC rẻ tiền thông thường chạy Linux thành một hệ thống điện thoại doanh nghiệp mạnh mẽ
Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một server xử lý cuộc gọi đầy
Trang 23Tính năng của phần mềm Asterisk
Asterisk có đầy đủ tính năng của tổng đài PBX thương mại: phân luồng cuộc gọi, thư thoại, hội đàm, tương tác (menu thoại) , hỗ trợ nhiều giao thức VoIP như SIP và H.323.
Cung cấp các dịch vụ như Voice mail, Video
conferencing, Call conferencing, Interactive voice
response, Call queue
Asterisk tích hợp một số công nghệ như TDM và IP
Phone, hoạt động như một softswitch, media gateway, voicemail,audio conference, nó cũng có các chức năng IVR (Interactive Voice Response) và ACD (Automatic
call distribution)
Asterisk hỗ trợ những kiểu truyền tín hiệu theo chuẩn
của Mỹ và Châu Âu hiện đang tại các doanh nghiệp, cho phép nó bắc cầu giữa những mạng tích hợp thoại - dữ liệu thế hệ kế tiếp với hạ tầng kỹ thuật hiện tại
Trang 24IAX – Inter Asterisk eXchange
Không thích H.323 cồng kềnh, Mark Spencer thiết kế một giao thức khác gọn nhẹ hơn là giao thức IAX Với bốn byte của mào đầu, so sánh với 12 byte mào đầu của SIP hay H.323, bản tin IAX có thể nói là nhỏ hơn rất nhiều IAX hỗ trợ xác thực đối với các cuộc gọi đến và đi
IAX chuyển tải thoại và báo hiệu trên cùng một kênh(in
band) không giống như giao thức SIP chuyển tải thoại và báo hiệu trên hai kênh khác nhau (out of band),
IAX có cơ chế chuyển tải nhiều cuộc gọi trên cùng một gói
IP được gọi là trung kế(Trunk) IAX có đoạn mào đầu rất nhỏ IAX giải quyết được vấn đề NAT trong giao thức SIP Mặc khác IAX là giao thức tối ưu trong việc sử dụng băng thông, cho phép nhiều gói dữ liệu thoại trên cùng một IP header,
Trang 25RTP và NAT
Mạng sử dụng NAT là một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP chung để kết nối với thế giới bên ngoài
NAT dùng để chia sẻ nhiều máy tính trong mạng
LAN nội bộ sử dụng được Internet, nhưng cũng
chính vì thế mà các máy tính nội bộ gặp khó khăn trong việc thực hiện cuộc gọi VoIP qua Internet
NAT làm cho các cuộc gọi từ Internet đàm thoại vào các máy nội bộ qua NAT thì không nghe được, còn trong trường hợp các cuộc gọi từ các máy nội bộ ra các máy internet thì nghe tốt
Vấn đề NAT trên được giải quyết trong Asterisk
bằng việc khai báo thông số NAT=yes trong cấu
hình kênh giao thức SIP
Trang 26Sơ đồ tổng quát của IP-BPX Asterisk
Trang 27IAX
Ethernet Ethernet
SIP
Hệ thống chuyển mạch mềm Asterisk
Trang 28Kiến trúc của Asterisk
Phần mềm Asterisk được thiết kế dạng môđun Các
thành phần chức năng được thiết kế thành từng môđun riêng biệt và tách rời với phần chuyển mạch lõi, điều này tạo khả năng dễ điều chỉnh và mở rộng cao
Ưu điểm của Asterisk là phần quản lý extension Từng bước của cuộc gọi được định nghĩa như một ứng dụng Quay số là một ứng dụng; trả lời, phát lại, thư thoại là những ví dụ ứng dụng khác Ta có thể tạo kịch bản thực hiện gọi ứng dụng bất kỳ trên kênh bất kỳ
Ví dụ, có thể thiết lập một số extension được đổ
chuông cùng lúc ở 2 kênh (có thể nối đến 2 máy điện thoại: 1 analog và 1 digital) trước khi chuyển cuộc gọi đến điện thoại di động, và sau đó chuyển qua hệ
thống thư thoại
Trang 29Các bộ API dùng cho việc giao tiếp với các modul của Asterisk
Channel API: cho phép phần lõi PBX giao tiếp với các
nguồn tín hiệu khác nhau, hỗ trợ các giao thức VoIP gồm SIP, H.323 và MGCP.
Codec Translator API: cung cấp khả năng làm việc với các định dạng âm thanh mã hóa như MP3, GSM, G.7123,
ADPCM
File Format API: Cho phép đọc và phát âm thanh từ các
định dạng file WAV, MP3 đem đến sự linh hoạt cho các ứng dụng trên nền Asterisk trong việc xử lý âm chuông,
DTMF (âm thanh phát ra khi nhấn phím)
Application API: Có thể dùng cho ứng dụng thứ ba như thư thoại, hội đàm cho phép viết các ứng dụng mới có thể
tương tác trực tiếp với phần lõi PBX
Trang 30Kiến trúc của Asterisk
Trang 31Đòi hỏi hệ thống cài đặt Asterisk
Thông thường yêu cầu tối thiểu là máy PIII với
500 MHz, máy > 1.5 GHz cho các hệ thống đa
Trang 32Cài đặt Asterisk
Để cài đặt Asterisk cần phải cài đặt hệ điều hành trên máy tính.
Cài đặt các gói phần mềm:
bison, gcc, kernel-source, libtermcap-devel,
ncurses-devel, openssl096b, openssl-devel
Có thể cài đạt bằng Packet Manager
Download các gói phần mềm
Zaptel, libpri, asterisk, sounds, addones
Trang 33 Ngay cả Asterisk không giao tiếp với card PRI
nào chúng ta cũng nên cài đặt gói này bởi một số module của Asterisk yêu cầu thư viện này
Asterisk-addons để sử dụng kênh H.323,
format MP3 và ghi CDR vào CSDL MySQL
Trang 34Một số thư mục chính của Asterisk
/usr/sbin/asterisk thư mục cài đặt Asterisk
/var/spool/asterisk/ - chứa nhiều thư mục con bao gồm outgoing/, qcall, tmp/, voicemail/
Asterisk luôn kiểm qua thư mục outgoing/ và qcall/
vì đây là hai thư mục chứa các file dạng text chứa thông tin yêu cầu cuộc gọi theo cấu trúc quy định
Trang 35Các file cấu hình Asterisk
Thư mục /etc/asterisk/ - chứa các tập tin cấu
hình của hệ thống Asterisk, riêng file zaptel.conf
về phần cứng được đặt tại thư mục /etc/
Extensions.conf là file cấu hình về các luật định tuyến cuộc gọi, luật quay số, các extension trong ngoài và những tính năng đặc biệt khác
Sip.conf là file cấu hình về các thông tin của các UAC như username, password, IP, type, security, codec, là file lưu giữ thông tin trong Asterisk
Iax.conf dùng cấu hình các kênh truyền của giao thức IAX, các thông số về IAX (inter-asterisk
protocol) dùng khi kết nối 2 asterisk box với nhau
Trang 36Các file cấu hình Asterisk
Voicemail.conf: file cấu hình cho hệ thống mail của asterisk Asterisk có thể dùng lệnh
voice-Sendmail trên CentOS để gởi mail đến cho các địa chỉ được lưu trong file cấu hình này
Zaptel.conf: File này nằm ngoài /etc, là file chứa thông số index, driver dành cho Linux khi kích
hoạt các thiết bị Telephony cắm trực tiếp vào
Asterisk thông qua cổng PCI\
Zapata.conf: Cũng thuộc module zaptel, nhưng là file kết nối các thiết bị Telephony đã được khai
báo vào hệ thống chính của Asterisk
MeetMe.conf: Một chức năng tạo room
conference căn bản
Trang 37Dialplan
Dialplan là trái tim của hệ thống asterisk Dialplan
cho biết các cuộc gọi sẽ được xử lý như thế nào qua
hệ thống asterisk
Dialplan bao gồm tập hợp các dòng lệnh hay các ứng dụng theo một trình tự nào đó mà hệ thống phải thực hiện để đáp ứng nhu cầu chuyển mạch cuộc gọi File etc/asterisk/extention.conf
Dialplan là một tập gồm nhiều extention, khi một cuộc gọi tương ứng với extention nào thì ứng dụng cho
cuộc gọi đó sẽ được thực hiện
Extension là thành phần mà asterisk thực hiện theo, được kích hoạt khi có cuộc gọi vào extension chính
là con số mà thuê bao đó cần gọi
Trang 38 Một extension được định nghĩa trong một
context là hoàn toàn tách biệt so với các
extension được định nghĩa trong các context khác.
Cú pháp của extension có dạng:
exten => name,priority,application()
name : tên của extension tương ứng với số được gọi
priority: thể hiện thứ tự thực hiện
application: một chương trình thực hiện một hoạt động nào đó của cuộc gọi
Trang 392 là các priorites tức là thứ tự thực hiện các
lệnh
Khi thuê bao quay số 8051 thì đổ chuông máy
IP SIP 8051 nếu trong vòng 20 giây mà thuê bao không nhấc máy thì kết thúc cuộc gọi.
Trang 40Trên File extensions.conf
[new]
Exten => 101,1,Dial(SIP/101,20) Exten => 102,2,Dial(SIP/102,20)
- Cho phép 2 softphone với extension 101 và
102 thực hiện cuộc gọi, có thể thêm vào nhiều ID hơn trong file SIP.conf và tạo dialplan tương ứng với extensions.conf
Trên File sip.conf:
Trang 41Contexts - Ngữ cảnh
Như vậy ngữ cảnh (context) đã được giới hạn trong một tình huống cụ thể, hệ thống có thể có nhiều ngữ cảnh(context) khác nhau.
Ví dụ:
Khi gọi đến tổng đài Asterisk có một thông điệp thông báo
“Chào các đã đến trường Đại học CNTT, bấm phím 22 để gặp phòng đào tạo, bấm phím 21 để gặp phòng kế toán …”
Nếu người gọi chọn phím 22 thì hệ thống sẽ chuyển đến một ngữ cảnh (context) là [phongdaotao] khi người gọi nhấn phím
21 thì hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh
(context) [Phongketoan]
Mỗi trường hợp hệ thống sẽ có ngữ cảnh khác nhau, ngữ
cảnh được đặt trong dấu []
Trang 42Các lệnh trong Asterisk CLI
Asterisk có hai thành phần tích hợp và chạy song song là Asterisk Server và Asterisk
Chạy lệnh #asterisk –r để vào Asterisk Client:
CLI>
Trang 43Quản trị và cấu hình Asterisk qua Web
Để thuận lợi cho người dùng trên toàn thế
giới trong việc cấu hình tổng đài Asterisk
nhiều công cụ như FreePBX được sử dụng phổ biết
Các công cụ cho phép người dùng có thể cài đặt, xem hoạt động hệ thống từ xa và bằng các menu phù hợp
Có thể việt hóa các công cụ
Trang 45Sử dụng phần mềm đóng gói Asterisk có sẵn
Các phần mềm đóng gói phát triển bởi cộng đồng
mã nguồn mở bao gồm Hệ điều hành Linux,
Trang 46Gói phần mềm TrixBox
TrixBox là gói phần mềm tổng hợp được phát triển bởi cộng đồng phát triển nguồn mở
Asterisk dưới bản quyền GPL
TrixBox bao gồm nhân là hệ điều hành
CentOS và những thành phần dành cho việc cấu hình ứng dụng, thống kê tình trạng hoạt động hệ thống, lưu trữ dự phòng, và kết hợp với nhau tạo thành một gói hoàn chỉnh
Sau khi cài gói TrixBox vào máy tính thì máy tính trở thành một tổng đài PBX.
Trang 47Các thành phần của TrixBox
Hệ điều hành Linux CentOS
Phần mềm Asterisk PBX: Thành phần chính của gói TrixBox
SugarCRM: Hệ thống quan hệ khách hàng CRM
A2Billing – Là thành phần dành cho việc xây dựng
hệ thống điện thoại trả trước hay còn gọi là điện
thọai thẻ (Calling Card)
Flash Operator Panel - Bảng điều khiển giám sát
tình trạng hoạt động của các máy điện thoại trong
hệ thống