Mục Lục
PHẦN 1: ELASTIX ADMINISTRATION
Cài đặt Elastix
3
4
2.1 Khai báo các số nội bộ
18
2.2 Cấu hình trung kế (trunk)
19
2.3.1 Ring Group
23
2.3.3 IVR
25
2.3.2 System Recordings
24
2.3.4 Conference
26
2.3.5 Thống kê cuộc gọi
27
2.3.6 Call record
28
2.3.8 Blacklist
30
2.3.7 Voicemail
29
2.3.9 Time Group, Time Condition
30
2.3.10 Tự record file âm thanh
32
2.3.11 Hàng đợi QUEUE
34
3. Phân tích bản tin SIP
3.1 Quá trình REGISTER
3.3 Quá trình giải phóng cuộc gọi
PHẦN 2: ASTERISK ADMINISTRATION
37
38
40
41
1.Tổng quan về asterisk
41
2. Khai báo sip account
41
3. Cấu hình định tuyến cuộc gọi dialplan
43
3.2 Cấu hình trunk
45
PHẦN 3: HƯỚNG DẪN THỰC HÀNH
47
Bài 01: Cấu hình gọi nội bộ, hộp thư thoại, chuyển cuộc gọi và ghi âm cuộc gọi
48
Bài 02: Cấu hình SIP trunk, thực hiện cuộc gọi ra PSTN, kết nối 2 tổng đài
53
Bài 3: Xây dựng ngữ cảnh gọi vào một công ty
60
Bài 04: Dịch vụ Conference
70
Bài 05: Cài đặt Asterisk trên Linux CentOS 6.7
72
Phần 1: Chuẩn bị máy ảo CentOS6.7
72
Phần 2: Cài đặt Asterisk 13.x
72
Phần 3: Cấu hình Extension và Dialplan đơn giản
74
Tạo extension đơn giản
74
Tạo dialplan đơn giản
75
Phần 4: Cấu hình trunk cuộc gọi inbound/outbound cho 2 tổng đài Asterisk trong
mạng nội bộ
76
Phần 5. Cấu hình một số dịch vụ cơ bản
Ring Group
IVR
78
78
79
Conference
80
Call record
83
Voice Mail
84
Time Condition
PHỤ LỤC
83
85
PHỤ LỤC 01: CẤU HÌNH MỘT SỐ SOFTPHONE THÔNG DỤNG
85
Phụ Lục 02: Hướng dẫn đăng ký trunk với TEL4VN
97
Phụ Lục 03: Cấu hình gửi mail từ server ra ngoài thông qua Gmail
99
Phụ lục 04: Hướng dẫn import file máy ảo cài sẵn và đặt IP tĩnh
101
Phụ lục 05: Kết nối SSH vào server sử dụng Mobaxterm
115
Phụ lục 06: Tắt cấu hình STUN mặc định cho một số softphone
118
Phụ lục 07: Cài đặt Centos 6.7 trên Virtualbox
122
Phụ lục 08: Các lệnh Linux thông dụng cần nhớ
130
Phụ lục 09: Giới thiệu MySQL căn bản
131
Phụ lục 10: Cấu hình lại thời gian cho server CentOS
137
Phụ lục 11: Điều kiện thời gian của hàm GotoIfTime
137
VoIP Open Source Training Center
1
VoIP Open Source Training Center
2
PHẦN 1: ELASTIX ADMINISTRATION
VoIP Open Source Training Center
3
1. Cài đặt Elastix
1.1 Chuẩn bị cài đặt
-
Tải file Distro Elastix của Elastix về tại đường dẫn sau:
/>
p=sharing
-
Dùng phần mềm ghi file Distro Elastix (file .ISO) đã tải về ở trên vào CD/DVD, khởi
động server (máy tính) từ ở đĩa CD/DVD, màn hình giao diện cài đặt ban đầu xuất
hiện như hình dưới (hướng dẫn này được thực hiện trên máy ảo Virtualbox, nếu cài
trên server thật giao diện có thể khác)
-
Tạo máy ảo trên Virtualbox:
Chọn OS cho phù hợp:
+ Elastix 62bit cần chọn Red Hat 64bit
+ Elastix 32bit cần chọn Red Hat 32bit
Chọn Memory size khoảng 512 MB là vừa đủ, nếu máy tính cấu hình mạnh thì có thể
chọn nhiều hơn (1024 MB, 2048 MB,...)
VoIP Open Source Training Center
4
Chọn tạo ở đĩa mới và chọn định dạng ổ đĩa là VDI
VoIP Open Source Training Center
5
Chọn dung lượng ổ đĩa cho máy ảo khoảng 10 GB, nếu ổ cứng máy tính còn trống
nhiều thì có thể chọn nhiều hơn (15 GB, 20 GB,...)
Đưa file Elastix đã download ở phần trên vào ở đĩa CD của máy ảo
VoIP Open Source Training Center
6
Cài đặt Network Bridged (để máy ảo xin cấp phát IP cùng lớp mạng với máy thật) và
chọn Name là tên card mạng máy thật đang sử dụng để kết nối Internet.
-
Sau khi tạo máy ảo xong, bật máy lên và bắt đầu cài đặt Elastix.
1.2 Tiến hành các bước cài đặt
VoIP Open Source Training Center
7
Chọn giao diện cài đặt Command-Line bằng cách nhập từ bàn phím lệnh "linux text"
và bấm phím Enter
Chọn ngôn ngữ là English và ấn Enter (sử dụng phím TAB trên bàn phím để di
chuyển trỏ chuột đến tùy chọn mong muốn).
Chọn kiểu bàn phím là US
VoIP Open Source Training Center
8
Chọn kiểu cho phân vùng đĩa cài Elastix là Remove All Partition để format toàn bộ ở
đĩa và tự chia phân vùng lại. Chọn OK để tiếp tục.
Sau đó sẽ nhận được một cảnh báo lần nữa để chắc chắn là muốn làm điều này vì có
thể các dữ liệu cũ trên ở đĩa ảo (hoặc HDD) sẽ mất. Chọn Yes để tiếp tục.
VoIP Open Source Training Center
9
Nếu cần xem lại hoặc thay đổi gì thì chọn Yes, nếu không chọn No để tiếp tục.
Chọn Yes để cấu hình cho network.
VoIP Open Source Training Center
10
Chọn tùy chọn Enable IPv4 support và chọn OK. (Chuyển mục chọn bằng phím TAB,
tick chọn bằng phím SPACE)
Chọn Dynamic IP config để nhận cấu hình IP từ DHCP Server hoặc chọn Manual
address config để cấu hình IP cho server Elastix với:
-
IP Address : địa chỉ IP của tổng đài Elastix.
-
Prefix (Netmask): Subnet mask của lớp mạng
Chọn OK để tiếp tục.
VoIP Open Source Training Center
11
Cấu hình Hostname cho server với:
-
Automatically via DHCP : nhận Hostname từ DHCP cấp.
Manual : tự cấu hình Hostname cho máy chủ này. Chọn OK.
Chọn TimeZone cho máy chủ, chú ý không nên bỏ qua việc chọn Time Zone mà gây
một số trở ngại về sau do server sai giờ.
Chọn tùy chọn System Clock uses UTC và Time Zone là Asia/Ho Chi Minh.
VoIP Open Source Training Center
12
Nhập password cho tài khoản root của hệ thống. Chọn OK để tiếp tục
Quá trình cài đặt sẽ diễn ra trong một khoảng thời gian dài hay ngắn tùy vào cấu hình
máy tính.
VoIP Open Source Training Center
13
Nhập mật khẩu để truy xuất đến dữ liệu MySQL của Elastix.
Nhập lại một lần nữa để xác nhận mật khẩu cho MySQL.
VoIP Open Source Training Center
14
Thiết lập mật khẩu cho tài khoản admin.
Nhập lại một lần nữa để xác nhận mật khẩu cho admin.
VoIP Open Source Training Center
15
Sau khi cài đặt xong, server tự động reboot lại, và từ cửa sổ login giao diện dòng lệnh
truy cập vào với tài khoản root và password cho tài khoản này.
VoIP Open Source Training Center
16
Truy cập đến trang web quản lý của Elastix với tài khoản và mật khẩu admin. Giao
diện web quản lý của Elastix:
TEL4VN cũng cung cấp máy ảo Virtualbox đã cài sẳn Elastix (cho cả máy 32 và 64
bit) tại:
/>ng
Nếu gặp khó khăn trong quá trình cài đặt trên Virtualbox bạn có thể tải file máy ảo cài
sẵn và import vào Virtualbox (Tham khảo hướng dẫn import file .OVA vào Virtualbox trong
Phụ lục để thực hiện)
VoIP Open Source Training Center
17
2. Cấu hình tổng đài Elastix
2.1 Khai báo các số nội bộ
Đây là các số nội bộ dùng để cấp phát cho các nhân viên trong công ty, độ dài và cách
đặt số tùy ý, riêng với hướng dẫn này thì dãy số nội bộ được quy định là 1XXX
(X=0,1,2,3,....,9).
Để khai báo một số nội bộ mới chọn PBX ⇨ PBX Configuration ⇨ Extensions ⇨
Device "Generic SIP "Deivce ⇨ Submit.
Điền các thông số sau:
-
User Extension: Số nội bộ của nhân viên
Display Name: Tên nhân viên
Secret: Mật khẩu
Thực hiện tương tự để khai báo số nội bộ cho các nhân viên khác.
Sau khi khai báo xong thì phải bấm nút “Submit” ở cuối và click vào thanh màu
cam phía trên để "Apply Config".
VoIP Open Source Training Center
18
Người quản trị hệ thống sẽ cung cấp các tài khoản nội bộ cho nhân viên. Nhân viên có
thể sử dụng để đăng nhập trên điện thoại ip phone hoặc các phần mềm softphone trên máy
tính, smartphone (Tham khảo hướng dẫn cấu hình một số softphone thông dụng trong Phụ
lục).
2.2 Cấu hình trung kế (trunk)
Với các doanh nghiệp thì ngoài nhu cầu gọi nội bộ trong công ty thì còn phải liên hệ
với các khách hàng, do đó hệ thống tổng đài nội bộ cần được kết nối với mạng điện thoại
truyền thống, di động, quốc tế,... Để làm được điều đó thì công ty cần phải đăng ký dịch vụ
trung kế với các nhà mạng viễn thông, có thể sử dụng kết nối CO, E1 hoặc sip trunk. Trong
bài hướng dẫn này sử dụng kết nối sip trunk đến nhà cung cấp TEL4VN, với đầu số thuê bao
là 0873020777. Kết nối sip trunk sẽ thông qua IP và kết nối đến nhà cung cấp dịch vụ, đây là
dạng trung kế cấu hình đơn giản nhất và ít phải tốn thêm thiết bị Gateway hoặc Card. (tham
khảo hướng dẫn đăng ký tài khoản trunk với nhà cung cấp TEL4VN trong Phụ lục)
Tài khoản trunk được TEL4VN cung cấp với cấu trúc như sau:
fromuser=<your-sip-account>
username=<your-sip-account>
type=peer
context=from-trunk
secret=<your-password>
host=sip.tel4vn.com
port=50061
insecure=invite,port
nat=force_rport,comedia
qualify=yes
disallow=all
allow=ulaw,alaw
Khai báo tài khoản sip trunk này chọn PBX ⇨ PBX Configuration ⇨ Trunks ⇨ Add
SIP Trunk
Điền các thông số như sau:
- Peer Detail: là thông số trunk nhận được từ TEL4VN.
- Register String: là chuỗi để đăng ký server với provider có dạng
user:pass@domain:port/DID
- Outbound CallerID: là số điện thoại hiển thị khi gọi ra thông qua trunk
VoIP Open Source Training Center
19
VoIP Open Source Training Center
20
Tiếp theo cấu hình Outbound Route để định tuyến cuộc gọi đến nhà cung cấp
(TEL4VN) khi các nhân viên có nhu cầu gọi ra ngoài. Chọn PBX ⇨ PBX Configuration ⇨
Outbound Routes để tạo Outbound route với các thông số:
-
Route Name: tên outbound route
Dial patterns that will use this Route: cấu hình quy định số nhấn (số bị gọi) để
gọi ra ngoài (0X. là tất cả các số điện thoại bắt đầu bằng số 0)
X : 0,1,2,3,....,8,9
Z : 1,2,3,4,...,8,9
N : 2,3,4,...,8,9
. : một hoặc bao nhiêu số tùy ý.
[1237-9] : thỏa một số bất kỳ nằm trong dãy 1,2,3,7,8,9 trong ngoặc.
Muốn chặn các cuộc gọi quốc tế với đầu 00 thì có thể sửa lại Dial Pattern là
0Z.
-
Trunk sequence for matched routes: chọn trunk để gọi ra nếu thỏa điều kiện số
bị gọi. Trường hợp có nhiều trung kế thì có thể chọn theo thứ tự 0,1,2,3,... với
0 là độ ưu tiên cao nhất; Nếu cuộc gọi qua trunk 0 bị lỗi thì hệ thống sẽ chọn
tiếp trunk 1 để route cuộc gọi ra. Để đảm bảo an toàn kết nối cho hệ thống thì
hầu hết các công ty đều dùng giải pháp này, thuê ít nhất hai nhà cung cấp và
chọn Outbound Route qua cả hai trunk.
VoIP Open Source Training Center
21
Để nhận cuộc gọi từ bên ngoài di động, điện thoại bàn thì cần cấu hình thêm Inbound
Route. Việc định tuyến cuộc gọi vào là tùy theo nhu cầu của từng công ty, có thể phát lời
chào, cho gọi nhóm hoặc định tuyến theo thời gian hoặc một cấu hình khác.
Để tạo Inboud Route chọn PBX ⇨ PBX Configuration ⇨ Inbound Routes với các
thông số cấu hình như sau:
-
Description: tên inbound route
DID number: số điện thoại đón cuộc gọi trên trunk, có thể cấu hình như
patterns ở phần Outbound routes
Set destination: chọn đích đến cho cuộc gọi inbound (IVR, Group,...)
Để đơn giản và kiểm tra cấu hình này, ta cho định tuyến trực tiếp đến máy nhánh
1001.
VoIP Open Source Training Center
22
2.3 Cấu hình các dịch vụ tổng đài nội bộ
2.3.1 Ring Group
Ring Group hay còn gọi là dịch vụ gọi nhóm. Thông thường các công ty phân chia
nhân viên theo các phòng ban chức năng, ví dụ phòng kỹ thuật, phòng kinh doanh, phòng
nhân sự,... và tạo ra các số máy đại diện cho các phòng ban này, ví dụ 601 là số máy chung
của phòng kỹ thuật, 602 là số máy chung của phòng kinh doanh, sau đó thêm các số máy
nhánh của các nhân viên tương ứng trong từng phòng ban vào số của nhóm (số Ring Group).
Nếu người quản trị viên hệ thống tổng đài muốn các phòng ban này nhận cuộc gọi thì chỉ sẽ
định tuyến cuộc gọi vào các Ring Group 601, 602, lúc đó tất cả nhân viên trong các phòng
ban này có thể nhận cuộc gọi đến, thường là cấu hình cho rung tất cả điện thoại của nhân
viên, nhân viên nào bắt máy thì sẽ kết nối với khách hàng.
Để tạo một Ring Group chọn PBX ⇨ PBX Configuration ⇨ Ring Groups với các thông số
như sau:
-
Group description: tên nhóm
Ring Strategy: cách rung chuông các ext trong nhóm
Ring max time: thời gian rung chuông tối đa
VoIP Open Source Training Center
23
-
Extension List: danh sách các ext trong nhóm
Announcement: file ghi âm lời chào của nhóm
Ví dụ: tạo ring group 601 cho phòng kỹ thuật với hai nhân viên có số nội bộ là 1001
và 1002, ring group 602 cho phòng kinh doanh với hai nhân viên có số nội bộ là 1003 và
1004.
2.3.2 System Recordings
Phần này quản lý tất cả các file âm thanh cần thêm vào hệ thống. Để upload file âm
thanh lên hệ thống cần lưu ý phải ghi âm đúng định dạng 16 bit, 8000 Hz thì Asterisk mới
đọc được. Vào mục PBX ⇨ PBX Configuration ⇨ System Recordings, chọn file âm thanh
sau đó bấm vào Upload. Sau khi upload thành công thì chỉ cần đặt tên file âm thanh và bấm
vào Save để lưu lại.
VoIP Open Source Training Center
24